Commit Graph

404 Commits

Author SHA1 Message Date
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
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
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
0a95a264e5 Cleaning up comments. 2018-05-15 18:56:00 -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
113782ebd1 Added scopes to core. 2018-05-10 22:51:14 -07:00
Bruce Hill
ca1cfb5650 Added scoping test. 2018-05-10 22:50:50 -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
77c11a2443 Fixed up examples to be up to date and working. 2018-05-09 20:36:00 -07:00
Bruce Hill
602aacf8d8 Renamed "export" to "external" 2018-05-09 20:35:40 -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
126f51f955 Removing varargs from free var functions. 2018-05-04 13:49:20 -07:00
Bruce Hill
a5bbce315d Minor tweaks/cleanups. 2018-05-03 22:34:00 -07:00
Bruce Hill
bf60ac28c5 Overhaul with smaller, more concise codebase around defining
actions/macros, and deleting some dead code.
2018-05-03 21:56:31 -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
36ead4d82b Cleanup of unnecessary parens in generated lua code for math operations. 2018-05-03 16:38:06 -07:00
Bruce Hill
e64a91b8ba Better error reporting and codegen. 2018-05-03 16:31:02 -07:00
Bruce Hill
35a5539185 Fix for math expression parsing 2018-04-30 14:50:43 -07:00
Bruce Hill
bf24824660 Improving idiomatic nomsu codegen 2018-04-28 20:45:27 -07:00
Bruce Hill
85c5511fa5 Fixed compile_lib and cleaned up control_flow 2018-04-28 19:38:03 -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
6fecb5d395 Cleaning up codegen and TODO 2018-04-26 14:04:59 -07:00
Bruce Hill
7f99c70d56 Fixed renaming lua_obj->code_obj 2018-04-26 14:00:15 -07:00
Bruce Hill
4892c63e92 Renamed lua_obj -> code_obj 2018-04-25 17:56:26 -07:00
Bruce Hill
4e821308af Overhauling parsing of Blocks (can no longer contain only one statement) 2018-04-25 17:44:24 -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
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
ec5d730fa0 Switched repr() to only return ""-style strings, and not [[]]-style,
which helps with indenting generated lua code correctly. Also made a few
ergonomic fixes/changes for line breaking.
2018-04-24 20:39:18 -07:00
Bruce Hill
bb31a98a56 Recompiling. 2018-04-24 20:17:24 -07:00