Как грамматика JLS соответствует простому доступу к полю (obj.f)?
Я смотрел наJLS Глава 19 грамматика пытаясь понять, как анализируется простой доступ к полю:
obj.field
Это выглядит как первый вариантFieldAccess производство, вероятно, участвует
FieldAccess:
первичный.
Идентификаторsuper
.
ИдентификаторTypeName
.
super
.
Идентификатори этопервичный Затем следует участвовать в разбореobj
часть.первичный кажется, не связан с анализом простой ссылки, какExpressionName, Кажется, это достигаетсяПостфиксноеВыражение.
ПостфиксноеВыражение:
первичныйExpressionName
PostIncrementExpression
PostDecrementExpression
и, AFAICT,ПостфиксноеВыражение не является леворекурсивным спервичный.
Я что-то пропустил?
Есть ли другой способ, которымпервичный дна наExpressionName или жеAmbiguousName?
РЕДАКТИРОВАТЬ:
я сделалDOT → график SVG отношений между нетерминалами в грамматике. Если ребро синего цвета, то нетерминальное использование используется нетерминалом в начале нетерминала, следующего за острием стрелки.