Javaの文法(3)

3版も結構マチガイがある。

TYPE:
	Identifier [TypeArguments]{ . Identifier [TypeArguments]} {  }
	BasicType {  }

赤の箇所が抜けている。これがないと、new int[]という記述ができなくなる。

Expression:
        Expression1 [ AssignmentOperator Expression1 ] ]

最後の']'が余計。単純なミス。

MethodOrFieldRest:
        VariableDeclaratorsRest
        MethodDeclaratorRest

ここでは、VariableDeclaratorRestではなく、VariableDeclaratorsRestでなければならない。そうでないと、ローカル変数の宣言で、int aaa,bbb;という記述ができない。

Selector: Selector:
        . Identifier [Arguments]
        . ExplicitGenericInvocation
        . this
        . super SuperSuffix
        . new [NonWildcardTypeArguments] InnerCreator
        [ Expression ]

Selector:は余分。単純なミス。


うーむ。ちょっと多すぎないか?