Skip to content

Commit 954adae

Browse files
committed
Add a bunch of missing test cases for parser errors
1 parent a397611 commit 954adae

20 files changed

Lines changed: 232 additions & 23 deletions

src/frontend/parser.messages

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1136,24 +1136,6 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN RPAREN SEMICOLON WHILE
11361136

11371137
@{<light_red>Ill-formed block.@} Expected a @{<green>"}"@} or a function definition or declaration.
11381138

1139-
functions_only: COMPLEX IDENTIFIER LPAREN COMPLEX RPAREN
1140-
## Concrete syntax: complex foo ( complex )
1141-
functions_only: COMPLEX IDENTIFIER LPAREN COMPLEX UNREACHABLE
1142-
##
1143-
## Concrete syntax: complex foo ( complex <<<<UNREACHABLE>>>
1144-
##
1145-
## Ends in an error in state: 43.
1146-
##
1147-
## basic_type -> basic_type . LABRACK UNREACHABLE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SUMTOZEROVEC SUMTOZEROMAT STOCHASTICROWMATRIX STOCHASTICCOLUMNMATRIX SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK LABRACK JACOBIAN INT IN IF IDENTIFIER FUNCTIONBLOCK FOR FATAL_ERROR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ]
1148-
## unsized_type -> basic_type . LBRACK UNREACHABLE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SUMTOZEROVEC SUMTOZEROMAT STOCHASTICROWMATRIX STOCHASTICCOLUMNMATRIX SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER JACOBIAN INT IN IF IDENTIFIER FUNCTIONBLOCK FOR FATAL_ERROR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ]
1149-
## unsized_type -> basic_type . [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SUMTOZEROVEC SUMTOZEROMAT STOCHASTICROWMATRIX STOCHASTICCOLUMNMATRIX SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER JACOBIAN INT IN IF IDENTIFIER FUNCTIONBLOCK FOR FATAL_ERROR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ]
1150-
##
1151-
## The known suffix of the stack is as follows:
1152-
## basic_type
1153-
##
1154-
1155-
@{<light_red>Ill-formed function argument.@} Expected an identifier after the type for the function argument name.
1156-
11571139
program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN DATABLOCK WHILE
11581140
##
11591141
## Concrete syntax: functions { void foo ( data while
@@ -1276,6 +1258,10 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER WHILE
12761258

12771259
@{<light_red>Ill-formed function.@} Expected @{<green>"("@} after function name.
12781260

1261+
functions_only: COMPLEX IDENTIFIER LPAREN COMPLEX RPAREN
1262+
## Concrete syntax: complex foo ( complex )
1263+
functions_only: COMPLEX IDENTIFIER LPAREN COMPLEX UNREACHABLE
1264+
## Concrete syntax: complex foo ( complex <<<<UNREACHABLE>>>
12791265
program: FUNCTIONBLOCK LBRACE VOID LBRACK
12801266
##
12811267
## Concrete syntax: functions { void [
@@ -1288,7 +1274,7 @@ program: FUNCTIONBLOCK LBRACE VOID LBRACK
12881274
## return_type
12891275
##
12901276

1291-
@{<light_red>Ill-formed function.@} Expected an identifier as a function name.
1277+
@{<light_red>Ill-formed function.@} Expected an identifier after the type.
12921278

12931279
program: FUNCTIONBLOCK LBRACE WHILE
12941280
##
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
transformed parameters {
2+
3+
}
4+
mdel {}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
array[,,] x() {
2+
return ones_array(3, 3);
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
model {
2+
array[3,3] x;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
model {
2+
array real x;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
transformed parameters {
2+
jacobian += while;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
transformed data {
2+
vector[2] foo = [ ;
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
model {
2+
real; foo;
3+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
functions {
2+
real (int x) {
3+
return x + 1.0;
4+
}
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
functions {
2+
void (int x) {
3+
return x + 1.0;
4+
}
5+
}

0 commit comments

Comments
 (0)