Commit Graph

146 Commits

Author SHA1 Message Date
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
Bruce Hill
dfd39f0b14 Shifting further towards having inline tests. Also added a helper
function for directly extracting source lines from a Source or AST.
2018-07-22 13:59:08 -07:00
Bruce Hill
ae4670bd8e Improvements working towards better inline tests. Improved handling of
file spoofing and adding -e command line flag for executing a string.
2018-07-21 14:44:26 -07:00
Bruce Hill
6728587dfc Auto-formatted and auto-upgraded everything! 2018-07-20 20:27:27 -07:00
Bruce Hill
24b8649c33 Tweaks to the API for text matching. 2018-07-20 17:56:15 -07:00
Bruce Hill
bf67a61013 Updating to version 2.4.4.3, with new syntax for multi-statement 'if'
and switch statements.
2018-07-18 17:56:15 -07:00
Bruce Hill
d5cfaa37be Upgrading to version 2.3 (main change: "=" instead of "<-" for
assignment)
2018-07-18 01:28:17 -07:00