You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The priority of the operations +, -, , / in feature attribute constraints is wrong. The expression ab + cd therefore gets interpreted as (a (b + c)) * d, which is wrong. Currently the grammar looks like this:
expression:
FLOAT # FloatLiteralExpression
| INTEGER # IntegerLiteralExpression
| STRING # StringLiteralExpression
| aggregateFunction # AggregateFunctionExpression
| reference # LiteralExpression
| OPEN_PAREN expression CLOSE_PAREN # BracketExpression
| expression ADD expression # AddExpression
| expression SUB expression # SubExpression
| expression MUL expression # MulExpression
| expression DIV expression # DivExpression
;
Changing it to the following solves the problem:
expression:
FLOAT # FloatLiteralExpression
| INTEGER # IntegerLiteralExpression
| STRING # StringLiteralExpression
| aggregateFunction # AggregateFunctionExpression
| reference # LiteralExpression
| OPEN_PAREN expression CLOSE_PAREN # BracketExpression
| expression DIV expression # DivExpression
| expression MUL expression # MulExpression
| expression ADD expression # AddExpression
| expression SUB expression # SubExpression
;
The text was updated successfully, but these errors were encountered:
The priority of the operations +, -, , / in feature attribute constraints is wrong. The expression ab + cd therefore gets interpreted as (a (b + c)) * d, which is wrong. Currently the grammar looks like this:
expression:
FLOAT # FloatLiteralExpression
| INTEGER # IntegerLiteralExpression
| STRING # StringLiteralExpression
| aggregateFunction # AggregateFunctionExpression
| reference # LiteralExpression
| OPEN_PAREN expression CLOSE_PAREN # BracketExpression
| expression ADD expression # AddExpression
| expression SUB expression # SubExpression
| expression MUL expression # MulExpression
| expression DIV expression # DivExpression
;
Changing it to the following solves the problem:
expression:
FLOAT # FloatLiteralExpression
| INTEGER # IntegerLiteralExpression
| STRING # StringLiteralExpression
| aggregateFunction # AggregateFunctionExpression
| reference # LiteralExpression
| OPEN_PAREN expression CLOSE_PAREN # BracketExpression
| expression DIV expression # DivExpression
| expression MUL expression # MulExpression
| expression ADD expression # AddExpression
| expression SUB expression # SubExpression
;
The text was updated successfully, but these errors were encountered: