-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Description
EOF-terminated start rules are necessary for testing the grammars in this repo because they force the parser to read to the end of input and emit parse errors (#2405). In order to correct missing EOF-terminated start rules for grammars in this repo, various changes were made to correct the problem (e.g., #2675).
Generally, EOF-terminated start rules shouldn't be used on the right-hand side of any parser rule. Some of the rules labeled as start rules weren't implemented correctly, not taking into account whether the rule was used on the right-hand side of another parser rule. find-start.sh.txt
These grammars are suspected to have bad RHS use of a start rule.
- angelscript
- asn/asn_3gpp
- csharp (preprocessor)
- hypertalk
- javascript/ecmascript
- ./javascript/javascript
- ./javascript/jsx
- ./javascript/typescript
- ./kirikiri-tjs
- ./kotlin/kotlin-formal
- ./properties
- ./protobuf/protobuf3
- ./python/python
- ./python/python3_13
- ./sql/clickhouse
- ./sql/hive/v4
- ./sql/plsql
- ./sql/starrocks
- ./stringtemplate
- ./v
Some of these are probably ok, e.g., protobuf3, where I specifically call the parse twice (a symbol table is required for disambiguation of the grammar).