Commit Graph

79 Commits

Author SHA1 Message Date
0b082397bb Fixed typo. 2018-11-23 15:32:53 -08:00
f304138530 Deduplicated goto label syntax (now just use (--- (label) ---)) 2018-11-19 17:44:46 -08:00
a89d69e843 Autoformatted/auto-upgraded. 2018-11-19 17:37:37 -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
81fda96301 Updated to use 'set' syntax instead of ": yes" 2018-11-11 16:45:48 -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
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
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
b43432e647 Fixed all syntax errors, got original (non-nomnom) tests passing. 2018-09-26 13:05:47 -07:00
f2048235f5 Incremental checkin, currently not working, just saving progress. 2018-09-21 00:30:44 -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
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
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
5ee9bcb7fb Upgraded version to 3.5.5.6, corresponding to Object Oriented changes. 2018-08-28 15:34:45 -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
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
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
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
295a25a3ed Fixed accidental change. 2018-07-12 21:43:12 -07:00
Bruce Hill
af62e3e8bf All tests passing. 2018-07-12 21:24:13 -07:00
Bruce Hill
ba2b83d566 Fixed nomsu codegen for indented text and improved text parsing. Also
moved some more tests inline.
2018-07-11 14:14:16 -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
Bruce Hill
d73cbf0aa5 Cleanups. 2018-06-20 15:22:06 -07:00
Bruce Hill
7f98262dfa Minor cleanups 2018-06-18 18:39:25 -07:00
Bruce Hill
f83cc3ad8a More streamlining and cleanup. 2018-06-18 18:11:09 -07:00
Bruce Hill
16d127abb5 Initial working version. 2018-06-18 15:44:35 -07:00