aboutsummaryrefslogtreecommitdiff
path: root/nomsu.lua
AgeCommit message (Collapse)Author
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-06Added list/dict metatables to make comparison and string representationsBruce Hill
simpler. Also deleted Counters.
2018-06-05Fixed piping in file.Bruce Hill
2018-06-05Fixed indentation detection for indented text with leading whitespace.Bruce Hill
2018-06-04Much better reporting for compile-time errors (now includes source andBruce Hill
line number again)
2018-06-04Optimizations and cleanup. Build script now fails on first error andBruce Hill
uses the precompiled versions it has just compiled.
2018-06-04Switched from Node(Tuple(values...), source) to Node(source, values...),Bruce Hill
thanks to support from immutable-tables for mixed tables.
2018-06-04Cleanups to try/catch logic and object logic.Bruce Hill
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-30Dead code cleanupBruce Hill
2018-05-30Moved as_lua_id() onto 'string'Bruce Hill
2018-05-30MicrooptimizationBruce Hill
2018-05-30Better parse error reporting.Bruce Hill
2018-05-30Cleaned up patterns a little.Bruce Hill
2018-05-29Removed ldt shimBruce Hill
2018-05-29More improvements to error reporting.Bruce Hill
2018-05-29Cleaned and fixed up colored console text output for error messages.Bruce Hill
2018-05-29Fixed up the edge cases and simplified the code a bit.Bruce Hill
2018-05-29Almost-working reimplementation of source code mapping.Bruce Hill
2018-05-29Cleaned up some asserts for performance.Bruce Hill
2018-05-28Fix for luajit, though I'm not sure why it worked for lua either.Bruce Hill
2018-05-27Some tweaks/cleanup on the nomsu code as well as adding variableBruce Hill
mangling to 'parse % as %' to make almost hygienic macros.
2018-05-26Cleaned up lpeg matching stuff to use lpeg.Carg(1) instead ofBruce Hill
lpeg.userdata, and switched indent/dedent/nodent to use a number to track indentation instead of a stack.
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-26Minor tidying.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-24Consolidating code obj code and expunging all [[..]]-style lua strings.Bruce Hill
2018-05-24Added error checking for bad paths.Bruce Hill
2018-05-24Cleaned up string quotesBruce Hill
2018-05-24Misc changes, fixed up Object lib and tests.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-15Removed "for all"-style iteration and changed "for % from 1 to 10"-styleBruce Hill
to "for % in 1 to 10" for consistency.
2018-05-15Adding support for coroutines, and cleaning up comment syntax.Bruce Hill
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-14Removing dead code.Bruce Hill
2018-05-14Merging use_file and run_fileBruce Hill
2018-05-14Minor optimizations.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-09Switched luajit to use custom built luajit lpeg, allowed `find` toBruce Hill
traverse symbolic links.
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