Commit Graph

156 Commits

Author SHA1 Message Date
Bruce Hill
88df5c72a3 Updating lib to v2 2018-07-17 23:37:26 -07:00
Bruce Hill
ba639f2bd0 Upgraded core code to latest Nomsu verison. 2018-07-17 23:08:24 -07:00
Bruce Hill
cbd1437752 Optimization/simplification pass. 2018-07-17 16:13:55 -07:00
Bruce Hill
be06fc096a Major changes to how versioning and parsing work. This should be a
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-07-15 19:43:28 -07:00
Bruce Hill
ba2b83d566 Fixed nomsu codegen for indented text and improved text parsing. Also
moved some more tests inline.
2018-07-11 14:14:16 -07:00
Bruce Hill
85ef9534e3 Added pattern matching for text, and comprehension versions of that and
file walking.
2018-07-09 17:14:05 -07:00
Bruce Hill
65dc1f2196 Cleaning up metaprogramming a bit and fixing/adding test for recursion
control flow.
2018-06-26 15:53:00 -07:00
Bruce Hill
ad342b63b7 Simplifications/streamlining the Make process, and cleaning up some of
how command line interaction and `use %` work.
2018-06-24 16:11:40 -07:00
Bruce Hill
9f08215dfb Moved console colors from core/ into lib/ 2018-06-23 18:04:23 -07:00
Bruce Hill
863983202c Fixed up nomsupath behavior and refactored file stuff into its own file. 2018-06-23 17:22:43 -07:00
Bruce Hill
86a3219e7f Cleanup of some metaprogramming stuff, as well as adding support for
"package.nomsupath" to search for files in different locations, and
prioritizing use of "luafilesystem" over system calls.
2018-06-21 19:13:47 -07:00
Bruce Hill
16d127abb5 Initial working version. 2018-06-18 15:44:35 -07:00
Bruce Hill
1a6e28e835 Improvements to object system. 2018-06-15 00:17:09 -07:00
Bruce Hill
b12744d831 Some cleanup and fixes. Simplifying a lot of code, and extending the
flexibility of scoping. Redesigned Object system too.
2018-06-14 23:25:34 -07:00
Bruce Hill
49f1eb3d08 Reshuffling some files. 2018-06-14 22:17:37 -07:00
Bruce Hill
e7bdc35aa8 Cleanups to try/catch logic and object logic. 2018-06-04 17:23:13 -07:00
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