Commit Graph

140 Commits

Author SHA1 Message Date
Bruce Hill
7cd4f276b7 Added todo 2018-05-30 17:27:10 -07:00
Bruce Hill
b53516c47c Simplified and correctified lib/object (though the codegen still need
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-30 17:21:19 -07:00
Bruce Hill
624fcdcc7e Moved as_lua_id() onto 'string' 2018-05-30 13:46:54 -07:00
Bruce Hill
8cb2788e0d Re-added sources. 2018-05-26 15:04:38 -07:00
Bruce Hill
446892d11e Consolidating code obj code and expunging all [[..]]-style lua strings. 2018-05-24 16:13:46 -07:00
Bruce Hill
ba76a35e84 Fixed up file hash lib. 2018-05-24 15:33:12 -07:00
Bruce Hill
2e345e271f Misc changes, fixed up Object lib and tests. 2018-05-24 14:57:35 -07:00
Bruce Hill
3ffeaf1f5d Removed "for all"-style iteration and changed "for % from 1 to 10"-style
to "for % in 1 to 10" for consistency.
2018-05-15 20:33:07 -07:00
Bruce Hill
0a95a264e5 Cleaning up comments. 2018-05-15 18:56:00 -07:00
Bruce Hill
1a755ddee8 Added tentative support for luajit (depends on pure-lua LPEG
implementation).
2018-05-09 13:35:04 -07:00
Bruce Hill
5d59d510cd Removing end-of-line ":" and "(..)" for blocks (they just use
indentation now).
2018-04-25 16:31:09 -07:00
Bruce Hill
34a2f50ebc Deleted habit breaker. 2018-04-20 17:00:33 -07:00
Bruce Hill
da33269c30 All tests passing (except object) 2018-04-19 17:23:54 -07:00
Bruce Hill
d42d20c50a Re-added callstack callsite info. It's a bit hacky, but better than
nothing.
2018-04-09 18:58:27 -07:00
Bruce Hill
02af19153e Moved over to have tree metadata stored outside the tree. This paves the
way for programmatically generating trees more easily.
2018-02-08 16:23:23 -08:00
Bruce Hill
3661754ed9 Reverted to ACTIONS instead of ACTION and added 'show lua %' macro. 2018-02-06 22:07:11 -08:00
Bruce Hill
d02b4b8718 Added a bunch of metamethod stuff. 2018-02-05 15:11:49 -08:00
Bruce Hill
505fec2a61 Restructured the nomsu files to group all the essentials into core/ and
all the optionals into lib/. lib/core.nom and tests/all.nom are no
longer needed now.
2018-02-02 15:49:42 -08:00
Bruce Hill
a387fd86a8 Added colons for aesthetics. 2018-01-31 15:31:13 -08:00
Bruce Hill
b1406a3203 Removed "core_defs" 2018-01-30 16:41:51 -08:00
Bruce Hill
0563571625 Overhaul of indentations. Now strictly requiring exactly 4 spaces
everywhere, and supporting indented string interpolations.
2018-01-30 15:11:18 -08:00
Bruce Hill
d7abcba34d Fix for bad indentation. 2018-01-30 15:10:29 -08:00
Bruce Hill
27c8024888 Added numeric-for list comprehension 2018-01-29 15:14:50 -08:00
Bruce Hill
90c56d3135 Added a ton of tests for virtually all the functionality. Helped me find
and fix a lot of latent problems.
2018-01-26 20:20:38 -08:00
Bruce Hill
214b3f9186 Removed nomsu:write() and nomsu:writeln() and replaced with just plain
ol' print()
2018-01-26 15:02:32 -08:00
Bruce Hill
0c0fb98389 Added some training wheels for functions. 2018-01-25 18:08:04 -08:00
Bruce Hill
90b2888d46 Fixed up how_do_i with updated syntax. 2018-01-25 17:44:09 -08:00
Bruce Hill
c79bea4401 Overhaul of compiling API (eliminated some of the expr/statements
helpers and forced the use of {expr=..., locals=...}-type syntax. This
helped fix up all of the cases like loops where locals were being
mishandled and led to some cleaner code.
2018-01-25 17:36:05 -08:00
Bruce Hill
f769351556 Updated and improve syntax for some stuff. Also added string indexing
like in python, including slices.
2018-01-24 13:13:26 -08:00
Bruce Hill
d173e9ae88 Fixed id for nil/NaN and cleaned up collection metatable stuff. 2018-01-24 12:38:09 -08:00
Bruce Hill
566b7d09c8 Updated training wheels with new syntax and print(). 2018-01-24 03:00:31 -08:00
Bruce Hill
42d950f7b4 Fix for some old syntax. 2018-01-24 02:55:49 -08:00
Bruce Hill
a33cb2598f Cleaned up code duplication in 'compile % to %' and 'compile % to code
%' and improved generated lua output for the common case (a text value).
2018-01-24 01:38:55 -08:00
Bruce Hill
30639f52e1 Added "export" for explicitly non-local variables. 2018-01-23 19:42:14 -08:00
Bruce Hill
49f0e95571 Prevented redeclaration of function arguments as locals. 2018-01-23 19:29:11 -08:00
Bruce Hill
6d11354b3f Added implicit local declarations and new syntax of %var <- %value. 2018-01-23 19:22:45 -08:00
Bruce Hill
376dd65278 Updated and fixed up how_do_i 2018-01-19 18:13:13 -08:00
Bruce Hill
4764842fe6 Updated class.nom for new syntax. 2018-01-19 17:32:01 -08:00
Bruce Hill
c1ac0635fd Refactored syntax a bit so that ":" isn't necessary for a block, and can
be used for inline expressions instead. Also, dict literals now use ":" instead
of "=".
2018-01-19 17:30:39 -08:00
Bruce Hill
7759b778f6 Cleaned up code output to be just a series of declarations, instead of a
table literal and a loop.
2018-01-18 16:45:24 -08:00
Bruce Hill
f91d06d9fa Initial commit of object oriented classes. 2018-01-18 01:49:27 -08:00
Bruce Hill
8bbebb8735 Completely fixed/reworked tree_to_nomsu, and it's okay right now. 2018-01-17 16:37:27 -08:00
4c059a7f9b Removed unnecessary semicolons that broke luajit. 2018-01-16 01:44:50 -08:00
Bruce Hill
5a526675db Better usage of ACTION_METADATA and deprecating nomsu.defs. 2018-01-12 19:28:19 -08:00
Bruce Hill
268a636157 Optimized loops to use local vars in loop definitions when possible. 2018-01-12 17:08:05 -08:00
Bruce Hill
b5ae7dac51 Added indent action 2018-01-12 17:07:35 -08:00
Bruce Hill
90c72074db Renamed replaced_vars() to be more descriptive. 2018-01-12 16:45:49 -08:00
Bruce Hill
6b09187899 Switched to use load() with environment table instead of passing in
nomsu to everything. This has some nice code cleanliness benefits.
2018-01-12 16:33:11 -08:00
Bruce Hill
e09f05a50c Reshuffled all the library code into files that make more sense and
cleaned up some of the library code.
2018-01-11 18:51:21 -08:00
Bruce Hill
7251f75087 Added "local %" macro as a stopgap for locals. 2018-01-11 15:32:54 -08:00