diff --git a/v2.1/src/main/antlr4/org/sdmx/vtl/Vtl.g4 b/v2.1/src/main/antlr4/org/sdmx/vtl/Vtl.g4 index 5b03acf..cd5bec0 100644 --- a/v2.1/src/main/antlr4/org/sdmx/vtl/Vtl.g4 +++ b/v2.1/src/main/antlr4/org/sdmx/vtl/Vtl.g4 @@ -26,7 +26,7 @@ expr: | left=expr op=AND right=expr # booleanExpr | left=expr op=(OR|XOR) right=expr # booleanExpr | IF conditionalExpr=expr THEN thenExpr=expr ELSE elseExpr=expr # ifExpr - | CASE WHEN whenExpr=expr THEN thenExpr=expr (WHEN whenExpr=expr THEN thenExpr=expr)* ELSE elseExpr=expr # caseExpr + | CASE WHEN (condExpr=expr THEN thenExpr=expr)+ ELSE elseExpr=expr # caseExpr | constant # constantExpr | varID # varIdExpr @@ -45,6 +45,7 @@ exprComponent: | left=exprComponent op=AND right=exprComponent # booleanExprComp | left=exprComponent op=(OR|XOR) right=exprComponent # booleanExprComp | IF conditionalExpr=exprComponent THEN thenExpr=exprComponent ELSE elseExpr=exprComponent # ifExprComp + | CASE WHEN (condExpr=exprComponent THEN thenExpr=exprComponent)+ ELSE elseExpr=exprComponent # caseExprComp | constant # constantExprComp | componentID # compId ;