|
@@ -1,6 +1,7 @@
|
|
import { CommonTokenStream, InputStream } from 'antlr4/index';
|
|
import { CommonTokenStream, InputStream } from 'antlr4/index';
|
|
import * as Expressions from './expressions/';
|
|
import * as Expressions from './expressions/';
|
|
import * as Commands from './commands/';
|
|
import * as Commands from './commands/';
|
|
|
|
+import { recover } from "./ivprogLexer";
|
|
import { toInt, toString, toBool, toReal } from './../typeSystem/parsers';
|
|
import { toInt, toString, toBool, toReal } from './../typeSystem/parsers';
|
|
import { Types } from "./../typeSystem/types";
|
|
import { Types } from "./../typeSystem/types";
|
|
import { CompoundType } from "./../typeSystem/compoundType";
|
|
import { CompoundType } from "./../typeSystem/compoundType";
|
|
@@ -35,6 +36,7 @@ export class IVProgParser {
|
|
constructor (input, lexerClass) {
|
|
constructor (input, lexerClass) {
|
|
this.lexerClass = lexerClass;
|
|
this.lexerClass = lexerClass;
|
|
this.lexer = new lexerClass(new InputStream(input));
|
|
this.lexer = new lexerClass(new InputStream(input));
|
|
|
|
+ this.lexer.recover = recover.bind(this.lexer);
|
|
this.tokenStream = new CommonTokenStream(this.lexer);
|
|
this.tokenStream = new CommonTokenStream(this.lexer);
|
|
this.tokenStream.fill();
|
|
this.tokenStream.fill();
|
|
this.pos = 1;
|
|
this.pos = 1;
|