lrparsers/parser
John Doty 1d28c82007 Saving this for posterity, but it is doomed
Remember that tree levels are generated by context free languages, not
regular languages, and so they can only be recognized by push-down
automatons, not finite state machines.

What happened was that I failed to account for transparent rules.
Without transparent rules the children of a tree node do not have any
recursion in them (by definition!) and so therefore *are* a regular
language. But transparent rules change that: there *can be* recursion
hidden on the same tree level, and it should have been clear from a
moment's reflection that the recursion there meant that tree levels
were once again a context free language.

Fortunately we have a recognizer for context free languages lying
around, so we can just use that I guess.
2024-09-09 06:23:25 -07:00
..
__init__.py Move things into more modules 2024-06-10 05:50:09 -07:00
emacs.py Emit an emacs major mode 2024-09-06 11:51:09 -07:00
generated_source.py Helper routines for generating source code 2024-09-06 11:50:17 -07:00
parser.py The start rule cannot be transparent 2024-09-09 06:23:11 -07:00
runtime.py Teach trees to format themselves. 2024-09-09 06:22:56 -07:00
tree_sitter.py Add the language name to the end of generated scopes 2024-09-05 15:12:55 -07:00
wadler.py Saving this for posterity, but it is doomed 2024-09-09 06:23:25 -07:00