Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Interface

 

Statements

 

Expressions

...

Code Block
titleGrammar
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
titleExample
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
titleGrammar
Metadata               ::= ID "=" MetadataValue.
MetadataValue          ::= MetadataValueSingle | MetadataValueList | MetadataValueMap.
MetadataValueSingle    ::= INTEGER | Double | CHAR | STRING | BOOLEAN | QName.
MetadataValueList      ::= "[" (MetadataValue ("," MetadataValue)*)? "]".
MetadataValueMap       ::= "[" (MetadataValueMapEntry ("," MetadataValueMapEntry)*)? "]".
MetadataValueMapEntry  ::= MetadataValue ":" MetadataValue.

...