Přemysl Eric Janouch
4358e6f324
Simplify runtime library initialization
...
And remove the error printing side effect, just like that, at a cost.
2017-05-25 19:41:27 +02:00
Přemysl Eric Janouch
5ae69c1cfc
Finish implementation of printing
...
Now readds all syntax sugar and quotes strings properly.
Removed automatic line breaking and indenting since it is complicated.
Removed #ifndef since it stopped making any sense.
2017-05-25 18:57:01 +02:00
Přemysl Eric Janouch
76df28e492
Fix "if"
...
Blocks didn't work.
2017-05-25 15:01:21 +02:00
Přemysl Eric Janouch
a621de2d50
Update README
2017-05-25 14:38:43 +02:00
Přemysl Eric Janouch
1de758b6d6
Replace for/break with a try/throw mechanism
2017-05-25 13:52:41 +02:00
Přemysl Eric Janouch
aa4b4391f3
Cleanup
2017-05-25 13:52:13 +02:00
Přemysl Eric Janouch
6cce0e5595
Add try/throw
2017-05-25 13:51:47 +02:00
Přemysl Eric Janouch
cc302bc17c
Fix "-"
2017-05-25 13:50:42 +02:00
Přemysl Eric Janouch
3929106e5d
Add "parse"
2017-05-25 13:50:26 +02:00
Přemysl Eric Janouch
1f71c5202c
Make setting "set" also return the value
2017-05-25 13:49:32 +02:00
Přemysl Eric Janouch
febefc6c6d
Get rid of "error_is_fatal"
2017-05-25 13:48:56 +02:00
Přemysl Eric Janouch
0d078d7148
Simplify truthy()
2017-05-24 20:54:37 +02:00
Přemysl Eric Janouch
a81d75164a
Make the lexer follow an unsigned string
...
Much safer this way, allows omitting "unsigned char" temporaries.
2017-05-24 20:47:55 +02:00
Přemysl Eric Janouch
c5cd74d910
Simplify the lexer
2017-05-24 20:42:49 +02:00
Přemysl Eric Janouch
383c9d8fd2
Simplify item management
2017-05-24 19:32:18 +02:00
Přemysl Eric Janouch
5314815132
repl: add completion
...
Now it should be fairly useful despite the limitation to single lines.
2017-05-23 18:36:52 +02:00
Přemysl Eric Janouch
fa06aff875
repl: highlight matching parenthesis
2017-05-23 18:08:00 +02:00
Přemysl Eric Janouch
9f51b986d2
"filter" is not a primitive
2017-05-23 17:54:53 +02:00
Přemysl Eric Janouch
120b604abd
Fix "unless"
...
Best of all is, I don't even know why it must be like that.
2017-05-21 18:48:57 +02:00
Přemysl Eric Janouch
2224ca00ad
Refactor argument saving
...
While nothing has been achieved, at least now it should be obvious.
2017-05-21 18:32:28 +02:00
Přemysl Eric Janouch
b9c2a395d9
Fix lies in README
2017-05-21 18:20:12 +02:00
Přemysl Eric Janouch
9ae0e6dc0e
Specify argument in which an error happened
2017-05-21 17:57:31 +02:00
Přemysl Eric Janouch
dae5622955
Remove some ancient stupidity
2017-05-21 17:47:19 +02:00
Přemysl Eric Janouch
ba2e31d81f
Reorganize evaluation code
2017-05-21 17:20:15 +02:00
Přemysl Eric Janouch
1ede1ed686
Fix crash in print_tree()
2017-05-21 17:11:16 +02:00
Přemysl Eric Janouch
1c2db8ad6b
Allow calling literal blocks
2017-05-21 16:20:39 +02:00
Přemysl Eric Janouch
d1d598f968
Update README
2017-05-21 13:37:43 +02:00
Přemysl Eric Janouch
bbdd17885c
repl: slight refactoring
2017-05-21 13:24:54 +02:00
Přemysl Eric Janouch
a529cf262e
Fix backtrace generation
2017-05-21 13:19:50 +02:00
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