c24f323ff0
v1.5.1
v1.5.1
2024-07-26 22:30:48 -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
61339aeae9
Avoid recalculating reduce_rules - #28
2024-07-26 21:36:41 -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
5f1c306273
Update CLI usage in README
2024-07-22 21:35:32 -04:00
343e8a7f9e
v1.5.0
v1.5.0
2024-07-22 21:23:38 -04:00
b3a134bf8d
Update vim syntax to highlight "?" and field alias names
2024-07-22 20:39:59 -04:00
4a71dc74fb
Update CHANGELOG for v1.5.0
2024-07-22 20:26:04 -04:00
a7348be95d
Add rule field aliases - #24
2024-07-22 20:16:52 -04:00
9746b3f2bf
Document position tracking fields in user guide - #27
2024-07-21 14:04:51 -04:00
c5b8fc28bd
Move INVALID_POSITION from header to C source - #27
2024-07-21 13:39:34 -04:00
092fce61eb
Test position validity for empty matching rules - #27
2024-07-21 13:39:30 -04:00
e647248e34
Track start and end position of rules in AST nodes - #27
2024-07-19 15:37:37 -04:00
f4ae1b8601
Add position fields to AST nodes (not populated yet) - #27
2024-07-19 14:34:50 -04:00
eae2e17f41
Test tracking token end positions when the token spans a newline - #27
2024-07-18 12:09:26 -04:00
87d6d29d60
Store token end position - #27
2024-07-18 12:03:44 -04:00
3aced70356
Show line numbers of rules upon conflict - close #23
2024-07-14 20:52:52 -04:00
2dd89445fc
Add command line switch to output warnings to stderr - close #26
2024-07-14 15:36:07 -04:00
4ae5ab79b3
Warn on shift/reduce conflicts
2024-07-13 21:35:53 -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
911e9505b7
Track token position in AST Token node
2024-05-27 22:10:05 -04:00
aaeb0c4db1
Remove leftover TODO from earlier restructuring
2024-05-27 20:44:42 -04:00
fd89c5c6b3
Add Vim syntax highlighting files for Propane
2024-05-26 14:49:30 -04:00
1468946735
v1.4.0
v1.4.0
2024-05-11 11:46:28 -04:00
2bccf3303e
Update CHANGELOG
2024-05-09 17:38:18 -04:00
0d1ee74ca6
Give a better error message when a referenced ptype has not been declared
2024-05-09 17:35:27 -04:00
985b180f62
Update CHANGELOG
2024-05-09 11:56:44 -04:00
f3e4941ad8
Allow rule terms to be marked as optional
2024-05-09 11:56:13 -04:00
494afb7307
Allow specifying the start rule name
2024-05-05 12:39:00 -04:00
508dabe760
Update CHANGELOG for v1.4.0
2024-05-04 21:49:13 -04:00
153f9d28f8
Allow user to specify AST node prefix or suffix
...
Add ast_prefix and ast_suffix grammar statements.
2024-05-04 21:49:13 -04:00
d0f542cbd7
v1.3.0
v1.3.0
2024-04-23 00:31:56 -04:00
786c78b635
Update CHANGELOG for v1.3.0
2024-04-23 00:21:28 -04:00
f0bd8d8663
Add documentation for AST generation mode - close #22
2024-04-23 00:15:19 -04:00
c7a18ef821
Add AST node field name with no suffix when unique - #22
2024-04-22 21:50:26 -04:00
cb06a56f81
Add AST generation - #22
2024-04-22 20:51:27 -04:00
2b28ef622d
Add specs to fully cover cli.rb
2024-04-06 14:37:15 -04:00
19c32b58dc
Fix README example grammar
2024-04-06 14:16:27 -04:00
3a8dcac55f
v1.2.0
v1.2.0
2024-04-02 21:42:33 -04:00
632ab2fe6f
Update CHANGELOG for v1.2.0
2024-04-02 21:42:18 -04:00
3eaf0d3d49
allow one line user code blocks - close #21
2024-04-02 17:44:15 -04:00
918dc7b2bb
fix generator hang when state transition cycle is present - close #20
2024-04-02 14:27:08 -04:00
5b2cbe53e6
Add backslash escape codes - close #19
2024-03-29 16:45:54 -04:00
1d1590dfda
Add API to access unexpected token found - close #18
2024-03-29 15:58:56 -04:00
1c91dcd298
Add token_names API - close #17
2024-03-29 15:02:01 -04:00
5dfd62b756
Add D example to user guide for p_context_init() - close #16
2024-03-29 13:52:16 -04:00