Commit Graph

28 Commits

Author SHA1 Message Date
Bruce Hill
3c510e4ee5 Lots of optimizations and simplifications, especially towards getting
better performance on luajit.
2018-06-12 18:04:41 -07:00
Bruce Hill
b5fb8933af Removed dependency on 'immutable' library. This lets LuaJIT do more
aggressive optimizations and generally helps performance. Some safety is
lost, but I think the performance gains, reduced complexity, and reduced
dependencies are worth it.
2018-06-12 15:14:07 -07:00
Bruce Hill
810ae220bc Added list/dict metatables to make comparison and string representations
simpler. Also deleted Counters.
2018-06-06 13:25:34 -07:00
Bruce Hill
e7bdc35aa8 Cleanups to try/catch logic and object logic. 2018-06-04 17:23:13 -07:00
Bruce Hill
b53516c47c Simplified and correctified lib/object (though the codegen still need
streamlining), added a .stub member to Action trees, and switched
Source's repr to be @filename[start:stop] instead of
"filename[start:stop]"
2018-05-30 17:21:19 -07:00
Bruce Hill
2e15c0fd50 Some tweaks/cleanup on the nomsu code as well as adding variable
mangling to 'parse % as %' to make almost hygienic macros.
2018-05-27 18:29:23 -07:00
Bruce Hill
8cb2788e0d Re-added sources. 2018-05-26 15:04:38 -07:00
Bruce Hill
2e345e271f Misc changes, fixed up Object lib and tests. 2018-05-24 14:57:35 -07:00
Bruce Hill
6f6c4377b2 Initial working version. 2018-05-16 18:13:02 -07:00
Bruce Hill
3ffeaf1f5d Removed "for all"-style iteration and changed "for % from 1 to 10"-style
to "for % in 1 to 10" for consistency.
2018-05-15 20:33:07 -07:00
Bruce Hill
01aa199f7a Adding support for coroutines, and cleaning up comment syntax. 2018-05-15 16:36:38 -07:00
Bruce Hill
28cd9ae0b7 More API cleanup, and fixed a bug with optimized lua files generating
spurious circular import errors.
2018-05-15 15:22:03 -07:00
Bruce Hill
ae979c3718 Minor cleanups changes. 2018-05-15 14:53:42 -07:00
Bruce Hill
ca1cfb5650 Added scoping test. 2018-05-10 22:50:50 -07:00
Bruce Hill
4126589afe Cleanup: removed "File" type trees (now just Block), overhauled
how_do_i.nom, added "result of %" macro, which allowed comprehensions to
be way more concisely defined. Moved len() operator into the nomsu
environment.
2018-05-10 22:47:18 -07:00
Bruce Hill
602aacf8d8 Renamed "export" to "external" 2018-05-09 20:35:40 -07:00
Bruce Hill
bf60ac28c5 Overhaul with smaller, more concise codebase around defining
actions/macros, and deleting some dead code.
2018-05-03 21:56:31 -07:00
Bruce Hill
35a5539185 Fix for math expression parsing 2018-04-30 14:50:43 -07:00
Bruce Hill
df9a82a971 Overhaul of command-line API. It's a bit cleaner now. 2018-04-28 17:08:44 -07:00
Bruce Hill
b54829de36 Better text interpolation/handling of "\". Also added syntax support for
(statement; statement)
2018-04-27 16:45:35 -07:00
Bruce Hill
5d59d510cd Removing end-of-line ":" and "(..)" for blocks (they just use
indentation now).
2018-04-25 16:31:09 -07:00
Bruce Hill
da33269c30 All tests passing (except object) 2018-04-19 17:23:54 -07:00
Bruce Hill
fd621a1062 Cleaned up LHS of "." operator to avoid adding unnecessary parens so
Lua's parser doesn't get confused by (x).y = 1.
2018-04-08 15:41:55 -07:00
Bruce Hill
df3da8ed59 Added unicode test. 2018-02-07 14:24:33 -08:00
Bruce Hill
505fec2a61 Restructured the nomsu files to group all the essentials into core/ and
all the optionals into lib/. lib/core.nom and tests/all.nom are no
longer needed now.
2018-02-02 15:49:42 -08:00
Bruce Hill
f1d4a568a3 Added test for OO. 2018-01-31 15:31:31 -08:00
Bruce Hill
99ccd0e0a4 Fixed error->barf 2018-01-29 15:16:08 -08:00
Bruce Hill
90c56d3135 Added a ton of tests for virtually all the functionality. Helped me find
and fix a lot of latent problems.
2018-01-26 20:20:38 -08:00