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
7761f715f7
Cleaning up examples.
2018-06-20 15:23:10 -07:00
Bruce Hill
d73cbf0aa5
Cleanups.
2018-06-20 15:22:06 -07:00
Bruce Hill
42632e01b2
Updating how_do_i
2018-06-05 16:42:13 -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
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
01aa199f7a
Adding support for coroutines, and cleaning up comment syntax.
2018-05-15 16:36:38 -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
6668918b2e
Deleted stale code.
2018-01-25 17:45:51 -08:00
Bruce Hill
90b2888d46
Fixed up how_do_i with updated syntax.
2018-01-25 17:44:09 -08:00
Bruce Hill
376dd65278
Updated and fixed up how_do_i
2018-01-19 18:13:13 -08:00
Bruce Hill
8cc1262504
Updated examples and made operator characters not stick to each other.
...
Useful for <%x>=6 properly registering as <%x> = 6.
2018-01-03 19:26:41 -08:00
Bruce Hill
10659d2f37
Updated how do I.
2017-12-14 13:54:31 -08:00
Bruce Hill
c1ec00d5fc
Changed it so variables can't contain wordbreakers anymore.
2017-10-30 14:08:23 -07:00
Bruce Hill
b98059261c
Abbreviated "lua code" to "lua>" and "lua expr" to "=lua" and "lua
...
block" to "lua do>"
2017-10-19 17:00:10 -07:00
Bruce Hill
bccfe9d8e1
Changed tokenizing to treat symbols as their own things.
2017-10-13 19:41:58 -07:00
Bruce Hill
e82a8286b6
Removed io.write() stuff.
2017-10-13 18:14:03 -07:00
Bruce Hill
e476bfea52
Improved code generation for "when" statements using elseif, and
...
improved code generation for loops by omitting goto labels when not used.
2017-10-13 18:09:04 -07:00
Bruce Hill
6a429d7955
Added "unless" to core.
2017-10-07 16:38:13 -07:00
Bruce Hill
ba078a11b9
Added how do I.
2017-10-04 18:04:33 -07:00
Bruce Hill
2856a76a8d
Playing with formatting.
2017-10-02 19:28:42 -07:00
Bruce Hill
d52044e913
Removed tutorial (redundant with examples/how_do_i.nom)
2017-10-02 19:24:47 -07:00
Bruce Hill
9f4aa6a2e0
Added some ansi color escapes.
2017-10-02 19:23:56 -07:00
Bruce Hill
63ed265157
More progress towards making everything work.
2017-10-02 19:00:58 -07:00
Bruce Hill
dcd3391b36
Updated to undo some of the block/thunk stuff. Thunks are thunks, and
...
expressions can be grouped with parens, and they have a clear
distinction.
2017-10-02 17:21:22 -07:00
Bruce Hill
e2bbbfe161
More stuff is working more better.
2017-09-29 22:04:03 -07:00
Bruce Hill
af3274ca92
massive overhaul, compiler kinda works.
2017-09-24 20:20:27 -07:00
Bruce Hill
e4660b169c
Renamed compiler -> nomsu for concision and clarity.
2017-09-22 11:56:46 -07:00
Bruce Hill
5f2db8da0e
Everything fixed up and some reduced lua codespew too!
2017-09-21 02:33:04 -07:00
Bruce Hill
0750d64262
Updated all the code to work with the latest nomsu.
2017-09-20 05:02:53 -07:00
Bruce Hill
18365e02b1
Recompiled.
2017-09-20 04:43:50 -07:00
Bruce Hill
6e46f042fd
Mostly working overhaul again that strips out ending lines with "..",
...
and simplifies a lot of the code. Also stripped out Expression, which
was just a useless level of indirection.
2017-09-20 03:06:15 -07:00
Bruce Hill
a6cd8907c8
Improved source code business.
2017-09-19 01:30:05 -07:00
Bruce Hill
b1b36fead5
Added require instead of run file.
2017-09-19 00:35:37 -07:00
Bruce Hill
3b10a60826
Moved core into lib/ and recompiled.
2017-09-19 00:30:47 -07:00
Bruce Hill
0ee5b58882
Buncha updates to the sample code and core lib.
2017-09-19 00:29:31 -07:00
Bruce Hill
2c4acdfe67
More major overhaulage.
2017-09-18 22:41:50 -07:00
Bruce Hill
15886aa579
Major overhaul of core to make it more familiar feeling.
2017-09-18 19:23:31 -07:00
Bruce Hill
2cf8a96c70
Fixed out-of-order invocation args.
2017-09-14 05:44:55 -07:00
Bruce Hill
eefbdec53a
Added some examples to the tutorial.
2017-09-14 04:36:32 -07:00
Bruce Hill
27f89faaee
Tweaked apostrophe rules to make %x's %y work.
2017-09-14 04:31:46 -07:00
Bruce Hill
02cda763c5
Added dict example to tutorial
2017-09-14 04:23:18 -07:00
Bruce Hill
39a92bd1ab
Tightened up graphics on level 4
2017-09-14 03:23:37 -07:00
Bruce Hill
83463f11c5
Working string interpolation!
2017-09-14 02:41:10 -07:00
Bruce Hill
0f228d2d25
Changed comments to use # and #.. instead of (# #), which is more
...
consistent with the language's attitude towards code blocks and
indentation. No more long-range action closing parens.
2017-09-14 00:09:54 -07:00
Bruce Hill
ac8dcb2ebf
Tweaks to the tutorial.
2017-09-12 22:25:08 -07:00
Bruce Hill
54c2959409
Renamed game -> compiler.
2017-09-12 22:23:36 -07:00