962b7125ec
Build lookahead reduce actions for item sets before building reduce table
2025-07-27 17:24:35 -04:00
b371f4b404
Speedup: calculate Item#hash once
2025-07-27 13:48:52 -04:00
fec2c28693
Only calculate lookahead tokens when needed - #28
...
Lookahead tokens are only need if either:
(1) There is more than one rule that could be reduced in a given parser
state, or
(2) There are shift actions for a state and at least one rule that could
be reduced in the same state (to warn about shift/reduce conflicts).
2024-07-26 22:08:25 -04:00
95b3dc6550
Cache ItemSet#next_symbols - #28
2024-07-25 20:33:15 -04:00
74d94fef72
Do not build ItemSet follow sets - #28
2024-07-25 20:02:00 -04:00
588c5e21c7
Cache ItemSet#leading_item_sets return values - #28
2024-07-25 10:42:43 -04:00
69cc8fa67d
Always compute lookahead tokens for reduce rules
...
Even if they won't be needed for the generated parser, they'll be useful
to detect shift/reduce conflicts.
2024-07-13 21:01:44 -04:00
7f3eb8f315
Calculate follow token set for an ItemSet
2024-07-13 20:48:28 -04:00
d76e12fea1
Rename "following" to "next" - #25
...
The term "following" could potentially imply an association with the
"follow set", however it was used in a non-closed manner.
2024-07-08 10:14:09 -04:00
918dc7b2bb
fix generator hang when state transition cycle is present - close #20
2024-04-02 14:27:08 -04:00
30f4cfcc99
Write parser log file
...
Fix bug of skipping rule set IDs.
Remove unneeded out_sets from ItemSet class.
2022-06-26 11:06:55 -04:00
60e2818075
Determine the reduce actions for each parser state
2022-06-17 01:45:48 -04:00
8f38d0b017
Clean up ItemSet#close!
2022-06-17 01:35:02 -04:00
c1769503a8
Add Item#complete?
2022-06-14 07:35:07 -04:00
8b152abaa7
Add ItemSet#leading_item_sets
2022-06-14 07:34:35 -04:00
9d850294a9
Clean up and comment Item and ItemSet
2022-06-05 18:12:14 -04:00
34eb1370ff
Move RuleSet::Patern to top-level Rule class
2022-06-04 17:50:26 -04:00
a0af8b0d7c
Rename Rule to RuleSet
2022-05-30 15:49:12 -04:00
ddadc2008b
Rename to propane
2022-05-28 20:20:03 -04:00