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
b1c6354464
Added substring operator %x|start - stop|
2018-01-07 16:51:29 -08:00
Bruce Hill
a4c8e5ce65
Removed semicolons and compound statements, added support for (foo: a b)
...
style syntax for thunks that continue till the end of paren groups.
2018-01-07 16:47:14 -08:00
Bruce Hill
2df539a762
More cleanup of vars.XX -> \%XX
2018-01-05 15:45:46 -08:00
Bruce Hill
139bd76efc
Cleaning up vars.XX use and removing typecheck.
2018-01-05 15:42:06 -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
cd4196d365
Tidying.
2018-01-03 01:04:21 -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
3bd12b5331
Changed gitignore for nomc files.
2017-12-30 15:48:32 -08:00
Bruce Hill
3fbfc85e04
Updated build script.
2017-12-30 14:32:39 -08:00
Bruce Hill
4789892824
Got everything mostly working.
2017-12-30 14:31:07 -08:00
Bruce Hill
21a6314e27
Tweaked repr and added a depth parameter.
2017-12-18 16:50:31 -08:00
Bruce Hill
0987fde8e7
Improved documentation and compile script.
2017-12-18 16:45:46 -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
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
340714635a
Updated gitignore to use .compiled.nom
2017-12-14 16:55:22 -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
4ee1a13e52
Changed flags from -f to force nonoptimized to -O to use optimized.
2017-12-14 14:07:03 -08:00
Bruce Hill
1111210047
Updating some more stuff.
2017-12-14 13:57:53 -08:00
Bruce Hill
10659d2f37
Updated how do I.
2017-12-14 13:54:31 -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
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
3ae1f696aa
Fixed remove rule rule.
2017-11-01 20:00:52 -07:00
Bruce Hill
87b2cce8e5
Added remove rule rule.
2017-11-01 19:59:44 -07:00
Bruce Hill
fb3936269f
Removed broken code.
2017-11-01 16:49:52 -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
cbd876673a
Added gsub.
2017-11-01 15:58:19 -07:00