Javaの文法

Javaの文法を見ているのですが、おかしいところがありますね。
http://java.sun.com/docs/books/jls/second_edition/html/syntax.doc.html
ExpressionStatementの定義がありません。おそらく、StatementExpressionの間違いだと思われます。
VoidMethodDeclaratorRestの定義がありますが、どこにも使われていません。これは、MemberDeclの定義の2番目がそれだと思われます。
あと、ラベル付きステートメントの定義が2箇所にあると思われます。StatementとBlockStatementの2箇所に。これも多分おかしい・・・かな?



それは置いといて、改めてみると誰も知らないような文法もありますね。例えば、クラス宣言、インターフェース宣言はブロックの中に書くことが出来ます。

if (isSort) {
      class NameComparator implements Comparator {
            ...
      }
      ...
}