aboutsummaryrefslogtreecommitdiff
path: root/nomsu_tree.lua
AgeCommit message (Collapse)Author
2018-07-17Overhaul of comment handling, plus a few fixes (e.g. a fix for indentedBruce Hill
text that begins with a nomsu comment)
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-14Fixed up comment generation to old standardsBruce Hill
2018-07-12All tests passing.Bruce Hill
2018-06-18More streamlining and cleanup.Bruce Hill
2018-06-18Initial working version.Bruce Hill
2018-06-14More streamlining and cleanup. Especially for core/metaprogramming.nomBruce Hill
2018-06-13Simplifying code.Bruce Hill
2018-06-12Working version.Bruce Hill
2018-06-12Lots of optimizations and simplifications, especially towards gettingBruce Hill
better performance on luajit.
2018-06-12Removed dependency on 'immutable' library. This lets LuaJIT do moreBruce Hill
aggressive optimizations and generally helps performance. Some safety is lost, but I think the performance gains, reduced complexity, and reduced dependencies are worth it.
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.
2018-05-30Simplified and correctified lib/object (though the codegen still needBruce Hill
streamlining), added a .stub member to Action trees, and switched Source's repr to be @filename[start:stop] instead of "filename[start:stop]"
2018-05-30Moved as_lua_id() onto 'string'Bruce Hill
2018-05-29Cleaned up some asserts for performance.Bruce Hill
2018-05-26Moving back to capturing tables in LPEG and everything is a Source, notBruce Hill
string.
2018-05-26Re-added sources.Bruce Hill
2018-05-24Removed the Word tree type and replaced it with raw strings, sinceBruce Hill
they're only used as part of Actions
2018-05-24Adding some src map building code.Bruce Hill
2018-05-16Moved all the tree->lua and tree->nomsu code back into single functionsBruce Hill
in nomsu.moon, and cleaned up how Vars are treated, since they are not atomic.
2018-05-16Initial working version.Bruce Hill
2018-05-16Converted DictEntry to be an actual tree, instead of a pseudo-tree, made ↵Bruce Hill
'parse % as %' generate lua code with already-substituted tree literals instead of reparsing and substituting at parse time, and made some general optimizations.
2018-05-15More API cleanup, and fixed a bug with optimized lua files generatingBruce Hill
spurious circular import errors.
2018-05-15Minor cleanups changes.Bruce Hill
2018-05-11Switched to use inline nomsu generation for `Nomsu` tree luaBruce Hill
compilation and removed some dead code around Nomsu.debug
2018-05-10Cleanup: removed "File" type trees (now just Block), overhauledBruce Hill
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-09Added tentative support for luajit (depends on pure-lua LPEGBruce Hill
implementation).
2018-05-03Minor tweaks/cleanups.Bruce Hill
2018-05-03Fix for compile lib putting the files in the wrong place.Bruce Hill
2018-05-03Cleanup of unnecessary parens in generated lua code for math operations.Bruce Hill
2018-05-03Better error reporting and codegen.Bruce Hill
2018-04-30Fix for math expression parsingBruce Hill
2018-04-28Improving idiomatic nomsu codegenBruce Hill
2018-04-28Overhaul of command-line API. It's a bit cleaner now.Bruce Hill
2018-04-28Re-added (..), which is necessary for long expressions as first arg toBruce Hill
an action.
2018-04-26Fixed renaming lua_obj->code_objBruce Hill
2018-04-25Overhauling parsing of Blocks (can no longer contain only one statement)Bruce Hill
2018-04-25Removing end-of-line ":" and "(..)" for blocks (they just useBruce Hill
indentation now).
2018-04-25Got nomsu codegen working again.Bruce Hill
2018-04-25Updated block-style text interpolation to have less redundancy.Bruce Hill
2018-04-24Switched repr() to only return ""-style strings, and not [[]]-style,Bruce Hill
which helps with indenting generated lua code correctly. Also made a few ergonomic fixes/changes for line breaking.
2018-04-20Lots of optimizations.Bruce Hill
2018-04-20Cleanups and optimizations.Bruce Hill
2018-04-19Updated.Bruce Hill
2018-04-17Moving tree_to_lua into each of the Nomsu tree types, which are now inBruce Hill
their own file.