-
Notifications
You must be signed in to change notification settings - Fork 2
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
parse() #27
Comments
That means I'll need to abstract away the differences between creating a new node and capturing values into its properties vs referencing an existing node and validating the values in its properties |
It's coming -- it's all happening. It turned out to be another complete rewrite more or less, but that is drawing to a close. |
The rewrite is merged into master and grammar productions are now essentially implemented as mini parsers. This took a whole lot of work, but it should now be relatively easy to implement |
The design for this is to add a |
|
Parsing works and has a public API, though precedence and |
I expect many of the innovations I've made so far to be applicable to the parsing process. In a world with perfect support for gaps and fragments the process of parsing a program is no different than the process of building the same program up as the programmer types it.
Take the simple program
2 + 5
and let's see how we would parse it:Now of course some big caveats: I'm skipping over all the hard parts of parsing anything. We will need this process to branch so that we can test multiple possible nodes types to resolve ambiguity.
The text was updated successfully, but these errors were encountered: