Java Reference
In-Depth Information
BreakStatement:
break ;
break
Identifier
;
and that:
BasicForStatement:
for (
ForInit
opt
;
Expression
opt
;
ForUpdate
opt
)
Statement
is a convenient abbreviation for:
BasicForStatement:
for ( ;
Expression
opt
;
ForUpdate
opt
)
Statement
for (
ForInit
;
Expression
opt
;
ForUpdate
opt
)
Statement
which in turn is an abbreviation for:
BasicForStatement:
for ( ; ;
ForUpdate
opt
)
Statement
for ( ;
Expression
;
ForUpdate
opt
)
Statement
for (
ForInit
; ;
ForUpdate
opt
)
Statement
for (
ForInit
;
Expression
;
ForUpdate
opt
)
Statement
which in turn is an abbreviation for:
BasicForStatement:
for ( ; ; )
Statement
for ( ; ;
ForUpdate
)
Statement
for ( ;
Expression
; )
Statement
for ( ;
Expression
;
ForUpdate
)
Statement
for (
ForInit
; ; )
Statement
for (
ForInit
; ;
ForUpdate
)
Statement
for (
ForInit
;
Expression
; )
Statement
for (
ForInit
;
Expression
;
ForUpdate
)
Statement
so the nonterminal
BasicForStatement
actually has eight alternative right-hand sides.
A very long right-hand side may be continued on a second line by substantially indenting
this second line.
For example, the syntactic grammar contains this production: