This chapter repeats the syntactic grammar given in Chapters 4, 6-10, 14, and 15, as well as key parts of the lexical grammar from Chapter 3, using the notation from §2.4.
Productions from §3 (Lexical Structure)
Productions from §4 (Types, Values, and Variables)
byte
short
int
long
char
float
double
Productions from §6 (Names)
Productions from §7 (Packages)
Productions from §8 (Classes)
extends
ClassType
implements
InterfaceTypeList
throws
ExceptionTypeList
static
Block
this
(
[ArgumentList] )
;
super
(
[ArgumentList] )
;
.
[TypeArguments] super
(
[ArgumentList] )
;
.
[TypeArguments] super
(
[ArgumentList] )
;
Productions from §9 (Interfaces)
extends
InterfaceTypeList
default
ElementValue
@
TypeName
Productions from §14 (Blocks and Statements)
;
finally
Block
Productions from §15 (Expressions)
(
[ArgumentList] )
.
[TypeArguments] Identifier
(
[ArgumentList] )
.
[TypeArguments] Identifier
(
[ArgumentList] )
.
[TypeArguments] Identifier
(
[ArgumentList] )
super
.
[TypeArguments] Identifier
(
[ArgumentList] )
.
super
.
[TypeArguments] Identifier
(
[ArgumentList] )
::
[TypeArguments] Identifier ::
[TypeArguments] Identifier ::
[TypeArguments] Identifier super
::
[TypeArguments] Identifier .
super
::
[TypeArguments] Identifier ::
[TypeArguments] new
::
new
=
*=
/=
%=
+=
-=
<<=
>>=
>>>=
&=
^=
|=