40 Ревизии (67481dc7e4f2385c54dec7d714249e2dc930e40e)
 

Автор SHA1 Съобщение Дата
  MaximeBarniaudy 67481dc7e4 Add missing evals to bounds of ForFromTo loop преди 1 година
  MaximeBarniaudy 7eb00e015e parser circularity преди 1 година
  MaximeBarniaudy 77f8de4437 dotdot got lost in merging преди 1 година
  MaximeBarniaudy 1c867bdf6c Add Invoke and GetProp преди 1 година
  MaximeBarniaudy 2194c7a78a Minimal grammar parsing преди 1 година
  MaximeBarniaudy d09f20293f Add an intern primitive for symbol creation преди 1 година
  MaximeBarniaudy 279df04875 Fix range access overshadowing key access преди 1 година
  WitherFlower d3093ccd24 Merge range access and grammar parser changes преди 1 година
  Ian Piumarta 2fcfaa962b Primitives have a unique integer index to identify them. Add String_appendString(base, ext) with the obvious behaviour. Rename newStringEscaped -> newStringUnescaped to describe its operation not its input. Add String_escaped() to replace non-graphic characters. Add String_push() to append characters or strings. Add __primitives__ containing an array of all primitives. Add reverseString() that reverse a string in-place. Add reverseObject() that reverses an object in-place. Add reversed() that returns a reversed copy of an object or string. Fix Let_codeOn() to avoid the # in front of the variable name. Add /* ... */ syntax for multi-line, nesting comments. Add method String.new() to make a new, empty string. Add methods String.escaped(), String.unescaped(). Add method String.push() to append a character or another string. Add method String.pop() to remove and return the last character. Add methods String.asInteger(), String.asFloat(), String.asSymbol(). Provide an implementation of strnstr() for C libraries that lack it. Add method Object.includes() that searches indexable part of an object. Add method String.includes() that searches for characters or strings. Add String.sliced(start, stop) that returns a sub-string. Add method Symbol.asString(). Add method Object.findKey(). Add primitive reversed(). Add methods Symbol.getopt() and Symbol.setopt(). Add method Symbol.defined() that checks the global value, whereas the defined() primitive checks all visible bindings. Add method Symbol.define() to set the global value. Add method Symbol.value() to retrieve the global value. Add method Symbol.allInstances(). преди 1 година
  Ian Piumarta cd992e141e Include profile guided optimisation workload. преди 1 година
  Ian Piumarta f75c06ca3e Target minproto-opt built with TYPECODES and DELOPT enabled. Target release profiles with -O to disable backtrace. преди 1 година
  Ian Piumarta 09c41142f3 <type>.eval methods are installed in all built-in object types when TYPECODES=1. println() prints object properties in alphabetical order. преди 1 година
  Ian Piumarta c5c29bdbb0 Add release target that uses profile guided optimisation. преди 1 година
  Ian Piumarta 5e59fa586e Restore original benchmark size and number of repeats. преди 1 година
  Ian Piumarta 4ac12f91c5 Add symbols #O, #d, #v and Symbol.setop() primitive. Add primitive method Symbol.setopt(N) to set command-line option at runtime. Add primitive method Symbol.defined() to test if a variable name has been defined. Overload primitive "+" to concatenate strings. Add stack of namespaces, initialised to empty object. refvar() and getvar() search namespaces, from most to least recent, when looking for global variables. setvar() always defines globals in the most recent namespace regardless of any existing shadowed definitions. Make OBJ::NAME a synonym for OBJ.NAME except that OBJ::NAME() applies a function whereas OBJ.NAME() invokes method NAME on OBJ. Add primitive error() to print source location, error message, and backtrace. преди 1 година
  Ian Piumarta 2761c99ce2 Object.dump() uses Object.allKeys() instead of Object.keys(). преди 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 ff3dda9f83 Include recent results as comments. преди 1 година
  Ian Piumarta 956adf81e4 Define _GNU_SOURCE to expose qsort_r(). преди 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 5b1ec1d738 Test user-defined AST nodes. преди 1 година
  Ian Piumarta 6ba66daa8b Test user-defined AST nodes. преди 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 82a4828985 Make sieve be local, not global. преди 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 a81312c139 Ignore more irrelevant stuff. преди 1 година
  Ian Piumarta 4a3abfc8c1 Remove makeForm(). Use Closure.fixed property to change assert/refute closures into a special forms. преди 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 48f7707b56 Ignore irrelevant files. преди 1 година
  Ian Piumarta 7d3350b71b Run test on file, not on stdin. преди 1 година
  Ian Piumarta bc3aae1dcb Block_eval() executes its body in a new environment преди 1 година
  Ian Piumarta ec29069aa4 import files преди 1 година
  piumarta b5521793cd Initial commit преди 1 година