Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow epsilon grammar productions #7

Open
jbearer opened this issue Jun 23, 2021 · 0 comments
Open

Allow epsilon grammar productions #7

jbearer opened this issue Jun 23, 2021 · 0 comments
Labels
component:parser feature New feature or request
Milestone

Comments

@jbearer
Copy link
Owner

jbearer commented Jun 23, 2021

We should be able to define grammar productions with no symbols. This is extremely useful. For example, suppose we want to define a possibly empty sequence of symbols:

symbols -> # epsilon
symbols -> <symbol> <symbols>

Design-wise, this is easy. The representation of parse trees as iterable bl:mp objects makes it easy to create a parse tree with no symbols in the production of a macro definition. Implementation-wise, significant changes and additions to the LALR(1) parser will be needed.

@jbearer jbearer added the feature New feature or request label Jun 23, 2021
@jbearer jbearer added this to the 0.5 Roadmap milestone Jun 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:parser feature New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant