Bruce Hill
3573dfe995
Almost-working reimplementation of source code mapping.
2018-05-29 16:15:10 -07:00
Bruce Hill
e17822d1e5
Cleaned up some asserts for performance.
2018-05-29 11:14:07 -07:00
Bruce Hill
b6be516e3f
Fix for luajit, though I'm not sure why it worked for lua either.
2018-05-28 23:24:43 -07:00
Bruce Hill
2e15c0fd50
Some tweaks/cleanup on the nomsu code as well as adding variable
...
mangling to 'parse % as %' to make almost hygienic macros.
2018-05-27 18:29:23 -07:00
Bruce Hill
6ce32bdd25
Cleaned up lpeg matching stuff to use lpeg.Carg(1) instead of
...
lpeg.userdata, and switched indent/dedent/nodent to use a number to
track indentation instead of a stack.
2018-05-26 19:25:17 -07:00
Bruce Hill
0c7c06beab
Moving back to capturing tables in LPEG and everything is a Source, not
...
string.
2018-05-26 15:59:03 -07:00
Bruce Hill
8cb2788e0d
Re-added sources.
2018-05-26 15:04:38 -07:00
Bruce Hill
0b4a81191a
Minor tidying.
2018-05-26 13:09:25 -07:00
Bruce Hill
64294f5cd6
Removed the Word tree type and replaced it with raw strings, since
...
they're only used as part of Actions
2018-05-24 21:17:15 -07:00
Bruce Hill
d9b795ee45
Adding some src map building code.
2018-05-24 20:27:26 -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
0c07968e07
Added error checking for bad paths.
2018-05-24 15:51:16 -07:00
Bruce Hill
5758626bf7
Cleaned up string quotes
2018-05-24 15:36:10 -07:00
Bruce Hill
2e345e271f
Misc changes, fixed up Object lib and tests.
2018-05-24 14:57:35 -07:00
Bruce Hill
ad94ed3653
Moved all the tree->lua and tree->nomsu code back into single functions
...
in nomsu.moon, and cleaned up how Vars are treated, since they are not
atomic.
2018-05-16 19:08:59 -07:00
Bruce Hill
6f6c4377b2
Initial working version.
2018-05-16 18:13:02 -07:00
Bruce Hill
af9dc07025
Converted DictEntry to be an actual tree, instead of a pseudo-tree, made 'parse % as %'
...
generate lua code with already-substituted tree literals instead of reparsing and
substituting at parse time, and made some general optimizations.
2018-05-16 15:45:59 -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
01aa199f7a
Adding support for coroutines, and cleaning up comment syntax.
2018-05-15 16:36:38 -07:00
Bruce Hill
28cd9ae0b7
More API cleanup, and fixed a bug with optimized lua files generating
...
spurious circular import errors.
2018-05-15 15:22:03 -07:00
Bruce Hill
ae979c3718
Minor cleanups changes.
2018-05-15 14:53:42 -07:00
Bruce Hill
3be20840ca
Removing dead code.
2018-05-14 15:39:16 -07:00
Bruce Hill
52a3631ed6
Merging use_file and run_file
2018-05-14 15:37:25 -07:00
Bruce Hill
7410e42bc0
Minor optimizations.
2018-05-14 14:45:45 -07:00
Bruce Hill
95ee15982b
Switched to use inline nomsu generation for Nomsu
tree lua
...
compilation and removed some dead code around Nomsu.debug
2018-05-11 13:54:24 -07:00
Bruce Hill
4126589afe
Cleanup: removed "File" type trees (now just Block), overhauled
...
how_do_i.nom, added "result of %" macro, which allowed comprehensions to
be way more concisely defined. Moved len() operator into the nomsu
environment.
2018-05-10 22:47:18 -07:00
Bruce Hill
4e7b652014
Switched luajit to use custom built luajit lpeg, allowed find
to
...
traverse symbolic links.
2018-05-09 20:35:11 -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
a5bbce315d
Minor tweaks/cleanups.
2018-05-03 22:34:00 -07:00
Bruce Hill
2abaf67b66
Fix for compile lib putting the files in the wrong place.
2018-05-03 21:55:58 -07:00
Bruce Hill
e64a91b8ba
Better error reporting and codegen.
2018-05-03 16:31:02 -07:00
Bruce Hill
05528c50ec
Further improvements on the CLI.
2018-04-28 19:16:54 -07:00
Bruce Hill
3a049c15df
Improvements to command line file handling.
2018-04-28 18:07:22 -07:00
Bruce Hill
df9a82a971
Overhaul of command-line API. It's a bit cleaner now.
2018-04-28 17:08:44 -07:00
Bruce Hill
d13a945b5f
Removed LFS dependency in favor of just using find
2018-04-28 15:25:31 -07:00
Bruce Hill
23022dc88c
Re-added (..), which is necessary for long expressions as first arg to
...
an action.
2018-04-28 15:21:28 -07:00
Bruce Hill
b54829de36
Better text interpolation/handling of "\". Also added syntax support for
...
(statement; statement)
2018-04-27 16:45:35 -07:00
Bruce Hill
7f99c70d56
Fixed renaming lua_obj->code_obj
2018-04-26 14:00:15 -07:00
Bruce Hill
50a092e4b5
Got nomsu codegen working again.
2018-04-25 16:04:55 -07:00
Bruce Hill
cb28f52b41
Updated block-style text interpolation to have less redundancy.
2018-04-25 15:37:47 -07:00
Bruce Hill
bb31a98a56
Recompiling.
2018-04-24 20:17:24 -07:00
Bruce Hill
dec5ee8262
Lots of optimizations.
2018-04-20 16:23:59 -07:00
Bruce Hill
14bda2fb2d
Cleanups and optimizations.
2018-04-20 14:33:57 -07:00
Bruce Hill
931ae40f40
Fixed compiling to .lua files
2018-04-19 19:43:32 -07:00
Bruce Hill
da33269c30
All tests passing (except object)
2018-04-19 17:23:54 -07:00
Bruce Hill
dcb380f1f6
More cleanup, slowly working through operators/control_flow
2018-04-18 17:41:57 -07:00
Bruce Hill
ec17442090
Cleaning up.
2018-04-18 15:46:01 -07:00
Bruce Hill
16f3a189fd
More working, shifting towards having Lua and Nomsu objects instead of
...
just strings.
2018-04-18 15:28:59 -07:00
Bruce Hill
b589c23741
Disabled comment transpilation for now.
2018-04-17 14:47:42 -07:00
Bruce Hill
26d0de8299
Partially working, at least for metaprogramming.nom
2018-04-17 14:36:55 -07:00