aboutsummaryrefslogtreecommitdiff
path: root/nomsu_compiler.lua
AgeCommit message (Collapse)Author
2018-12-18Initial pass on updating syntax.Bruce Hill
2018-12-14Codegen tweakBruce Hill
2018-12-14Updating to support multiple method calls.Bruce Hill
2018-12-14Initial setup work for syntax version 5.Bruce Hill
2018-12-13Cleanups and codegen improvements/fixes.Bruce Hill
2018-11-29Renamed append/concat_append to add/concat_add for Code objects.Bruce Hill
2018-11-29Extended text comprehensions to Lua constructors.Bruce Hill
2018-11-29Added text comprehensions (in the style of the list/dict ones)Bruce Hill
2018-11-26Simplifying the control flow API and deduplicating the code.Bruce Hill
2018-11-23Tweaks and tidying.Bruce Hill
2018-11-19Tweaks and API cleanup.Bruce Hill
2018-11-17In-progress (but working) overhaul of some elements including: functionBruce Hill
calls, lib/thing.nom API, multi-assignments, varargs, etc.
2018-11-11Re-implemented nomsu -> lua comment translation and added file chunkBruce Hill
comments.
2018-11-11Fixed -O optimization flag.Bruce Hill
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-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-31Simplified AST to just use a single moonscript class called "SyntaxTree"Bruce Hill
instead of a different metatable for each type of syntax tree.
2018-10-31Bumped version number, fixed REPL, and simplified/fixed (use %).Bruce Hill
2018-10-30Fully working version of (action [foo]: baz) -> ((foo) means: baz)Bruce Hill
refactor and misc other changes.
2018-10-30Fix for compiler not parenthesizing method targets, fix for parser notBruce Hill
recognizing \ line continuation, and improvements to upgrade tool API.
2018-10-30Versioning fixes.Bruce Hill
2018-10-29Some cleanups and fixes, made the parser more permissive of prematurelyBruce Hill
terminated files.
2018-09-26Fixes for actions with targets colliding with compiler actions, and luaBruce Hill
keywords as dict keys.
2018-09-21Rebuild.Bruce Hill
2018-09-18Got rid of repr() use and replaced with :as_lua() or :as_nomsu() in asBruce Hill
many places as possible.
2018-09-17Added support for compile actions returning trees, and compiling blocksBruce Hill
into values.
2018-09-16Added support for compile actions returning syntax trees, which will getBruce Hill
recompiled until they produce Lua code.
2018-09-16Much better error reporting for compile errors (i.e. not parse errors),Bruce Hill
using the pretty_error system.
2018-09-16Working module system.Bruce Hill
2018-09-15Initial working version.Bruce Hill
2018-09-15Better parsing of strings and handling of non-printable characters andBruce Hill
tabs.
2018-09-14Auto-upgraded everything.Bruce Hill
2018-09-14Fixed comments in nomsu codegen.Bruce Hill
2018-09-14Updated compiler to produce cool string output.Bruce Hill
2018-09-14Added error truncating.Bruce Hill
2018-09-14Using more concise peg file finding.Bruce Hill
2018-09-14RecompileBruce Hill
2018-09-14Renaming parser2 to parser.Bruce Hill
2018-09-14Removing the remnants of the old parser system.Bruce Hill
2018-09-14Upgraded nomsu.1.peg to tidier version.Bruce Hill
2018-09-14Upgraded nomsu.2.peg and fixed minor bug in Source serialization inBruce Hill
trees.
2018-09-14Fixes and improvements, and ported nomsu.3.peg to new tidier syntax.Bruce Hill
2018-09-12Initial working version.Bruce Hill
2018-09-10Removing dead code and string.as_lua_id() (now just set on stringBruce Hill
metametatable)
2018-09-10Fixed tree_to_nomsu for method calls that span lines.Bruce Hill
2018-09-10Upgraded to 3.8 (text method changes) and fixed some bugs inBruce Hill
tree_to_nomsu.
2018-09-10Shifting towards more text methods instead of text global functions.Bruce Hill
Also fixed a bug with method call parenthesizing.