77 İşlemeler (master)
 

Yazar SHA1 Mesaj Tarih
  MaximeBarniaudy c2da606329 Migrate everything to peg vm 10 ay önce
  MaximeBarniaudy 06962d9a48 add do-while and f-string dynamic addition proofs of concepts 10 ay önce
  MaximeBarniaudy 168631e246 Add emitByteCode functions to support using the peg VM, add support for @ actions, automatically generate the minproto.grammar file from minproto.leg and use that in the parser generator. Fix issue with backslashes being stupid. 10 ay önce
  MaximeBarniaudy c3125a863f Move side effect of variable assignment in namespace out of grammar for logic and ease of use reasons 11 ay önce
  MaximeBarniaudy 959c34b7b2 Remove old unused code, and measure parsing speed 11 ay önce
  MaximeBarniaudy 3ef49024c5 Use newest primitives for character class and string matching 11 ay önce
  MaximeBarniaudy b2e4198529 Build Grammar objects whose methods are expression representations of grammar rules 11 ay önce
  MaximeBarniaudy d26d33bf3f Fix errors after SetVar behavior change and let removal 11 ay önce
  MaximeBarniaudy d840010b55 Delare Stream object in C code and add primitive for stream string matching. Also refactor the rollback mechanism in the grammar parser to give responsibility to the right object. 11 ay önce
  MaximeBarniaudy 090142c69c Make grammar_parser.meta use the entire grammar from minproto.leg 11 ay önce
  MaximeBarniaudy b23a65dbb0 Add optional base argument to String.asInteger 11 ay önce
  MaximeBarniaudy 1a7d31d66e Fix error after single quote semantics change 11 ay önce
  MaximeBarniaudy a5b9103da3 Add with and without functions for namespace manimulation, add namespace support to grammars, add test of parser circularity 1 yıl önce
  MaximeBarniaudy 1ec2c7d8ef parser circularity 1 yıl önce
  MaximeBarniaudy dfa680df47 dotdot got lost in merging 1 yıl önce
  MaximeBarniaudy 9851f982cb Add Invoke and GetProp 1 yıl önce
  MaximeBarniaudy 4eeaa54367 Minimal grammar parsing 1 yıl önce
  MaximeBarniaudy d170f243ee Add an intern primitive for symbol creation 1 yıl önce
  WitherFlower 561c1dcb80 Merge range access and grammar parser changes 1 yıl önce
  Ian Piumarta 1acd725af0 Default grammar is part of PEG VM frame. RULE2 and CALL2 change the default grammar for the duration of the rule being called. 10 ay önce
  Ian Piumarta 1bf9944ff1 String literals make fresh copies of themselves every time they are evaluated. 10 ay önce
  Ian Piumarta 4e63df351f bench-sieve.txt repeates 200 times. 10 ay önce
  Ian Piumarta 4065107170 String_append(), _appendAll(), and _format() allocate new memory to allow raw pointers to old content to persist. Add PEG operations TEST (fail if function returns false) and RULE2 (call rule in other grammar). PEG instruction's second operand is object not integer. Initialise top level state.variables with empty object in vmRun(). PEG instruction FAIL removes all actions added by its rule. 10 ay önce
  Ian Piumarta 1fbcf8fd88 Turn off bogus compiler warnings about bounds errors when optimising. 10 ay önce
  Ian Piumarta 7e46198826 Fix double-eval bug in apply(). Grow buffers by more than 1 wherever performance matters. 11 ay önce
  Ian Piumarta ea38861c4d vmCompile() checks that all PC destinations are in range. STRING and CLASS opcodes read the argument length from their string, ignoring the explicit length given in the program. 11 ay önce
  Ian Piumarta 1ea2557f7e Fix digitValue() and reading of numerical escaped characters in strings. Indexing a string always returns an unsigned char value. Add PEG VM and corresponding primitive __match__(). 11 ay önce
  Ian Piumarta c10c320d4e Add profiling support when compiled with PROFILE=1 and command-line option -p to enable profiling. Add [from:to] syntax for array and string slices. Fix passing of environment between primitive and user-defined __eval__ methods. 11 ay önce
  Ian Piumarta 6ae2155b92 Remove let keyword in front of local definition. 11 ay önce
  Ian Piumarta d6a9d2e88f Remove let keyword in front of local definition. 11 ay önce
  Ian Piumarta 2e94543651 Enable profiling when poducing release binary. 11 ay önce
  Ian Piumarta 3d36581570 Include libffi in executable. 11 ay önce
  Ian Piumarta 4b75732a7e Support super.id() to call method id in the delegate of the object in which the currently running method was found. Add __extern__ to support foreign function calls. 11 ay önce
  Ian Piumarta f2e790cb26 Add String.bitSet, .bitClear, .bitInvert, bitTest, .charClass, .compareFrom. 11 ay önce
  Ian Piumarta 1fd5a0be12 New reference output. 11 ay önce
  Ian Piumarta e57242eb5d Prefix 'local' constrins variables to be in current scope. Variable references, inrement operator l-values, and function definitions can all be qualified 'local' or 'global'. 11 ay önce
  Ian Piumarta 4622db9d34 Simplify variable lookup and implicit variable declarations. 11 ay önce
  Ian Piumarta 2983237af0 Object.push(x) returns self, not x. 11 ay önce
  Ian Piumarta 2171f47dce Fold constants during parsing if FOLDCONST=1. 11 ay önce
  Ian Piumarta 4d396d6170 Fix floating point comparison and assignment operators. 11 ay önce
  Ian Piumarta 883a9cf7c2 Remove let and ::. Add global keyword. Add Ref/Get/SetSym. Cast the 0 terminator in genericError to oop to ensure va_arg picks it up. Better error messages for broken statements in blocks and broken expressions in argument lists. 11 ay önce
  Ian Piumarta ea60878c24 Add exception tests. New test.txt reference output. 11 ay önce
  Ian Piumarta dcbef49750 Exceptions are supported with syntax "try {} catch (e) {}", "try {} ensure {}", and "raise e". Add catch to the list of words that can end an expression statement. Most runtime errors are reported using exceptions when EXCEPTIONS=1. Add String_repeat() supporting multiplying a string and an integer. Illegal escape sequence in a string is a warning not an error. Break and continue work properly in while(). ForFromTo evaluates its start and end arguments. Rename primitive fatal() to error(). 11 ay önce
  Ian Piumarta 207ef22fb0 Upate test reference output. 11 ay önce
  Ian Piumarta 46c7ef6f32 Run the first non-option command line argument as the program. Set _argv__ to program name plus any following command-line arguments. 11 ay önce
  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 yıl önce
  Ian Piumarta cd992e141e Include profile guided optimisation workload. 1 yıl önce
  Ian Piumarta f75c06ca3e Target minproto-opt built with TYPECODES and DELOPT enabled. Target release profiles with -O to disable backtrace. 1 yıl önce
  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 yıl önce
  Ian Piumarta c5c29bdbb0 Add release target that uses profile guided optimisation. 1 yıl önce