Skip to content

[various grammars] Improper use of start rule on RHS. #4610

@kaby76

Description

@kaby76

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions