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
ea3197aaff
Fully working version of (action [foo]: baz) -> ((foo) means: baz)
...
refactor and misc other changes.
2018-10-30 23:42:36 -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
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
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
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
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
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
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
c7c657d38f
Prep work for next big upgrade, including adding a shorthand for
...
upgrading actions similarly to 'parse % as %'
2018-07-18 01:04:57 -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
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
3fd5687370
Fixed up line numbers for generated code.
2018-07-10 17:10:59 -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
dbf3de3d8e
Added versioning system.
2018-06-23 00:57:39 -07:00
Bruce Hill
d73cbf0aa5
Cleanups.
2018-06-20 15:22:06 -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
Bruce Hill
82cfd3e54b
More streamlining and cleanup. Especially for core/metaprogramming.nom
2018-06-14 21:59:43 -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
83183122f1
Optimizations and cleanup. Build script now fails on first error and
...
uses the precompiled versions it has just compiled.
2018-06-04 20:44:58 -07:00
Bruce Hill
b3df63eb10
Added 'for (%k,%v) in ...' alias for 'for %k = %v in ...'
2018-05-30 14:08:30 -07:00
Bruce Hill
f9229c5e91
Better parse error reporting.
2018-05-30 13:07:15 -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
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
0a95a264e5
Cleaning up comments.
2018-05-15 18:56:00 -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
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
680006b25a
Switched to use "." syntax.
2018-04-08 16:01:28 -07:00
Bruce Hill
667e5f3f81
Fixed bug with iteration over range that starts after 1, and added an
...
append alias that puts the list first.
2018-02-05 15:10:53 -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