aboutsummaryrefslogtreecommitdiff
path: root/core/control_flow.nom
AgeCommit message (Collapse)Author
2018-11-09No longer passing `tree` to every compile action. Now, you can justBruce Hill
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-09Deprecating (% as lua statements) and (% as lua return)Bruce Hill
2018-11-09Lots of cleanups, including expanded use of (... compiles to "textBruce Hill
literal") shorthand, deprecating Lua value, and more use of Lua "..." with text interpolations.
2018-11-08Major overhaul, splitting nomsu_compiler into nomsu_environment,Bruce Hill
nomsu_compiler, and nomsu_decompiler. Also added comprehensions.
2018-11-06Removed utils.lua, simplified some metaprogramming stuff, added native supportBruce Hill
for calling functions with (%a %b %c) instead of (call %a with [%b, %c]), renamed _List -> List, _Dict -> Dict, improved example code.
2018-11-02Changed stub convention to (foo 1 baz 2) -> foo_1_baz instead ofBruce Hill
foo_1_baz_2, removed "smext", made some cleanup changes.
2018-10-31Renamed (action %) -> (%'s meaning)Bruce Hill
2018-10-30Fully working version of (action [foo]: baz) -> ((foo) means: baz)Bruce Hill
refactor and misc other changes.
2018-10-29Some cleanups and fixes, made the parser more permissive of prematurelyBruce Hill
terminated files.
2018-09-28Oops, refactor bug.Bruce Hill
2018-09-28Fully working, I think? (with a lot of shims)Bruce Hill
2018-09-28Fixes for indentation of generated lua code.Bruce Hill
2018-09-26Fixed all syntax errors, got original (non-nomnom) tests passing.Bruce Hill
2018-09-21Incremental checkin, currently not working, just saving progress.Bruce Hill
2018-09-16Much better error reporting for compile errors (i.e. not parse errors),Bruce Hill
using the pretty_error system.
2018-09-14Auto-upgraded everything.Bruce Hill
2018-09-10Upgraded to 3.8 (text method changes) and fixed some bugs inBruce Hill
tree_to_nomsu.
2018-09-06Removed the mandatory "_" prefix for Nomsu variables, renamed "list" andBruce Hill
"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-08-30Auto-upgraded to 3.7Bruce Hill
2018-08-29Tweaked version 3.6 to include deprecating list append/removal functionsBruce Hill
in favor of using a method call style.
2018-08-29Fully updated to 3.6, deprecated old LuaCode global functions like "to 1Bruce Hill
write 2" and replaced them with method calls like "1::append 2"
2018-08-28Upgraded version to 3.5.5.6, corresponding to Object Oriented changes.Bruce Hill
2018-08-27Bunch of miscellaneous changes. Paved the way a little bit for havingBruce Hill
different compiler domains.
2018-07-30Added compatibility for 2.5.5.5 (file hash changes).Bruce Hill
2018-07-30Changed autoformatting rules to ensure tests get clumped together withBruce Hill
the thing below them.
2018-07-25Updated version numbers.Bruce Hill
2018-07-24Added parens around lambdas (% -> %), and removed them from 'result %'Bruce Hill
correspondingly.
2018-07-23Fixed blocks starting with extra newline when they start with a comment.Bruce Hill
2018-07-22Re-autoformatted everything. The main changes are: no longer adding aBruce Hill
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-22Shifting further towards having inline tests. Also added a helperBruce Hill
function for directly extracting source lines from a Source or AST.
2018-07-20Auto-formatted and auto-upgraded everything!Bruce Hill
2018-07-18Updating to version 2.4.4.3, with new syntax for multi-statement 'if'Bruce Hill
and switch statements.
2018-07-18Upgrading to version 2.3 (main change: "=" instead of "<-" forBruce Hill
assignment)
2018-07-17Upgraded core code to latest Nomsu verison.Bruce Hill
2018-07-15Major changes to how versioning and parsing work. This should be aBruce Hill
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-12Fixed accidental change.Bruce Hill
2018-07-12All tests passing.Bruce Hill
2018-07-11Fixed nomsu codegen for indented text and improved text parsing. AlsoBruce Hill
moved some more tests inline.
2018-06-26Cleaning up metaprogramming a bit and fixing/adding test for recursionBruce Hill
control flow.
2018-06-21Cleanup of some metaprogramming stuff, as well as adding support forBruce Hill
"package.nomsupath" to search for files in different locations, and prioritizing use of "luafilesystem" over system calls.
2018-06-20Cleanups.Bruce Hill
2018-06-18Minor cleanupsBruce Hill
2018-06-18More streamlining and cleanup.Bruce Hill
2018-06-18Initial working version.Bruce Hill
2018-06-14Some cleanup and fixes. Simplifying a lot of code, and extending theBruce Hill
flexibility of scoping. Redesigned Object system too.
2018-06-14Reshuffling some files.Bruce Hill
2018-06-14More streamlining and cleanup. Especially for core/metaprogramming.nomBruce Hill
2018-06-12Lots of optimizations and simplifications, especially towards gettingBruce Hill
better performance on luajit.
2018-06-12Tidying up exceptions and error reporting. Also simplified the grammar aBruce Hill
tiny bit.
2018-06-04Switched from Node(Tuple(values...), source) to Node(source, values...),Bruce Hill
thanks to support from immutable-tables for mixed tables.