Commit Graph

47 Commits

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