aboutsummaryrefslogtreecommitdiff
path: root/nomsu.lua
AgeCommit message (Collapse)Author
2018-06-18Initial working version.Bruce Hill
2018-06-15Fixed some nomsu codegen bugsBruce Hill
2018-06-15Cleaned up/improved the command line interface, and fixed theBruce Hill
REPL/autoformatting.
2018-06-15Removed debug shim.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-14More streamlining and cleanup. Especially for core/metaprogramming.nomBruce Hill
2018-06-13Fixed tree_to_nomsu to produce "blah\%x" instead of "blah\(%x)"Bruce Hill
2018-06-12Much improved code formatting for tree_to_nomsuBruce Hill
2018-06-12Fixed some bugs.Bruce Hill
2018-06-12Working version.Bruce Hill
2018-06-12Minor optimizations to indent/dedent/nodent.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-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