c8ccbe5f42
Removed utils.lua, simplified some metaprogramming stuff, added native support
...
for calling functions with (%a %b %c) instead of (call %a with [%b,
%c]), renamed _List -> List, _Dict -> Dict, improved example code.
2018-11-06 15:15:14 -08:00
307dea1881
Changed stub convention to (foo 1 baz 2) -> foo_1_baz instead of
...
foo_1_baz_2, removed "smext", made some cleanup changes.
2018-11-02 14:39:23 -07:00
d0c3c57f7b
Simplified AST to just use a single moonscript class called "SyntaxTree"
...
instead of a different metatable for each type of syntax tree.
2018-10-31 15:54:51 -07:00
7a35e38d87
Renamed (action %) -> (%'s meaning)
2018-10-31 15:05:17 -07:00
ea3197aaff
Fully working version of (action [foo]: baz) -> ((foo) means: baz)
...
refactor and misc other changes.
2018-10-30 23:42:36 -07:00
23abab4f80
Some cleanups and fixes, made the parser more permissive of prematurely
...
terminated files.
2018-10-29 13:00:30 -07:00
0c982d2aa2
Oops, refactor bug.
2018-09-28 22:16:10 -07:00
63d8b1cd3f
Fully working, I think? (with a lot of shims)
2018-09-28 22:15:19 -07:00
84931a6f0e
Fixes for indentation of generated lua code.
2018-09-28 18:34:40 -07:00
dcff9ecfcf
Fix for calling function with non-literal list.
2018-09-26 13:57:13 -07:00
b43432e647
Fixed all syntax errors, got original (non-nomnom) tests passing.
2018-09-26 13:05:47 -07:00
692fae5416
Incremental fixes and more nomnom ports.
2018-09-26 12:45:19 -07:00
f2048235f5
Incremental checkin, currently not working, just saving progress.
2018-09-21 00:30:44 -07:00
Bruce Hill
79d4bd5125
Got rid of repr() use and replaced with :as_lua() or :as_nomsu() in as
...
many places as possible.
2018-09-18 19:49:29 -07:00
Bruce Hill
c1cba45968
Added support for compile actions returning trees, and compiling blocks
...
into values.
2018-09-17 15:30:24 -07:00
Bruce Hill
f225a48367
Much better error reporting for compile errors (i.e. not parse errors),
...
using the pretty_error system.
2018-09-16 17:38:51 -07:00
Bruce Hill
96e5e567cb
Working module system.
2018-09-16 16:57:24 -07:00
Bruce Hill
2282085e13
Initial working version.
2018-09-15 20:20:46 -07:00
Bruce Hill
f8cfdd0f22
Better parsing of strings and handling of non-printable characters and
...
tabs.
2018-09-15 15:39:57 -07:00
Bruce Hill
e22c35681f
Auto-upgraded everything.
2018-09-14 19:17:16 -07:00
Bruce Hill
9e10c8bf00
Removing dead code and string.as_lua_id() (now just set on string
...
metametatable)
2018-09-10 16:37:16 -07:00
Bruce Hill
7c6047254e
Upgraded to 3.8 (text method changes) and fixed some bugs in
...
tree_to_nomsu.
2018-09-10 16:26:27 -07:00
Bruce Hill
43e6523fd4
Shifting towards more text methods instead of text global functions.
...
Also fixed a bug with method call parenthesizing.
2018-09-10 15:56:00 -07:00
Bruce Hill
13923c9d26
Made uuid action public.
2018-09-06 13:32:30 -07:00
Bruce Hill
a35d010dfe
Removed the mandatory "_" prefix for Nomsu variables, renamed "list" and
...
"dict" to "List" and "Dict", or in Nomsu's environment, "_List" and
"_Dict", removed uuid.lua and replaced it with core/id.nom for handling
IDs.
2018-09-06 12:48:16 -07:00
Bruce Hill
e1bc075bb5
Removing the "A_" prefix on action names, and improving the quality of
...
as_lua_id() (guaranteed injectivity).
2018-08-31 15:22:32 -07:00
Bruce Hill
bfb40c02bc
Added test for list addition.
2018-08-30 14:26:32 -07:00
Bruce Hill
18126da9c5
Auto-upgraded to 3.7
2018-08-30 14:16:18 -07:00
Bruce Hill
4f30e02acb
Handling more compatibility stuff, including Lua 5.4, and a backup for
...
if openssl module is not found, and moving containers (List/Dict) into
their own file, as well as bit operators (and support for __bxor, etc.
metamethods in Lua 5.2/LuaJIT)
2018-08-29 19:39:15 -07:00
Bruce Hill
aae5ce31fe
Actually deleting old list modification methods.
2018-08-29 16:05:14 -07:00
Bruce Hill
811fdd6856
Tweaked version 3.6 to include deprecating list append/removal functions
...
in favor of using a method call style.
2018-08-29 16:00:04 -07:00
Bruce Hill
dcb5e8add2
Fully updated to 3.6, deprecated old LuaCode global functions like "to 1
...
write 2" and replaced them with method calls like "1::append 2"
2018-08-29 15:10:27 -07:00
Bruce Hill
23b52bc22d
Intermediate step in upgrading to 3.6. Fixed a bug with upgrading
...
methods.
2018-08-29 15:03:03 -07:00
Bruce Hill
e64632be1a
Switched "as_lua_id" to not add an underscore by default, and just add
...
it manually to variables and A_ as a prefix to actions. Now, by default,
classes and method calls don't use the A_ prefix, which means nomsu can
more easily play nice with regular Lua objects.
2018-08-29 14:20:18 -07:00
Bruce Hill
5ee9bcb7fb
Upgraded version to 3.5.5.6, corresponding to Object Oriented changes.
2018-08-28 15:34:45 -07:00
Bruce Hill
e44acbf338
Lots of overhaul, supporting a new Object Oriented approach (e.g.
...
%obj::action 1 2) and syntax.
2018-08-28 15:08:07 -07:00
Bruce Hill
930d522fbc
Bunch of miscellaneous changes. Paved the way a little bit for having
...
different compiler domains.
2018-08-27 13:39:22 -07:00
Bruce Hill
c6a7b0be9e
Added compatibility for 2.5.5.5 (file hash changes).
2018-07-30 19:39:32 -07:00
Bruce Hill
ab4ebdf175
Changed autoformatting rules to ensure tests get clumped together with
...
the thing below them.
2018-07-30 15:06:03 -07:00
Bruce Hill
7c488dd266
Fixed bitwise operators to work on Lua 5.2 and LuaJIT, and added tests.
...
This is the first case where precompiled code is now platform-dependent.
2018-07-30 14:26:55 -07:00
Bruce Hill
9a948874d0
Removed traceback function so debug library isn't needed.
2018-07-30 14:26:35 -07:00
Bruce Hill
43e8da1780
Simplifying.
2018-07-30 13:54:40 -07:00
Bruce Hill
0d48b5add8
Added parens for correctness and methods for accessing bytes and making
...
uppercase.
2018-07-30 13:52:40 -07:00
Bruce Hill
ed996ad1b6
Switching compile action to parse action for 3-way comparison.
2018-07-26 12:38:17 -07:00
Bruce Hill
a69555bc03
Updated version numbers.
2018-07-25 13:49:17 -07:00
Bruce Hill
723eb9e1f1
Added parens around lambdas (% -> %), and removed them from 'result %'
...
correspondingly.
2018-07-24 13:39:04 -07:00
Bruce Hill
470a6fe7f9
Fixed blocks starting with extra newline when they start with a comment.
2018-07-23 14:41:30 -07:00
Bruce Hill
4c1f0aca7a
Moving all the rest of the tests over to inline versions.
2018-07-22 16:30:49 -07:00
Bruce Hill
04d7edefa3
Adding more inline tests.
2018-07-22 16:13:33 -07:00
Bruce Hill
addac10a47
Re-autoformatted everything. The main changes are: no longer adding a
...
newline after 1-line indented code inside blocks, and forcing files to
have a trailing newline. The trailing newline thing created a lot of
spurious changes.
2018-07-22 15:01:05 -07:00