public Rule arrayInitializer() { return Sequence( Ch('{'), group.basics.optWS(), Optional(Sequence( FirstOf(arrayInitializer(), anyExpression()).label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), FirstOf(arrayInitializer(), anyExpression()).label("tail"))), Optional(Ch(',')), group.basics.optWS())), Ch('}'), group.basics.optWS(), set(actions.createArrayInitializerExpression(value("Optional/Sequence/head"), values("Optional/Sequence/ZeroOrMore/Sequence/tail")))); }
public Rule arrayInitializer() { return Sequence( Ch('{'), group.basics.optWS(), Optional(Sequence( FirstOf(arrayInitializer(), anyExpression()).label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), FirstOf(arrayInitializer(), anyExpression()).label("tail"))), Optional(Ch(',')), group.basics.optWS())), Ch('}'), group.basics.optWS(), set(actions.createArrayInitializerExpression(value("Optional/Sequence/head"), values("Optional/Sequence/ZeroOrMore/Sequence/tail")))); }
public Rule arrayInitializer() { return Sequence( Ch('{'), group.basics.optWS(), Optional(Sequence( FirstOf(arrayInitializer(), anyExpression()).label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), FirstOf(arrayInitializer(), anyExpression()).label("tail"))), Optional(Ch(',')), group.basics.optWS())), Ch('}'), group.basics.optWS(), set(actions.createArrayInitializerExpression(value("Optional/Sequence/head"), values("Optional/Sequence/ZeroOrMore/Sequence/tail")))); }
Rule variableDefinitionPart() { return Sequence( group.basics.identifier().label("varName"), ZeroOrMore(Sequence(Ch('['), group.basics.optWS(), Ch(']'), group.basics.optWS()).label("dim")).label("dims"), Optional(Sequence( Ch('='), group.basics.optWS(), FirstOf( group.expressions.arrayInitializer(), group.expressions.anyExpression()))).label("initializer"), set(actions.createVariableDefinitionPart(value("varName"), texts("dims/dim"), value("initializer")))); }
Rule variableDefinitionPart() { return Sequence( group.basics.identifier().label("varName"), ZeroOrMore(Sequence(Ch('['), group.basics.optWS(), Ch(']'), group.basics.optWS()).label("dim")).label("dims"), Optional(Sequence( Ch('='), group.basics.optWS(), FirstOf( group.expressions.arrayInitializer(), group.expressions.anyExpression()))).label("initializer"), set(actions.createVariableDefinitionPart(value("varName"), texts("dims/dim"), value("initializer")))); }
Rule variableDefinitionPart() { return Sequence( group.basics.identifier().label("varName"), ZeroOrMore(Sequence(Ch('['), group.basics.optWS(), Ch(']'), group.basics.optWS()).label("dim")).label("dims"), Optional(Sequence( Ch('='), group.basics.optWS(), FirstOf( group.expressions.arrayInitializer(), group.expressions.anyExpression()))).label("initializer"), set(actions.createVariableDefinitionPart(value("varName"), texts("dims/dim"), value("initializer")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.3">JLS section 10.3</a> * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.10">JLS section 15.10</a> */ Rule arrayCreationExpression() { return Sequence( String("new"), group.basics.testLexBreak(), group.basics.optWS(), group.types.nonArrayType().label("type"), OneOrMore(Sequence( Ch('[').label("openArray"), group.basics.optWS(), Optional(anyExpression()).label("dimension"), Ch(']'), group.basics.optWS(), set(actions.createDimension(value("dimension"), node("openArray"))))), Optional(arrayInitializer()).label("initializer"), set(actions.createArrayCreationExpression(value("type"), values("OneOrMore/Sequence"), value("initializer")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.3">JLS section 10.3</a> * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.10">JLS section 15.10</a> */ Rule arrayCreationExpression() { return Sequence( String("new"), group.basics.testLexBreak(), group.basics.optWS(), group.types.nonArrayType().label("type"), OneOrMore(Sequence( Ch('[').label("openArray"), group.basics.optWS(), Optional(anyExpression()).label("dimension"), Ch(']'), group.basics.optWS(), set(actions.createDimension(value("dimension"), node("openArray"))))), Optional(arrayInitializer()).label("initializer"), set(actions.createArrayCreationExpression(value("type"), values("OneOrMore/Sequence"), value("initializer")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.3">JLS section 10.3</a> * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.10">JLS section 15.10</a> */ Rule arrayCreationExpression() { return Sequence( String("new"), group.basics.testLexBreak(), group.basics.optWS(), group.types.nonArrayType().label("type"), OneOrMore(Sequence( Ch('[').label("openArray"), group.basics.optWS(), Optional(anyExpression()).label("dimension"), Ch(']'), group.basics.optWS(), set(actions.createDimension(value("dimension"), node("openArray"))))), Optional(arrayInitializer()).label("initializer"), set(actions.createArrayCreationExpression(value("type"), values("OneOrMore/Sequence"), value("initializer")))); }