aboutsummaryrefslogtreecommitdiff
path: root/lib/object.nom
AgeCommit message (Collapse)Author
2018-11-09Fixing the upgrade pipeline, plus some misc. fixes.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-09Deprecating (% as lua statements) and (% as lua return)Bruce Hill
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-30Fully working version of (action [foo]: baz) -> ((foo) means: baz)Bruce Hill
refactor and misc other changes.
2018-10-29Some cleanups and fixes, made the parser more permissive of prematurelyBruce Hill
terminated files.
2018-09-26Fixed all syntax errors, got original (non-nomnom) tests passing.Bruce Hill
2018-09-21Incremental checkin, currently not working, just saving progress.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-16Working module system.Bruce Hill
2018-09-14Auto-upgraded everything.Bruce Hill
2018-09-10Removing dead code and string.as_lua_id() (now just set on stringBruce Hill
metametatable)
2018-09-10Upgraded to 3.8 (text method changes) and fixed some bugs inBruce Hill
tree_to_nomsu.
2018-09-06Removed the mandatory "_" prefix for Nomsu variables, renamed "list" andBruce Hill
"dict" to "List" and "Dict", or in Nomsu's environment, "_List" and "_Dict", removed uuid.lua and replaced it with core/id.nom for handling IDs.
2018-08-31Removing the "A_" prefix on action names, and improving the quality ofBruce Hill
as_lua_id() (guaranteed injectivity).
2018-08-30Auto-upgraded to 3.7Bruce Hill
2018-08-29Fully updated to 3.6, deprecated old LuaCode global functions like "to 1Bruce Hill
write 2" and replaced them with method calls like "1::append 2"
2018-08-29Switched "as_lua_id" to not add an underscore by default, and just addBruce Hill
it manually to variables and A_ as a prefix to actions. Now, by default, classes and method calls don't use the A_ prefix, which means nomsu can more easily play nice with regular Lua objects.
2018-08-28Upgraded version to 3.5.5.6, corresponding to Object Oriented changes.Bruce Hill
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-30Added compatibility for 2.5.5.5 (file hash changes).Bruce Hill
2018-07-30Changed autoformatting rules to ensure tests get clumped together withBruce Hill
the thing below them.
2018-07-25Updated version numbers.Bruce Hill
2018-07-24Cleaning up code to make use of newer API.Bruce Hill
2018-07-23Run 'use "core"' by default before running anything else, unless --no-core ↵Bruce Hill
command line flag is used.
2018-07-23Fixed blocks starting with extra newline when they start with a comment.Bruce Hill
2018-07-22Moving all the rest of the tests over to inline versions.Bruce Hill
2018-07-22Re-autoformatted everything. The main changes are: no longer adding aBruce Hill
newline after 1-line indented code inside blocks, and forcing files to have a trailing newline. The trailing newline thing created a lot of spurious changes.
2018-07-20Auto-formatted and auto-upgraded everything!Bruce Hill
2018-07-18Updating to version 2.4.4.3, with new syntax for multi-statement 'if'Bruce Hill
and switch statements.
2018-07-18Upgrading to version 2.3 (main change: "=" instead of "<-" forBruce Hill
assignment)
2018-07-17Updating lib to v2Bruce Hill
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-06-21Cleanup of some metaprogramming stuff, as well as adding support forBruce Hill
"package.nomsupath" to search for files in different locations, and prioritizing use of "luafilesystem" over system calls.
2018-06-18Initial working version.Bruce Hill
2018-06-15Improvements to object system.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-04Cleanups to try/catch logic and object logic.Bruce Hill
2018-05-30Added todoBruce 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-30Moved as_lua_id() onto 'string'Bruce Hill
2018-05-26Re-added sources.Bruce Hill
2018-05-24Misc changes, fixed up Object lib and tests.Bruce Hill
2018-04-25Removing end-of-line ":" and "(..)" for blocks (they just useBruce Hill
indentation now).
2018-02-08Moved over to have tree metadata stored outside the tree. This paves theBruce Hill
way for programmatically generating trees more easily.
2018-02-02Restructured the nomsu files to group all the essentials into core/ andBruce Hill
all the optionals into lib/. lib/core.nom and tests/all.nom are no longer needed now.
2018-01-31Added colons for aesthetics.Bruce Hill