diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java index c23684d97bc6ad40fc6a2548c44ef60dfbdf7a48..3e04de83651404c2b2ffb16b5b3bf9b024cdc1e3 100644 --- a/src/main/java/org/sablecc/sablecc/parser/Parser.java +++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java @@ -30,7 +30,8 @@ public class Parser implements IParser private int last_line; private Token last_token; private final TokenIndex converter = new TokenIndex(); - private final int[] action = new int[2]; + private int action; + private int destination; private final static int SHIFT = 0; private final static int REDUCE = 1; @@ -188,8 +189,8 @@ public class Parser implements IParser this.last_token = this.lexer.peek(); int index = index(this.lexer.peek()); - this.action[0] = Parser.actionTable[state()][0][1]; - this.action[1] = Parser.actionTable[state()][0][2]; + this.action = Parser.actionTable[state()][0][1]; + this.destination = Parser.actionTable[state()][0][2]; int low = 1; int high = Parser.actionTable[state()].length - 1; @@ -208,23 +209,23 @@ public class Parser implements IParser } else { - this.action[0] = Parser.actionTable[state()][middle][1]; - this.action[1] = Parser.actionTable[state()][middle][2]; + this.action = Parser.actionTable[state()][middle][1]; + this.destination = Parser.actionTable[state()][middle][2]; break; } } - switch(this.action[0]) + switch(this.action) { case SHIFT: { List<Object> list = new ArrayList<Object>(); list.add(this.lexer.next()); - push(this.action[1], list); + push(this.destination, list); } break; case REDUCE: - switch(this.action[1]) + switch(this.destination) { case 0: /* reduce AAgrammar1Grammar */ { @@ -1852,7 +1853,7 @@ public class Parser implements IParser case ERROR: throw new ParserException(this.last_token, "[" + this.last_line + "," + this.last_pos + "] " , - Parser.errorMessages[Parser.errors[this.action[1]]]); + Parser.errorMessages[Parser.errors[this.destination]]); } } } diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index e5a46dc88e2a8f439c4512b47838348d6414f1db..7842214a2f491980ba54a40c0c70c5f77ddaa1f1 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -38,7 +38,8 @@ public class Parser implements IParser private int last_line; private Token last_token; private final TokenIndex converter = new TokenIndex(); - private final int[] action = new int[2]; + private int action; + private int destination; private final static int SHIFT = 0; private final static int REDUCE = 1; @@ -222,8 +223,8 @@ Macro:ParserCommon this.last_token = this.lexer.peek(); int index = index(this.lexer.peek()); - this.action[0] = Parser.actionTable[state()][0][1]; - this.action[1] = Parser.actionTable[state()][0][2]; + this.action = Parser.actionTable[state()][0][1]; + this.destination = Parser.actionTable[state()][0][2]; int low = 1; int high = Parser.actionTable[state()].length - 1; @@ -242,23 +243,23 @@ Macro:ParserCommon } else { - this.action[0] = Parser.actionTable[state()][middle][1]; - this.action[1] = Parser.actionTable[state()][middle][2]; + this.action = Parser.actionTable[state()][middle][1]; + this.destination = Parser.actionTable[state()][middle][2]; break; } } - switch(this.action[0]) + switch(this.action) { case SHIFT: { List<Object> list = new ArrayList<Object>(); list.add(this.lexer.next()); - push(this.action[1], list$1$); + push(this.destination, list$1$); } break; case REDUCE: - switch(this.action[1]) + switch(this.destination) { $ @@ -296,7 +297,7 @@ Macro:ParserParseTail case ERROR: throw new ParserException(this.last_token, "[" + this.last_line + "," + this.last_pos + "] " , - Parser.errorMessages[Parser.errors[this.action[1]]]); + Parser.errorMessages[Parser.errors[this.destination]]); } } }