From a059de7c3d84661b9ba2ea94051e58a7a4ef7a3e Mon Sep 17 00:00:00 2001 From: bdemsky Date: Tue, 26 Apr 2011 22:15:30 +0000 Subject: [PATCH] changes --- Robust/src/Lex/Lexer.java | 14 +++++++++++++- Robust/src/Main/Main.java | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Robust/src/Lex/Lexer.java b/Robust/src/Lex/Lexer.java index f72f9412..a9df5223 100644 --- a/Robust/src/Lex/Lexer.java +++ b/Robust/src/Lex/Lexer.java @@ -16,15 +16,21 @@ public class Lexer { boolean isJava12; boolean isJava14; boolean isJava15; + boolean taskExt; String line = null; int line_pos = 1; - public int line_num = 0; + public int line_num = 0; LineList lineL = new LineList(-line_pos, null); // sentinel for line #0 public Lexer(Reader reader) { + this(reader, true); + } + + public Lexer(Reader reader, boolean task) { this.reader = new LineNumberReader(new EscapedUnicodeReader(reader)); this.isJava12 = true; this.isJava14 = true; + taskExt=task; } public java_cup.runtime.Symbol nextToken() throws java.io.IOException { @@ -292,6 +298,12 @@ public class Lexer { // pre-java 1.5 compatibility: //if (!isJava15 && s.equals("enum")) return new Identifier(s); // pre-java 1.4 compatibility: + + if (!taskExt && s.equals("taskexit")) return new Identifier(s); + if (!taskExt && s.equals("tag")) return new Identifier(s); + if (!taskExt && s.equals("flag")) return new Identifier(s); + if (!taskExt && s.equals("newflag")) return new Identifier(s); + if (!isJava14 && s.equals("assert")) return new Identifier(s); // pre-java 1.2 compatibility: if (!isJava12 && s.equals("strictfp")) return new Identifier(s); diff --git a/Robust/src/Main/Main.java b/Robust/src/Main/Main.java index 6d6a192e..d1c6c8b9 100644 --- a/Robust/src/Main/Main.java +++ b/Robust/src/Main/Main.java @@ -687,7 +687,7 @@ public class Main { public static ParseNode readSourceFile(State state, String sourcefile) { try { Reader fr= new BufferedReader(new FileReader(sourcefile)); - Lex.Lexer l = new Lex.Lexer(fr); + Lex.Lexer l = new Lex.Lexer(fr, state.TASK); java_cup.runtime.lr_parser g; g = new Parse.Parser(l); ParseNode p=null; -- 2.34.1