Bruce Hill
ac8089dd58
Fixed typo.
2018-01-23 15:25:31 -08:00
Bruce Hill
ca07d84b4c
Added scratch folder to .gitignore
2018-01-19 17:28:47 -08:00
Bruce Hill
d888b1134a
Added more info to error message.
2018-01-19 15:12:00 -08:00
Bruce Hill
6021f04490
Fix for lua parsing of long strings/table literals.
2018-01-18 16:44:32 -08:00
Bruce Hill
f91d06d9fa
Initial commit of object oriented classes.
2018-01-18 01:49:27 -08:00
Bruce Hill
12cc294c7a
Fixed some minor bugs that made generated nomsu uglier.
2018-01-17 16:45:29 -08:00
Bruce Hill
8bbebb8735
Completely fixed/reworked tree_to_nomsu, and it's okay right now.
2018-01-17 16:37:27 -08:00
Bruce Hill
d82c4f85d8
Added support for translating comments instead of dropping them.
2018-01-15 15:50:32 -08:00
Bruce Hill
5a526675db
Better usage of ACTION_METADATA and deprecating nomsu.defs.
2018-01-12 19:28:19 -08:00
Bruce Hill
90c72074db
Renamed replaced_vars() to be more descriptive.
2018-01-12 16:45:49 -08:00
Bruce Hill
4b6d35aa9f
Rebuild.
2018-01-12 16:33:42 -08:00
Bruce Hill
6b09187899
Switched to use load() with environment table instead of passing in
...
nomsu to everything. This has some nice code cleanliness benefits.
2018-01-12 16:33:11 -08:00
Bruce Hill
06bf76f818
Truncated debug output for readability.
2018-01-11 18:48:43 -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
c575ad1041
Rebuilt.
2018-01-11 02:08:41 -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
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
eaea9c0599
Recompiled.
2017-12-18 16:25: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
ce398c255a
Rebuild.
2017-12-14 14:08:07 -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
0f0dcaac37
Recompiled.
2017-12-09 16:00:09 -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
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