¿Cómo coincide la gramática JLS con los accesos de campo simple (obj.f)?

Estaba mirando elJLS Capítulo 19 gramática tratando de descubrir cómo se analiza un acceso de campo simple:

obj.field

A mí me parece la primera variante de laFieldAccess la producción probablemente esté involucrada

FieldAccess:

Primario . Identificador
super . Identificador
Escribe un nombre . super . Identificador

y esoPrimario entonces debería participar en el análisis delobj parte.Primario no parece estar involucrado con el análisis de una referencia simple comoExpressionName. Eso parece ser alcanzado a través dePostfixExpression.

PostfixExpression:

Primario
ExpressionName
PostIncrementExpression
PostDecrementExpression

y, AFAICT,PostfixExpression no es recursivo a la izquierda conPrimario.

¿Me estoy perdiendo de algo?

¿Hay alguna otra forma en que unPrimario toca fondo en unExpressionName oNombre ambiguo?

EDITAR:

Hice unaDOT → gráfico SVG de las relaciones entre no terminales en la gramática. Si un borde es azul, entonces hay un uso recursivo a la izquierda por el no terminal al comienzo del no terminal que sigue a la punta de la flecha.

Respuestas a la pregunta(1)

Su respuesta a la pregunta