Commit graph

19 commits

Author SHA1 Message Date
bd70315935 Improve performance by not de-duping before closing
You close *after* you've determined that a successor is new, not
before.
2024-06-06 05:31:15 -07:00
cabc091ee4 Start extracting better expressions 2024-06-02 08:10:18 -07:00
f1507a36f1 Oh, that was a BUG in the grammar! 2024-06-01 05:59:58 -07:00
03937e62e6 Allow the generator to be a little more declarative 2024-06-01 05:57:16 -07:00
e203e27407 Allow the grammar to specify a preference for a generator
Overridable, like start production
2024-06-01 05:42:40 -07:00
55c4675fe5 Use precedence and not a lot of different rules 2024-05-31 08:32:05 -07:00
a7b4a3ce8b Grammars have implicit start symbols 2024-05-31 06:29:57 -07:00
57de8a5b85 More grammar shaping 2024-05-31 05:22:00 -07:00
561dcd87ff Allow nonterminals to be renamed 2024-05-30 19:15:20 -07:00
dfef449c33 Better tree output 2024-05-30 08:24:36 -07:00
56d24c5fb9 Chaos: split tables, interactions, Terminal
- Tables are split into `actions` and `goto` now to make formatting
  nicer
- Token is renamed Terminal
- Likes are now Florps
- Lexer now loaded dynamically (badly)
2024-05-30 08:02:47 -07:00
71078f76b4 Interactive grammar editing 2024-05-29 19:28:42 -07:00
45a9303a27 Transparent rules
Better parsing/action types
Good grief
2024-05-29 09:07:19 -07:00
0fc04cf11e Fix grammar bugs, work on debugging harness. 2024-05-27 19:02:10 -07:00
7c1d9b5f2b A cleaner API
I've been hacking on this in a different repository, so I thought I'd
bring it over here.
2024-05-05 08:45:45 -07:00
f656dbd8f3 faster: Significant performance boost on large grammar
15s to 5s
2024-04-17 23:25:15 -07:00
6fa89a9757 faster: Finish the big grammar 2024-04-17 17:23:14 -07:00
de0a76818e faster: Correct precedence but don't use it
Precedence now works for, like, resolving expressions in a single
big table but uh... it takes the time from 700ms to like 7s so I've
reverted it for now.
2024-04-17 17:13:18 -07:00
7147557e2b faster: Snapshot a big grammar I'm playing with 2024-04-17 11:07:56 -07:00