18 Ревизии (9e62769e4f9258f7c1dd30c40bdbda148ca83d0d)

Автор SHA1 Съобщение Дата
  MaximeBarniaudy 9e62769e4f dotdot got lost in merging преди 1 година
  MaximeBarniaudy f956a50a4c Add an intern primitive for symbol creation преди 1 година
  MaximeBarniaudy c110c4cc5d Fix range access overshadowing key access преди 1 година
  WitherFlower d47dfe2127 Merge range access and grammar parser changes преди 1 година
  Ian Piumarta 31e6d2ff3d Primitives have correct names. Primitive Object.keys() returns properties that do not begin with "__". Add method Object.allKeys() that returns properties that do not begin with "__". Add method Object.sorted() to sort indexable elements. Add function sorted() for String and Object. Relations do not consider strings and symbols to be comparable. Printing strings does not include quotation marks at indentation levels 0 and 1. Printing strings escapes control characters at indentation levels other than 0 and 1. Rename SetVar.expr to SetVar.value to be consistent with SetProp and SetArray. Add RefVar, RefProp, RefArray that compute address of assignable value. Add Binops for autoincrement and assignment operators. Any expression can be the subject of increment or assignment operator. Enforce lvalue for increment and assignment operators by semanic check, not in syntax. String literals can contain escaped quotation marks. Keyword:value pairs in parameter lists provide arbitray expressions as default parameter values. Evaluate and assign default parameters values in apply(). преди 1 година
  Ian Piumarta 9cc8c3e572 Top-level expressions use the value of symbol __globals__ as the base environment instead of nil. Fix off-by-1 error in nlrPush(). Object.keys() returns keys in alphabetical order. преди 1 година
  Ian Piumarta 057733b85f Binary operators store pointer to implementation to avoid operator selection during eval. преди 1 година
  Ian Piumarta 2f164a3100 Use spaces instead of tabs to preserve visual alignment in broken tools. преди 1 година
  Ian Piumarta 30facb810c Add auto increment/decrement and assignment operators. преди 1 година
  Ian Piumarta 4d570df59e ForToFrom performs update step after continue. преди 1 година
  Ian Piumarta 5ca296eb47 Add return, break, and continue. преди 1 година
  Ian Piumarta 57fe021082 All symbols created with UNDEFINED_TYPECODE by default. AST nodes with undefined typecode are evaluated by invoking the method __eval__ on the node. Typecode is looked up in the immediate delegate of a node only. Object.__eval__() is primitive and returns self. преди 1 година
  Ian Piumarta 4a959a124f Accessing an undefined variable causes a fatal error. преди 1 година
  Ian Piumarta ddff3e48e8 Add "let name = value, ... ;" to create local variables. преди 1 година
  Ian Piumarta 3c992f4a13 Remove primitive makeForm (because Closure.fixed is now accessibe from userland). преди 1 година
  Ian Piumarta 72753c6725 All fields of Lambda and Closure are accessible via Object_{get,put}. преди 1 година
  Ian Piumarta bc3aae1dcb Block_eval() executes its body in a new environment преди 1 година
  Ian Piumarta ec29069aa4 import files преди 1 година