You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Feb 3, 2020. It is now read-only.
In order to implement arbitrary field access, you technically need to apply left-recursion which is notoriously hard in a PEG grammar. To make things easier, this was left out of the initial parser code.
Implementation Notes
Do something like what was done to support conditionals: parse everything in sequence and then nest everything together in one step.
Be able to access fields to an arbitrary depth: a.b, a.b.c, a.b.c.d.e, etc.
Fields should be properly nested so that foo.bar.spam.car is equivalent to ((foo.bar).spam).car.
Should be able to access fields on pretty much any valid expression (identifiers, string literals, numbers, groups, etc.)
Note that this does not imply fields can be any other type other than identifier
The text was updated successfully, but these errors were encountered:
In order to implement arbitrary field access, you technically need to apply left-recursion which is notoriously hard in a PEG grammar. To make things easier, this was left out of the initial parser code.
Implementation Notes
Do something like what was done to support conditionals: parse everything in sequence and then nest everything together in one step.
a.b
,a.b.c
,a.b.c.d.e
, etc.foo.bar.spam.car
is equivalent to((foo.bar).spam).car
.The text was updated successfully, but these errors were encountered: