Commit Graph

117 Commits

Author SHA1 Message Date
Bruce Hill
06bf76f818 Truncated debug output for readability. 2018-01-11 18:48:43 -08:00
Bruce Hill
425f4ed7a7 Added todo. 2018-01-11 15:34:54 -08:00
Bruce Hill
ba87104202 Fixed require->use, updated TODO. 2018-01-11 14:07:14 -08:00
Bruce Hill
756c1f718e Renamed "require %" to "use %" 2018-01-11 03:35:35 -08:00
Bruce Hill
9d8c701441 Added "%'s id" to use UUIDs and changed "% = %" to "set % = %" and some
other misc.
2018-01-11 03:32:12 -08:00
Bruce Hill
1c6b660d6b Updated TODO 2018-01-11 02:10:23 -08:00
Bruce Hill
8c1da9a6c3 Purged references to "macro" and replaced with "compile action" or
"compile-time action".
2018-01-11 02:07:37 -08:00
Bruce Hill
199161a438 Renamed def->define_action and defmacro->define_macro 2018-01-11 01:57:52 -08:00
Bruce Hill
82cc997ddf Renamed rule % = % to action % % 2018-01-11 01:19:03 -08:00
Bruce Hill
6f4b67632a Renamed String -> Text 2018-01-11 01:09:26 -08:00
Bruce Hill
c0333ca315 Overhaul of error reporting and removing nomsu:call(stub, line_no, ...) in favor of nomsu.defs[stub].fn(...) 2018-01-11 01:04:17 -08:00
Bruce Hill
53a9d4eae8 Pretty much mostly working. 2018-01-10 20:45:03 -08:00
Bruce Hill
09b64e0341 Performance optimizations and correctness fix for [=[...]=]-style
strings. Also, require % now properly inserts lua code.
2018-01-10 16:22:45 -08:00
Bruce Hill
ea05cc155e Switched back to using precompiled lua files instead of lua> "..",
because it's noticeably faster.
2018-01-10 13:52:41 -08:00
Bruce Hill
787c7c5a6c Propagating filename 2018-01-09 16:30:29 -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
87b93f4aba Added nomsu:assert() 2018-01-05 15:23:18 -08:00
Bruce Hill
de668ce174 Low hanging optimization fruit. 2018-01-05 14:56:35 -08:00
Bruce Hill
8cc1262504 Updated examples and made operator characters not stick to each other.
Useful for <%x>=6 properly registering as <%x> = 6.
2018-01-03 19:26:41 -08:00
Bruce Hill
b2ddc1d768 Added support for \000 and \x00 style byte literals. 2018-01-03 17:23: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
611a8c87f3 renamed utils2 -> utils 2017-12-18 16:26:26 -08:00
Bruce Hill
b859e643fc Optimized utils and cleaned up a bit. 2017-12-18 16:19:56 -08:00
Bruce Hill
3c303018bb Tweaks. 2017-12-15 15:30:05 -08:00
Bruce Hill
28f5c31299 Switched compiler to do lua> instead of lua files. 2017-12-14 16:41:22 -08:00
Bruce Hill
49adc12952 Minor fix. 2017-12-14 14:26:24 -08:00
Bruce Hill
4ee1a13e52 Changed flags from -f to force nonoptimized to -O to use optimized. 2017-12-14 14:07:03 -08:00
Bruce Hill
536a3ba649 Got it working. 2017-12-13 16:29:15 -08:00
Bruce Hill
0c1c406ce0 More updates with more functional macros and source code storage. 2017-12-11 17:53:23 -08:00
Bruce Hill
ab9af11ec3 Even cleaner support for __src__ 2017-12-09 15:51:28 -08:00
Bruce Hill
96441251c4 Pretty much everything is working?? 2017-12-09 15:34:52 -08:00
Bruce Hill
28b6bc1883 Simplified parser by removing prev_edge. 2017-12-08 15:39:05 -08:00
Bruce Hill
8da2b1d64c Added unicode support and cleaned up the parser a bit. 2017-12-08 15:37:36 -08:00
Bruce Hill
5903820699 Incremental progress towards working. 2017-12-04 17:54:52 -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
8c0816995a Added empty string check. 2017-11-01 20:11:44 -07:00
Bruce Hill
f1a2c936de Fixed some codegen stuff, optimized "say" for the common case of string
literals.
2017-11-01 16:49:11 -07:00
Bruce Hill
b0072e6dcf Added local var persistence for REPL. 2017-10-31 18:35:40 -07:00
Bruce Hill
6ba79a8ff1 Added support for serializing rules. 2017-10-31 16:19:08 -07:00
Bruce Hill
c1ec00d5fc Changed it so variables can't contain wordbreakers anymore. 2017-10-30 14:08:23 -07:00
Bruce Hill
2197da3028 Updated comments. 2017-10-23 14:55:12 -07:00
Bruce Hill
28a6446c66 Added tree_to_nomsu() and improved codegen by compiling \foo to
nomsu:parse("foo") and removing some newlines.
2017-10-22 18:40:49 -07:00
Bruce Hill
3d81837261 Made it so nomsu only runs REPL with -i 2017-10-20 15:17:57 -07:00
Bruce Hill
c6819cf1e9 More callstack fixin 2017-10-20 15:10:04 -07:00
Bruce Hill
b909dce5d1 Fix for callstack. 2017-10-20 15:07:57 -07:00
Bruce Hill
ca5896b7bd Finally fixed the bullshit way that string literals were converted to lua. 2017-10-19 18:16:15 -07:00