diff --git a/tdt4250.xjava.examples/examples/TestClass.xjava b/tdt4250.xjava.examples/examples/TestClass.xjava index 76023e11180c9565f07923749f49a20742079293..8e8e4074d4aa94742987f77b80035ebf93afea2d 100644 --- a/tdt4250.xjava.examples/examples/TestClass.xjava +++ b/tdt4250.xjava.examples/examples/TestClass.xjava @@ -5,12 +5,33 @@ import java.util.Collection; class TestClass extends AbstractTestClass { - private String name; + private String name = "fdhjls"; + private String familyName = "fdhjls"; public void hello(String name, int num) { - + // if + if (this.name) { + // assignment + familyName = "fdjsklø"; + } + // while + while (age) { + // feature call + this.name(age); + } + // do/while + do { + + } while (age); + // for + for (int a; a; a++) { + + } + // foreach + for (int a : b) { + + } } - private int age; - + private int age = 54; } \ No newline at end of file diff --git a/tdt4250.xjava/src/tdt4250/Xjava.xtext b/tdt4250.xjava/src/tdt4250/Xjava.xtext index 8e2d552fcc6ac57f8c05f5fde04a473b8425f8bc..2b6fca1a07f1893b6a6ac046f1d5f39ceba87d98 100644 --- a/tdt4250.xjava/src/tdt4250/Xjava.xtext +++ b/tdt4250.xjava/src/tdt4250/Xjava.xtext @@ -86,7 +86,7 @@ ParameterDeclaration: // Statements Statement: - BlockStatement | EmptyStatement | VariablesDeclaration | Assignment | FeatureStatement | + BlockStatement | EmptyStatement | VariablesDeclaration | AssignmentStatement | FeatureStatement | IfStatement | WhileStatement | DoWhileStatement | ForStatement ; @@ -132,6 +132,10 @@ Assignment: (varDecl = [AssignmentTarget | ID] (ASSIGN_OP expr = Expression)) | (varDecl = [AssignmentTarget | ID] PRE_POST_ASSIGN_OP) ) +; + +AssignmentStatement: + assignment = Assignment ';' ; @@ -153,11 +157,6 @@ DoWhileStatement: 'while' '(' condition = Expression ')' ';' ; -XForStatement: - 'for' '(' initStatement = VariablesDeclaration condition = Expression ';' stepStatement = Assignment')' - bodyStatement = Statement -; - ForStatement: 'for' '(' type = TypeReference name = ID @@ -166,7 +165,7 @@ ForStatement: (':' forEachInitializer = Expression) | ( ('=' initializer = Expression)? - otherVars += VariableDeclarationPart (',' otherVars += VariableDeclarationPart)* ';' + (otherVars += VariableDeclarationPart (',' otherVars += VariableDeclarationPart)*)? ';' condition = Expression ';' assign = Assignment ) )