This website works better with JavaScript.
首頁
探索
說明
登入
MaximeBarniaudy
/
minproto
複製自
piumarta/minproto
關註
1
收藏
0
複製
0
程式碼
問題管理
0
合併請求
0
版本發佈
0
Wiki
Activity
77
Commit
1
分支
4.0 MiB
分支:
master
master
分支列表
標籤列表
${ item.name }
Create branch
${ searchTerm }
from 'master'
${ noResults }
Commit Graph
77 次程式碼提交 (master)
All Branches
搜尋
作者
SHA1
備註
提交日期
MaximeBarniaudy
c2da606329
Migrate everything to peg vm
10 月之前
MaximeBarniaudy
06962d9a48
add do-while and f-string dynamic addition proofs of concepts
10 月之前
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 月之前
MaximeBarniaudy
c3125a863f
Move side effect of variable assignment in namespace out of grammar for logic and ease of use reasons
11 月之前
MaximeBarniaudy
959c34b7b2
Remove old unused code, and measure parsing speed
11 月之前
MaximeBarniaudy
3ef49024c5
Use newest primitives for character class and string matching
11 月之前
MaximeBarniaudy
b2e4198529
Build Grammar objects whose methods are expression representations of grammar rules
11 月之前
MaximeBarniaudy
d26d33bf3f
Fix errors after SetVar behavior change and let removal
11 月之前
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 月之前
MaximeBarniaudy
090142c69c
Make grammar_parser.meta use the entire grammar from minproto.leg
11 月之前
MaximeBarniaudy
b23a65dbb0
Add optional base argument to String.asInteger
11 月之前
MaximeBarniaudy
1a7d31d66e
Fix error after single quote semantics change
11 月之前
MaximeBarniaudy
a5b9103da3
Add with and without functions for namespace manimulation, add namespace support to grammars, add test of parser circularity
1 年之前
MaximeBarniaudy
1ec2c7d8ef
parser circularity
1 年之前
MaximeBarniaudy
dfa680df47
dotdot got lost in merging
1 年之前
MaximeBarniaudy
9851f982cb
Add Invoke and GetProp
1 年之前
MaximeBarniaudy
4eeaa54367
Minimal grammar parsing
1 年之前
MaximeBarniaudy
d170f243ee
Add an intern primitive for symbol creation
1 年之前
WitherFlower
561c1dcb80
Merge range access and grammar parser changes
1 年之前
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 月之前
Ian Piumarta
1bf9944ff1
String literals make fresh copies of themselves every time they are evaluated.
10 月之前
Ian Piumarta
4e63df351f
bench-sieve.txt repeates 200 times.
10 月之前
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 月之前
Ian Piumarta
1fbcf8fd88
Turn off bogus compiler warnings about bounds errors when optimising.
10 月之前
Ian Piumarta
7e46198826
Fix double-eval bug in apply(). Grow buffers by more than 1 wherever performance matters.
11 月之前
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 月之前
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 月之前
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 月之前
Ian Piumarta
6ae2155b92
Remove let keyword in front of local definition.
11 月之前
Ian Piumarta
d6a9d2e88f
Remove let keyword in front of local definition.
11 月之前
Ian Piumarta
2e94543651
Enable profiling when poducing release binary.
11 月之前
Ian Piumarta
3d36581570
Include libffi in executable.
11 月之前
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 月之前
Ian Piumarta
f2e790cb26
Add String.bitSet, .bitClear, .bitInvert, bitTest, .charClass, .compareFrom.
11 月之前
Ian Piumarta
1fd5a0be12
New reference output.
11 月之前
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 月之前
Ian Piumarta
4622db9d34
Simplify variable lookup and implicit variable declarations.
11 月之前
Ian Piumarta
2983237af0
Object.push(x) returns self, not x.
11 月之前
Ian Piumarta
2171f47dce
Fold constants during parsing if FOLDCONST=1.
11 月之前
Ian Piumarta
4d396d6170
Fix floating point comparison and assignment operators.
11 月之前
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 月之前
Ian Piumarta
ea60878c24
Add exception tests. New test.txt reference output.
11 月之前
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 月之前
Ian Piumarta
207ef22fb0
Upate test reference output.
11 月之前
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 月之前
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 年之前
首頁
上一頁
1
2
下一頁
末頁