1 %unary-expression 2+ 2? infix-operator (1) unary-expression unary-expression: 1+ 1? prefix-operator (1) 2 %elementary-expression elementary-expression: 1 (expression) 1 %reference 1 constant reference: 1? %locator-qualifier (2) 2 %basic-reference 3? (-| subscript-list | (3) -) 4+ 4? 4 (-| argument-list | (4) -) locator-qualifier: 1 (2) reference 2 -> 2 => 2 . basic-reference: 1? %qualified-reference (5) 2 identifier (6) subscript-list: 1 (3) 2+ , 2 expression 2 * argument-list: 1 (4) 2+ , 2 expression 2 * qualified-reference: 1 (5) basic-reference 2? (-| subscript-list |-) 3 .