feat(Parser): improve error handling

This commit is contained in:
vsavkin
2014-11-05 13:53:45 -08:00
parent ac060ed405
commit 977bc77c96
3 changed files with 25 additions and 3 deletions

View File

@ -150,9 +150,16 @@ class _ParseAST {
}
parseExpression() {
var start = this.inputIndex;
var result = this.parseConditional();
while (this.next.isOperator('=')) {
if (!result.isAssignable) {
var end = this.inputIndex;
var expression = this.input.substring(start, end);
this.error(`Expression ${expression} is not assignable`);
}
this.expectOperator('=');
result = new Assignment(result, this.parseConditional());
}