...
Interface
Statements
Expressions
...
Code Block | ||
---|---|---|
| ||
Statement ::= ( StatementBlock | IfStatement | SwitchStatement | WhileStatement | DoWhileStatement | ForStatement | ForEachStatement
| VariableStatement | ConstructorStatement | ExpressionStatement | BreakStatement | ContinueStatement | ReturnStatement ).
StatementBlock ::= "{" (Statement)* "}".
IfStatement ::= "if" "(" Expression ")" Statement ("else" Statement)?.
SwitchStatement ::= "switch" "(" Expression ")" "{" ("case" Expression ":" (Statement)*)* ("default" ":" (Statement)*)? "}"
WhileStatement ::= "while" "(" Expression ")" Statement.
DoWhileStatement ::= "do" Statement "while" "(" Expression ")" ";".
ForStatement ::= "for" "(" VariableDeclaration ";" Expression ";" Expression ")" Statement.
ForEachStatement ::= "for" "(" VariableDeclaration ":" Expression ")" Statement.
VariableStatement ::= VariableDeclaration VariableInit ";".
ConstructorStatement ::= ("super" | "this") "(" (ArgsList)? ")" ";".
ExpressionStatement ::= Expression ";".
BreakStatement ::= "break" ";".
ContinueStatement ::= "continue" ";".
ReturnStatement ::= "return" (Expression)? ";". |
Code Block | ||
---|---|---|
| ||
int i = 2;
if (i>2) {
}
switch(i) {
case 2 :
return true;
case 4 :
return true;
default :
return false;
}
while (i>2) {
}
for (int j = 0; j<10; j++) {
}
List list = [1,2,3];
for (Object element : list) {
} |
Metadata
Code Block | ||
---|---|---|
| ||
Metadata ::= ID "=" MetadataValue. MetadataValue ::= MetadataValueSingle | MetadataValueList | MetadataValueMap. MetadataValueSingle ::= INTEGER | Double | CHAR | STRING | BOOLEAN | QName. MetadataValueList ::= "[" (MetadataValue ("," MetadataValue)*)? "]". MetadataValueMap ::= "[" (MetadataValueMapEntry ("," MetadataValueMapEntry)*)? "]". MetadataValueMapEntry ::= MetadataValue ":" MetadataValue. |
...