1f47f1aa28
Removed automatic file caching.
2019-01-08 16:38:45 -08:00
fc1655e028
Made separate versions of (sh> ...) and (=sh ...) for versions that
...
care or don't care about the output.
2019-01-08 16:34:41 -08:00
3e89092833
Some changes to the error API, a fix for statement block parsing, and
...
replacing ((foo 1 baz)'s meaning) with $(foo 1 baz).
2019-01-01 17:17:23 -08:00
faaf5311c8
Updated shebangs
2018-12-31 00:20:07 -08:00
5059c081ac
Auto-upgraded code.
2018-12-30 23:58:47 -08:00
8a3c324087
Update to new syntax.
2018-12-30 19:04:45 -08:00
a7d912a33a
Initial pass on updating syntax.
2018-12-18 19:30:12 -08:00
d3905474c9
Removed EOL comments
2018-12-14 20:54:18 -08:00
4fe63f253f
Auto-updated to version 5
2018-12-14 20:21:03 -08:00
efd743591e
Renamed append/concat_append to add/concat_add for Code objects.
2018-11-29 14:57:56 -08:00
5027bd4f0f
Upgraded/autoformatted.
2018-11-26 16:28:06 -08:00
a89d69e843
Autoformatted/auto-upgraded.
2018-11-19 17:37:37 -08:00
acd1191fb0
Tweaks and API cleanup.
2018-11-19 17:21:17 -08:00
7f47d42040
In-progress (but working) overhaul of some elements including: function
...
calls, lib/thing.nom API, multi-assignments, varargs, etc.
2018-11-17 14:39:08 -08:00
34a3dd22a4
Added 'an' alias for things.
2018-11-12 14:25:11 -08:00
4efe44ed27
Fully upgraded to 4.10.12.7, including deprecating the old list/dict
...
comprehension methods, in favor of the new native support.
2018-11-11 15:50:46 -08:00
ba03cb67c3
Added shebang and descriptive comment.
2018-11-11 15:37:57 -08:00
fa3f598fc3
Fixing the upgrade pipeline, plus some misc. fixes.
2018-11-09 17:02:53 -08:00
69aaea030e
No longer passing tree
to every compile action. Now, you can just
...
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-09 16:41:19 -08:00
a2f07415c5
Deprecating (% as lua statements) and (% as lua return)
2018-11-09 14:48:40 -08:00
7d2b7199d8
Lots of cleanups, including expanded use of (... compiles to "text
...
literal") shorthand, deprecating Lua value, and more use of Lua "..."
with text interpolations.
2018-11-09 14:37:22 -08:00
652c29bdef
Major overhaul, splitting nomsu_compiler into nomsu_environment,
...
nomsu_compiler, and nomsu_decompiler. Also added comprehensions.
2018-11-08 15:24:15 -08:00
1f3660f393
Added things
library (improved version of lib/object.nom).
2018-11-06 15:15:21 -08:00
c8ccbe5f42
Removed utils.lua, simplified some metaprogramming stuff, added native support
...
for calling functions with (%a %b %c) instead of (call %a with [%b,
%c]), renamed _List -> List, _Dict -> Dict, improved example code.
2018-11-06 15:15:14 -08:00
307dea1881
Changed stub convention to (foo 1 baz 2) -> foo_1_baz instead of
...
foo_1_baz_2, removed "smext", made some cleanup changes.
2018-11-02 14:39:23 -07:00
ea3197aaff
Fully working version of (action [foo]: baz) -> ((foo) means: baz)
...
refactor and misc other changes.
2018-10-30 23:42:36 -07:00
23abab4f80
Some cleanups and fixes, made the parser more permissive of prematurely
...
terminated files.
2018-10-29 13:00:30 -07:00
b43432e647
Fixed all syntax errors, got original (non-nomnom) tests passing.
2018-09-26 13:05:47 -07:00
f2048235f5
Incremental checkin, currently not working, just saving progress.
2018-09-21 00:30:44 -07:00
Bruce Hill
79d4bd5125
Got rid of repr() use and replaced with :as_lua() or :as_nomsu() in as
...
many places as possible.
2018-09-18 19:49:29 -07:00
Bruce Hill
d11f9bc5d3
Oops, added "$" to ensure keywords with suffixes don't get changed.
2018-09-18 17:42:01 -07:00
Bruce Hill
96e5e567cb
Working module system.
2018-09-16 16:57:24 -07:00
Bruce Hill
e22c35681f
Auto-upgraded everything.
2018-09-14 19:17:16 -07:00
Bruce Hill
9e10c8bf00
Removing dead code and string.as_lua_id() (now just set on string
...
metametatable)
2018-09-10 16:37:16 -07:00
Bruce Hill
7c6047254e
Upgraded to 3.8 (text method changes) and fixed some bugs in
...
tree_to_nomsu.
2018-09-10 16:26:27 -07:00
Bruce Hill
a35d010dfe
Removed the mandatory "_" prefix for Nomsu variables, renamed "list" and
...
"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-09-06 12:48:16 -07:00
Bruce Hill
e1bc075bb5
Removing the "A_" prefix on action names, and improving the quality of
...
as_lua_id() (guaranteed injectivity).
2018-08-31 15:22:32 -07:00
Bruce Hill
18126da9c5
Auto-upgraded to 3.7
2018-08-30 14:16:18 -07:00
Bruce Hill
4f30e02acb
Handling more compatibility stuff, including Lua 5.4, and a backup for
...
if openssl module is not found, and moving containers (List/Dict) into
their own file, as well as bit operators (and support for __bxor, etc.
metamethods in Lua 5.2/LuaJIT)
2018-08-29 19:39:15 -07:00
Bruce Hill
811fdd6856
Tweaked version 3.6 to include deprecating list append/removal functions
...
in favor of using a method call style.
2018-08-29 16:00:04 -07:00
Bruce Hill
dcb5e8add2
Fully updated to 3.6, deprecated old LuaCode global functions like "to 1
...
write 2" and replaced them with method calls like "1::append 2"
2018-08-29 15:10:27 -07:00
Bruce Hill
e64632be1a
Switched "as_lua_id" to not add an underscore by default, and just add
...
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-29 14:20:18 -07:00
Bruce Hill
5ee9bcb7fb
Upgraded version to 3.5.5.6, corresponding to Object Oriented changes.
2018-08-28 15:34:45 -07:00
Bruce Hill
e44acbf338
Lots of overhaul, supporting a new Object Oriented approach (e.g.
...
%obj::action 1 2) and syntax.
2018-08-28 15:08:07 -07:00
Bruce Hill
930d522fbc
Bunch of miscellaneous changes. Paved the way a little bit for having
...
different compiler domains.
2018-08-27 13:39:22 -07:00
Bruce Hill
c6a7b0be9e
Added compatibility for 2.5.5.5 (file hash changes).
2018-07-30 19:39:32 -07:00
Bruce Hill
56143adf97
Updated lib version (for training_wheels and base64).
2018-07-30 19:12:16 -07:00
Bruce Hill
445b3d5b5d
Updated training wheels (much overdue).
2018-07-30 19:11:12 -07:00
Bruce Hill
ab4ebdf175
Changed autoformatting rules to ensure tests get clumped together with
...
the thing below them.
2018-07-30 15:06:03 -07:00
Bruce Hill
2a12310b25
Switching hashes to use base64 instead of hex.
2018-07-30 14:11:45 -07:00
Bruce Hill
a69555bc03
Updated version numbers.
2018-07-25 13:49:17 -07:00
Bruce Hill
b6c99c56a1
Updated package.nomsupath behavior to first search the installed
...
locations, *then* search the current directory. This makes the system `nomsu` run
properly, even if the local directory has a broken file that has the
same name as a nomsu file.
2018-07-24 15:09:55 -07:00
Bruce Hill
3cf97066be
Cleaning up code to make use of newer API.
2018-07-24 14:07:25 -07:00
Bruce Hill
09d797eddc
Updating code to latest version.
2018-07-23 15:25:03 -07:00
Bruce Hill
6e5d551071
Run 'use "core"' by default before running anything else, unless --no-core command line flag is used.
2018-07-23 14:54:05 -07:00
Bruce Hill
470a6fe7f9
Fixed blocks starting with extra newline when they start with a comment.
2018-07-23 14:41:30 -07:00
Bruce Hill
4c1f0aca7a
Moving all the rest of the tests over to inline versions.
2018-07-22 16:30:49 -07:00
Bruce Hill
addac10a47
Re-autoformatted everything. The main changes are: no longer adding a
...
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-22 15:01:05 -07:00
Bruce Hill
dfd39f0b14
Shifting further towards having inline tests. Also added a helper
...
function for directly extracting source lines from a Source or AST.
2018-07-22 13:59:08 -07:00
Bruce Hill
ae4670bd8e
Improvements working towards better inline tests. Improved handling of
...
file spoofing and adding -e command line flag for executing a string.
2018-07-21 14:44:26 -07:00
Bruce Hill
6728587dfc
Auto-formatted and auto-upgraded everything!
2018-07-20 20:27:27 -07:00
Bruce Hill
bf67a61013
Updating to version 2.4.4.3, with new syntax for multi-statement 'if'
...
and switch statements.
2018-07-18 17:56:15 -07:00
Bruce Hill
d5cfaa37be
Upgrading to version 2.3 (main change: "=" instead of "<-" for
...
assignment)
2018-07-18 01:28:17 -07:00
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