aboutsummaryrefslogtreecommitdiff
path: root/syntax_tree.moon
AgeCommit message (Collapse)Author
2019-03-09Moving some more functionality into the syntax tree class, includingBruce Hill
pattern matching and traversal
2019-02-05Bunch of changes:Bruce Hill
- Added shebangs to generated code output - SyntaxTree:map() -> SyntaxTree:with(), and corresponding changes to metaprogramming API - Added (return Lua 1) shorthand for (return (Lua 1)) - (1 and 2 and 3) compile rule mapping to -> (1 and (*extra arguments*)) - Don't scan for errors, just report them when compiling - Syntax changes: - Added prefix actions (e.g. #$foo) - Operator chars now include utf8 chars - Ditch "escaped nomsu" type (use (\ 1) compile action instead)
2019-01-25Added metatables for bool, number, function, coroutine. AddedBruce Hill
run-time check to make sure precompiled code used the same version of Lua. Methods can now be used in (* compiles to *), etc.
2019-01-16Overhauling OO-API a little to make it more minimalistic.Bruce Hill
2019-01-16Better error messaging (using pretty_error in more places)Bruce Hill
2019-01-14Added (SyntaxTree {...} ...) shorthand for SyntaxTree{..., ...} andBruce Hill
added some shebangs.
2019-01-07Moved require to top level.Bruce Hill
2019-01-01Some changes to the error API, a fix for statement block parsing, andBruce Hill
replacing ((foo 1 baz)'s meaning) with $(foo 1 baz).
2018-12-30Some minor fixes for (type of $ast) and indexing codegen.Bruce Hill
2018-12-18Initial pass on updating syntax.Bruce Hill
2018-12-14Initial setup work for syntax version 5.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-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-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-03Some incremental progress.Bruce Hill
2018-09-28Fully working, I think? (with a lot of shims)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-15Initial working version.Bruce Hill
2018-09-14Auto-upgraded everything.Bruce Hill
2018-09-14Upgraded nomsu.2.peg and fixed minor bug in Source serialization inBruce Hill
trees.
2018-09-12Initial working version.Bruce Hill
2018-08-30Auto-upgraded to 3.7Bruce Hill
2018-08-30Fixed obnoxious bug where List was getting used instead of a Dict,Bruce Hill
causing havoc when .first and .pop were being accessed.
2018-08-28Lots of overhaul, supporting a new Object Oriented approach (e.g.Bruce Hill
%obj::action 1 2) and syntax.
2018-08-27Bunch of miscellaneous changes. Paved the way a little bit for havingBruce Hill
different compiler domains.
2018-07-23Renamed nomsu_tree -> syntax_tree, so anyone looking for syntax treesBruce Hill
knows where to look.