public StatementsParser(ParserGroup group) { this.actions = new StatementsActions(group.getSource()); this.group = group; }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.4">JLS section 14.4</a> */ public Rule variableDefinition() { return Sequence( group.structures.variableDefinitionModifiers().label("modifiers"), group.structures.variableDefinition(), set(), set(actions.posify(value())), set(actions.addLocalVariableModifiers(value(), value("modifiers")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.16">JLS section 14.16</a> */ public Rule continueStatement() { return Sequence( String("continue"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createContinue(value("identifier")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11">JLS section 14.11</a> */ public Rule caseStatement() { return Sequence( String("case"), group.basics.testLexBreak(), group.basics.optWS(), group.expressions.anyExpression(), set(), Ch(':'), group.basics.optWS(), set(actions.createCaseStatement(value()))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.15">JLS section 14.15</a> */ public Rule breakStatement() { return Sequence( String("break"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createBreak(value("identifier")))); }
Rule catchBlock() { return Sequence( String("catch"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), group.structures.variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), group.basics.identifier().label("varName"), Ch(')'), group.basics.optWS(), blockStatement().label("body"), set(actions.createCatch(value("modifiers"), value("type"), value("varName"), value("body")))); } }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.2">JLS section 14.2</a> */ public Rule blockStatement() { return Sequence( Ch('{'), group.basics.optWS(), ZeroOrMore(anyStatement().label("statement")), Ch('}'), group.basics.optWS(), set(actions.createBlock(values("ZeroOrMore/statement")))); }
public Rule explicitAlternateConstructorInvocation() { return Sequence( group.types.typeArguments().label("typeArgs"), String("this"), group.basics.testLexBreak(), group.basics.optWS(), group.structures.methodArguments().label("arguments"), Ch(';'), group.basics.optWS(), set(actions.createAlternateConstructorInvocation(value("typeArgs"), value("arguments")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.10">JLS section 14.10</a> */ public Rule assertStatement() { return Sequence( String("assert"), group.basics.testLexBreak(), group.basics.optWS(), group.expressions.anyExpression(), set(), Optional(Sequence( Ch(':'), group.basics.optWS(), group.expressions.anyExpression(), set())), Ch(';'), group.basics.optWS(), set(actions.createAssertStatement(value(), value("Optional/Sequence")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14.1.1">JLS section 14.14.1.1</a> */ public Rule basicForStatement() { return Sequence( String("for"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), forInit().label("init"), Ch(';'), group.basics.optWS(), Optional(group.expressions.anyExpression()).label("condition"), Ch(';'), group.basics.optWS(), forUpdate().label("update"), Ch(')'), group.basics.optWS(), anyStatement().label("statement"), set(actions.createBasicFor(value("init"), value("condition"), value("update"), value("statement")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.16">JLS section 14.16</a> */ public Rule continueStatement() { return Sequence( String("continue"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createContinue(value("identifier")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11">JLS section 14.11</a> */ public Rule caseStatement() { return Sequence( String("case"), group.basics.testLexBreak(), group.basics.optWS(), group.expressions.anyExpression(), set(), Ch(':'), group.basics.optWS(), set(actions.createCaseStatement(value()))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.15">JLS section 14.15</a> */ public Rule breakStatement() { return Sequence( String("break"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createBreak(value("identifier")))); }
Rule catchBlock() { return Sequence( String("catch"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), group.structures.variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), group.basics.identifier().label("varName"), Ch(')'), group.basics.optWS(), blockStatement().label("body"), set(actions.createCatch(value("modifiers"), value("type"), value("varName"), value("body")))); } }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.2">JLS section 14.2</a> */ public Rule blockStatement() { return Sequence( Ch('{'), group.basics.optWS(), ZeroOrMore(anyStatement().label("statement")), Ch('}'), group.basics.optWS(), set(actions.createBlock(values("ZeroOrMore/statement")))); }
public Rule explicitAlternateConstructorInvocation() { return Sequence( group.types.typeArguments().label("typeArgs"), String("this"), group.basics.testLexBreak(), group.basics.optWS(), group.structures.methodArguments().label("arguments"), Ch(';'), group.basics.optWS(), set(actions.createAlternateConstructorInvocation(value("typeArgs"), value("arguments")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.10">JLS section 14.10</a> */ public Rule assertStatement() { return Sequence( String("assert"), group.basics.testLexBreak(), group.basics.optWS(), group.expressions.anyExpression(), set(), Optional(Sequence( Ch(':'), group.basics.optWS(), group.expressions.anyExpression(), set())), Ch(';'), group.basics.optWS(), set(actions.createAssertStatement(value(), value("Optional/Sequence")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.14.1.1">JLS section 14.14.1.1</a> */ public Rule basicForStatement() { return Sequence( String("for"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), forInit().label("init"), Ch(';'), group.basics.optWS(), Optional(group.expressions.anyExpression()).label("condition"), Ch(';'), group.basics.optWS(), forUpdate().label("update"), Ch(')'), group.basics.optWS(), anyStatement().label("statement"), set(actions.createBasicFor(value("init"), value("condition"), value("update"), value("statement")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.4">JLS section 14.4</a> */ public Rule variableDefinition() { return Sequence( group.structures.variableDefinitionModifiers().label("modifiers"), group.structures.variableDefinition(), set(), set(actions.posify(value())), set(actions.addLocalVariableModifiers(value(), value("modifiers")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.16">JLS section 14.16</a> */ public Rule continueStatement() { return Sequence( String("continue"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createContinue(value("identifier")))); }