Better error handling for .foo case in parser. See #141.
This commit is contained in:
1 parent
b90ae078b8
commit
2c4ccd122e
1 file changed
+10
-1
@@ -227,7 +227,7 @@ Term "as" '$' IDENT '|' Exp {
|
|||||||
"if" Exp "then" Exp ElseBody {
|
"if" Exp "then" Exp ElseBody {
|
||||||
$$ = gen_cond($2, $4, $5);
|
$$ = gen_cond($2, $4, $5);
|
||||||
} |
|
} |
|
||||||
"if" Exp error {
|
"if" Exp "then" error {
|
||||||
FAIL(@$, "Possibly unterminated 'if' statment");
|
FAIL(@$, "Possibly unterminated 'if' statment");
|
||||||
$$ = $2;
|
$$ = $2;
|
||||||
} |
|
} |
|
||||||
@@ -405,6 +405,15 @@ Term '.' IDENT {
|
|||||||
'.' IDENT {
|
'.' IDENT {
|
||||||
$$ = gen_index(gen_noop(), gen_const($2));
|
$$ = gen_index(gen_noop(), gen_const($2));
|
||||||
} |
|
} |
|
||||||
|
'.' error {
|
||||||
|
FAIL(@$, "try .[\"field\"] instead of .field for unusually named fields");
|
||||||
|
$$ = gen_noop();
|
||||||
|
} |
|
||||||
|
'.' IDENT error {
|
||||||
|
jv_free($2);
|
||||||
|
FAIL(@$, "try .[\"field\"] instead of .field for unusually named fields");
|
||||||
|
$$ = gen_noop();
|
||||||
|
} |
|
||||||
/* FIXME: string literals */
|
/* FIXME: string literals */
|
||||||
Term '[' Exp ']' {
|
Term '[' Exp ']' {
|
||||||
$$ = gen_index($1, $3);
|
$$ = gen_index($1, $3);
|
||||||
|
|||||||
Reference in new issue
Block a user