Rule map() { return Sequence( symbol(OPEN_CURLY_BRACKET), push(new ValueMap()), mandatory( Sequence( Optional( variable(), symbol(DIV), expression(), ((ValueMap) peek(2)).add(popVariableName(1), pop()), ZeroOrMore( symbol(COMMA), variable(), symbol(DIV), expression(), ((ValueMap) peek(2)).add(popVariableName(1), pop()) ) ), symbol(CLOSE_CURLY_BRACKET) ), new ParseException("Wrong map syntax") ) ); }
Rule map() { return Sequence( symbol(OPEN_CURLY_BRACKET), push(new ValueMap()), mandatory( Sequence( Optional( variable(), symbol(DIV), expression(), ((ValueMap) peek(2)).add(popVariableName(1), pop()), ZeroOrMore( symbol(COMMA), variable(), symbol(DIV), expression(), ((ValueMap) peek(2)).add(popVariableName(1), pop()) ) ), symbol(CLOSE_CURLY_BRACKET) ), new ParseException("Wrong map syntax") ) ); }
Rule ternaryOperation() { return Sequence( elementar(), push(new OperationTernary(pop())), symbol(QUESTION), mandatory( Sequence( expression(), ((OperationTernary) peek(1)).setIfTrueExpression(pop()), symbol(DIV), expression(), ((OperationTernary) peek(1)).setIfFalseExpression(pop()) ), new ParseException("Wring ternary operation syntax") ) ); }
Rule ternaryOperation() { return Sequence( elementar(), push(new OperationTernary(pop())), symbol(QUESTION), mandatory( Sequence( expression(), ((OperationTernary) peek(1)).setIfTrueExpression(pop()), symbol(DIV), expression(), ((OperationTernary) peek(1)).setIfFalseExpression(pop()) ), new ParseException("Wring ternary operation syntax") ) ); }
Rule functionWithBrackets() { return Sequence( variable(), symbol(OPEN_PARENT), push(new FunctionElement(popVariableName())), mandatory( Sequence( expression(), ((FunctionElement) peek(1)).add(pop()), ZeroOrMore( symbol(COMMA), expression(), ((FunctionElement) peek(1)).add(pop()) ), symbol(CLOSE_PARENT) ), new ParseException("Wrong function syntax") ) ); }
Rule functionWithBrackets() { return Sequence( variable(), symbol(OPEN_PARENT), push(new FunctionElement(popVariableName())), mandatory( Sequence( expression(), ((FunctionElement) peek(1)).add(pop()), ZeroOrMore( symbol(COMMA), expression(), ((FunctionElement) peek(1)).add(pop()) ), symbol(CLOSE_PARENT) ), new ParseException("Wrong function syntax") ) ); }
Rule enumeratedList() { return Sequence( symbol(OPEN_BRACKET), push(new ValueList()), mandatory( Sequence( Optional( expression(), ((ValueList) peek(1)).add(pop()), ZeroOrMore( symbol(COMMA), expression(), ((ValueList) peek(1)).add(pop()) ) ), symbol(CLOSE_BRACKET) ), new ParseException("Wrong list syntax") ) ); }
Rule enumeratedList() { return Sequence( symbol(OPEN_BRACKET), push(new ValueList()), mandatory( Sequence( Optional( expression(), ((ValueList) peek(1)).add(pop()), ZeroOrMore( symbol(COMMA), expression(), ((ValueList) peek(1)).add(pop()) ) ), symbol(CLOSE_BRACKET) ), new ParseException("Wrong list syntax") ) ); }