From dc315e2e35f474b7b8421fdd9f7dcc888ea7621f Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Thu, 20 Jul 2023 18:52:28 +0200 Subject: [PATCH] Replace Parser.last_* fields with a single local variable --- src/main/java/org/sablecc/sablecc/parser/Parser.java | 11 +++-------- src/main/resources/org/sablecc/sablecc/parser.txt | 11 +++-------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java index 25f7533..fd96806 100644 --- a/src/main/java/org/sablecc/sablecc/parser/Parser.java +++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java @@ -26,9 +26,6 @@ public class Parser implements IParser private final Lexer lexer; private final ListIterator<State> stack = new LinkedList<State>().listIterator(); - private int last_pos; - private int last_line; - private Token last_token; private final TokenIndex converter = new TokenIndex(); private final static int SHIFT = 0; @@ -182,9 +179,7 @@ public class Parser implements IParser this.lexer.next(); } - this.last_pos = this.lexer.peek().getPos(); - this.last_line = this.lexer.peek().getLine(); - this.last_token = this.lexer.peek(); + Token lastToken = this.lexer.peek(); int index = index(this.lexer.peek()); int state = state(); @@ -1850,8 +1845,8 @@ public class Parser implements IParser return node; } case ERROR: - throw new ParserException(this.last_token, - "[" + this.last_line + "," + this.last_pos + "] " , + throw new ParserException(lastToken, + "[" + lastToken.getLine() + "," + lastToken.getPos() + "] " , Parser.errorMessages[Parser.errors[destination]]); } } diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index b90e4a6..cd56e7b 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -34,9 +34,6 @@ public class Parser implements IParser private final Lexer lexer; private final ListIterator<State> stack = new LinkedList<State>().listIterator(); - private int last_pos; - private int last_line; - private Token last_token; private final TokenIndex converter = new TokenIndex(); private final static int SHIFT = 0; @@ -216,9 +213,7 @@ Macro:ParserCommon this.lexer.next(); } - this.last_pos = this.lexer.peek().getPos(); - this.last_line = this.lexer.peek().getLine(); - this.last_token = this.lexer.peek(); + Token lastToken = this.lexer.peek(); int index = index(this.lexer.peek()); int state = state(); @@ -294,8 +289,8 @@ Macro:ParserParseTail return node; } case ERROR: - throw new ParserException(this.last_token, - "[" + this.last_line + "," + this.last_pos + "] " , + throw new ParserException(lastToken, + "[" + lastToken.getLine() + "," + lastToken.getPos() + "] " , Parser.errorMessages[Parser.errors[destination]]); } } -- GitLab