Commit Graph

47 Commits

Author SHA1 Message Date
p f0156897c8 Add a REPL for toying around 2017-05-21 13:19:50 +02:00
p 455845d078 Split out the interpreter 2017-05-21 13:19:49 +02:00
p b31526d6ba Fix combined operators 2017-05-21 13:19:49 +02:00
p e1ec59043e Update README 2017-05-21 13:19:49 +02:00
p 8487afe7ef Add numerical comparisons 2017-05-21 13:19:49 +02:00
p 5383dfac9c Add "ne?", "ge?", "le?", "gt?"
At least in some form.
2017-05-21 13:19:49 +02:00
p 04364b75ea Add "eq?" and "lt?" 2017-05-21 13:19:48 +02:00
p c8e3e2eed6 Add boolean operators 2017-05-21 13:19:48 +02:00
p 792deba5f3 Omit trailing zeros when not necessary 2017-05-21 13:19:48 +02:00
p 9eb2967340 Add arithmetics 2017-05-21 13:19:48 +02:00
p 16a4c3b21a Add "system" 2017-05-21 13:19:48 +02:00
p c7b06a490f Move native functions into the context 2017-05-21 13:19:48 +02:00
p 0f4ece8867 Add "break" for breaking out of loops 2017-05-21 13:19:48 +02:00
p 1caec277bf set() can unset now
Fixing two bugs with this commit.
2017-05-21 13:19:48 +02:00
p 706f452d9d Fix memory leak on evaluation error 2017-05-21 13:19:48 +02:00
p 567c3d8dc2 Fix missing argument values 2017-05-21 13:19:48 +02:00
p 4d15d9cc6b Fix invalid memory access in debug code 2017-05-21 13:19:47 +02:00
p cbce0d6498 Fix for, map, filter 2017-05-21 13:19:47 +02:00
p 7e8bfbf9b9 Make ; a synonym for a newline 2017-05-21 13:19:47 +02:00
p 5307d24315 Slightly fix fn_concatenate() 2017-05-21 13:19:47 +02:00
p d2155031d0 Implement if, for, map, filter 2017-05-21 13:19:47 +02:00
p f0337aa481 Do away with POSIX 2017-05-21 13:19:47 +02:00
p fedde03f1e Decided: () is our nil/undef 2017-05-21 13:19:47 +02:00
p 23da396614 General cleanup
Memory allocation errors seem to be handled now.
2017-05-21 13:19:47 +02:00
p 3c86249f11 General cleanup
With the exception of memory handling, ell looks pretty fine now.
2017-05-21 13:19:47 +02:00
p 158b8fffeb Rethink the parse() function
Now the parser should handle memory allocation failures properly.
2017-05-21 13:19:47 +02:00
p 5d5042fdec Add allocation error handling to the parser 2017-05-21 13:19:46 +02:00
p 846f560979 Mark memory allocation issues in the parser 2017-05-21 13:19:46 +02:00
p e9b426db41 Parsing should not create a new list
The resulting program is already a sequence.
2017-05-21 13:19:46 +02:00
p 53810d61f2 Get rid of lexer_error() 2017-05-21 13:19:46 +02:00
p e76b7139ff Move memory allocation out of the lexer
Mostly.
2017-05-21 13:19:46 +02:00
p a626fcb86a Formatting 2017-05-21 13:19:46 +02:00
p 9c3bc6d2c2 Add built binary to .gitignore 2017-05-21 13:19:46 +02:00
p f47623abda Load scripts from files
And various fixes.
2017-05-21 13:19:46 +02:00
p 7f9e8b2cbc Various cleanup 2017-05-21 13:19:46 +02:00
p 365d6e69e1 Various mostly safety fixes 2017-05-21 13:19:45 +02:00
p 5963b99c3e Hello world works 2017-05-21 13:19:45 +02:00
p 3ecceb8902 Improve robustness 2017-05-21 13:19:45 +02:00
p c47581a922 Update README 2017-05-21 13:19:45 +02:00
p 329f604204 Split native functions from non-native 2017-05-21 13:19:45 +02:00
p 44b97f61c1 Implement debug print of parsed program 2017-05-21 13:19:45 +02:00
p a193934674 Write the parser
Came out much simpler than what it used to parse originally.
2017-05-21 13:19:45 +02:00
p 795cb42cc5 Make sure the lexer works 2017-05-21 13:19:45 +02:00
p f7bce11c70 Make it compile 2017-05-21 13:19:45 +02:00
p e290683f0c Get rid of the "script" parser
Since it is largely incompatible with what we're doing.
2017-05-21 13:19:45 +02:00
p a5f00256b0 Make this look like a project 2017-05-21 13:19:44 +02:00
p 75ff8091aa Initial commit
Nothing is working.
2017-05-21 13:19:44 +02:00