3e89092833
Some changes to the error API, a fix for statement block parsing, and
...
replacing ((foo 1 baz)'s meaning) with $(foo 1 baz).
2019-01-01 17:17:23 -08:00
b6d3cbd61c
Misc changes, including text indented interpolations are now indented
...
relative to the text, not the opening '("', code objects can now remove
all free vars, the REPL uses global vars. Error API is changing a bit.
2019-01-01 15:07:10 -08:00
faaf5311c8
Updated shebangs
2018-12-31 00:20:07 -08:00
5059c081ac
Auto-upgraded code.
2018-12-30 23:58:47 -08:00
8a3c324087
Update to new syntax.
2018-12-30 19:04:45 -08:00
a7d912a33a
Initial pass on updating syntax.
2018-12-18 19:30:12 -08:00
d3905474c9
Removed EOL comments
2018-12-14 20:54:18 -08:00
4fe63f253f
Auto-updated to version 5
2018-12-14 20:21:03 -08:00
6ba84a0f50
Initial setup work for syntax version 5.
2018-12-14 17:49:46 -08:00
efd743591e
Renamed append/concat_append to add/concat_add for Code objects.
2018-11-29 14:57:56 -08:00
5027bd4f0f
Upgraded/autoformatted.
2018-11-26 16:28:06 -08:00
a89d69e843
Autoformatted/auto-upgraded.
2018-11-19 17:37:37 -08:00
acd1191fb0
Tweaks and API cleanup.
2018-11-19 17:21:17 -08:00
7f47d42040
In-progress (but working) overhaul of some elements including: function
...
calls, lib/thing.nom API, multi-assignments, varargs, etc.
2018-11-17 14:39:08 -08:00
4efe44ed27
Fully upgraded to 4.10.12.7, including deprecating the old list/dict
...
comprehension methods, in favor of the new native support.
2018-11-11 15:50:46 -08:00
69aaea030e
No longer passing tree
to every compile action. Now, you can just
...
return a LuaCode object, and it will automatically get a source from
`tree` if it didn't already have a source. Plus some fixes/cleanup.
2018-11-09 16:41:19 -08:00
a2f07415c5
Deprecating (% as lua statements) and (% as lua return)
2018-11-09 14:48:40 -08:00
7d2b7199d8
Lots of cleanups, including expanded use of (... compiles to "text
...
literal") shorthand, deprecating Lua value, and more use of Lua "..."
with text interpolations.
2018-11-09 14:37:22 -08:00
652c29bdef
Major overhaul, splitting nomsu_compiler into nomsu_environment,
...
nomsu_compiler, and nomsu_decompiler. Also added comprehensions.
2018-11-08 15:24:15 -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
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
63d8b1cd3f
Fully working, I think? (with a lot of shims)
2018-09-28 22:15:19 -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
e22c35681f
Auto-upgraded everything.
2018-09-14 19:17: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
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
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
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
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
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
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
470a6fe7f9
Fixed blocks starting with extra newline when they start with a comment.
2018-07-23 14:41:30 -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
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
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
Bruce Hill
ba639f2bd0
Upgraded core code to latest Nomsu verison.
2018-07-17 23:08:24 -07:00
Bruce Hill
be06fc096a
Major changes to how versioning and parsing work. This should be a
...
better path going forward to handling upgrades. Old syntax files will
stick around for compatibility purposes. Old syntax can be parsed into
valid syntax trees via the old syntax (.peg) files, and then old syntax
trees should be valid and can be upgraded via the normal code path. This
change has lots of improvements to Nomsu codegen too.
2018-07-15 19:43:28 -07:00
Bruce Hill
fa72d7eeb1
Fixing up error reporting and ripping out LDT-specific code (now a
...
debugger can
be provided by a command line flag)
2018-07-10 15:00:35 -07:00
Bruce Hill
65dc1f2196
Cleaning up metaprogramming a bit and fixing/adding test for recursion
...
control flow.
2018-06-26 15:53:00 -07:00
Bruce Hill
86a3219e7f
Cleanup of some metaprogramming stuff, as well as adding support for
...
"package.nomsupath" to search for files in different locations, and
prioritizing use of "luafilesystem" over system calls.
2018-06-21 19:13:47 -07:00