diff options
Diffstat (limited to 'impl/EquationSystem.g')
-rw-r--r-- | impl/EquationSystem.g | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/impl/EquationSystem.g b/impl/EquationSystem.g index cec400f..4884ca9 100644 --- a/impl/EquationSystem.g +++ b/impl/EquationSystem.g @@ -26,16 +26,19 @@ maxExpr : MAXIMUM^ '('! minExpr ( ','! minExpr )* ')'! | minExpr ; minExpr : MINIMUM^ '('! maxExpr ( ','! maxExpr )* ')'! | expr ; expr : '(' expr GREATER_EQUAL expr QUESTION_MARK expr ')' -> ^(GUARD expr expr expr) + | GUARD^ '('! maxExpr ','! maxExpr ','! maxExpr ')'! + | 'add'^ '('! maxExpr ( ','! maxExpr )* ')'! + | 'sub'^ '('! maxExpr ( ','! maxExpr )* ')'! + | 'mult'^ '('! maxExpr ( ','! maxExpr )* ')'! | term ( (PLUS | MULT | SUB | COMMA)^ expr )* ; term : NUMBER | VARIABLE - | '-'^ term - | '('! maxExpr ')'! ; + | '-'^ term ; NUMBER : (DIGIT)+ ; -VARIABLE: (LETTER) (LETTER | DIGIT)* ; +VARIABLE: (LETTER) (LETTER | DIGIT | '-' | '\[' | ']' )* ; WHITESPACE : ( '\t' | ' ' | '\u000C' )+ { $channel = HIDDEN; |