Commit Graph

26 Commits

Author SHA1 Message Date
Bruce Hill
53a9d4eae8 Pretty much mostly working. 2018-01-10 20:45:03 -08:00
Bruce Hill
421abe1a6f Cleaned up metaprogramming to go "compile to" -> "rule =" -> "parse as".
This speeds things up a bit, and is more intuitive.
2018-01-09 14:59:06 -08:00
Bruce Hill
f97ab858ed Modernized the codebase a bit to include "immediately:" for immediately
running code before further parsing takes place. That means that in the
default case, whole files can be run at once, which makes all but the
weirdest edge cases make a lot more sense and operate smoothly.
2018-01-08 18:53:57 -08:00
Bruce Hill
568a44ef19 Reworking some stuff so that functions only allow expressions to be
return values with either an explicit "return" statement or if they're
the only line in the function, and the line is an expression.
2018-01-07 18:45:27 -08:00
Bruce Hill
c92e5fbc81 Some overhaul of binary operators so that arbitrary math patterns work
fine.
2018-01-07 18:03:37 -08:00
Bruce Hill
2df539a762 More cleanup of vars.XX -> \%XX 2018-01-05 15:45:46 -08:00
Bruce Hill
cfee75b21b Reworked {} a bit and added dicts to the core language. Did some more
testing on string interpolations too.
2018-01-03 00:52:01 -08:00
Bruce Hill
4789892824 Got everything mostly working. 2017-12-30 14:31:07 -08:00
Bruce Hill
536a3ba649 Got it working. 2017-12-13 16:29:15 -08:00
Bruce Hill
b3b8c4d731 Some stuff changed to allow escaped args and some other ports from the
two_defs branch.
2017-12-04 17:35:47 -08:00
Bruce Hill
60a85bbd8b Removed some unnecessary semicolons on keywords. 2017-10-23 16:28:45 -07:00
Bruce Hill
b98059261c Abbreviated "lua code" to "lua>" and "lua expr" to "=lua" and "lua
block" to "lua do>"
2017-10-19 17:00:10 -07:00
Bruce Hill
bccfe9d8e1 Changed tokenizing to treat symbols as their own things. 2017-10-13 19:41:58 -07:00
Bruce Hill
e476bfea52 Improved code generation for "when" statements using elseif, and
improved code generation for loops by omitting goto labels when not used.
2017-10-13 18:09:04 -07:00
Bruce Hill
454bb76e2f Added chain and "with". 2017-10-12 14:39:03 -07:00
Bruce Hill
6a429d7955 Added "unless" to core. 2017-10-07 16:38:13 -07:00
Bruce Hill
dcd3391b36 Updated to undo some of the block/thunk stuff. Thunks are thunks, and
expressions can be grouped with parens, and they have a clear
distinction.
2017-10-02 17:21:22 -07:00
Bruce Hill
e2bbbfe161 More stuff is working more better. 2017-09-29 22:04:03 -07:00
Bruce Hill
ac25e20b9f Kinda mostly working, except for closure vars like in lib/secrets.nom. 2017-09-28 17:49:15 -07:00
Bruce Hill
10d61df78b Making forward progress. 2017-09-26 15:27:01 -07:00
Bruce Hill
af3274ca92 massive overhaul, compiler kinda works. 2017-09-24 20:20:27 -07:00
Bruce Hill
e4660b169c Renamed compiler -> nomsu for concision and clarity. 2017-09-22 11:56:46 -07:00
Bruce Hill
6882862d0f Cleaned up code generation to have less cruft. 2017-09-22 11:44:07 -07:00
Bruce Hill
b387e94a1e Did that. 2017-09-22 00:04:45 -07:00
Bruce Hill
5f2db8da0e Everything fixed up and some reduced lua codespew too! 2017-09-21 02:33:04 -07:00
Bruce Hill
3715481506 Another overhaul, this time pulling all the chunks of the core lib into
their own files.
2017-09-21 00:10:26 -07:00