X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FParser.java;h=932c5b8fd2284cc80fcda44a22ce8a7b91f183e6;hb=b4cbe7980419f21ef890b407e6d7e6e8026ca71e;hp=f36eda4bcf9ef3008203adc13e1458909a9de65a;hpb=3591b88b94a6bb378af3d4abe6eb5233ce583104;p=org.ibex.core.git diff --git a/src/org/ibex/js/Parser.java b/src/org/ibex/js/Parser.java index f36eda4..932c5b8 100644 --- a/src/org/ibex/js/Parser.java +++ b/src/org/ibex/js/Parser.java @@ -72,7 +72,7 @@ class Parser extends Lexer implements ByteCodes { public Parser(Reader r, String sourceName, int line) throws IOException { super(r, sourceName, line); } /** for debugging */ - public static void main(String[] s) throws Exception { + public static void main(String[] s) throws IOException { JS block = JS.fromReader("stdin", 0, new InputStreamReader(System.in)); if (block == null) return; System.out.println(block); @@ -192,7 +192,6 @@ class Parser extends Lexer implements ByteCodes { int i = 0; if (peekToken() != RB) while(true) { // iterate over the initialization values - int size = b.size; b.add(parserLine, LITERAL, JS.N(i++)); // push the index in the array to place it into if (peekToken() == COMMA || peekToken() == RB) b.add(parserLine, LITERAL, null); // for stuff like [1,,2,] @@ -390,8 +389,6 @@ class Parser extends Lexer implements ByteCodes { startExpr(b, precedence[tok]); - int size = b.size; - if (tok != ADD_TRAP && tok != DEL_TRAP) { // tok-1 is always s/^ASSIGN_// (0 is BITOR, 1 is ASSIGN_BITOR, etc) b.add(parserLine, tok - 1, tok-1==ADD ? JS.N(2) : null); @@ -494,7 +491,7 @@ class Parser extends Lexer implements ByteCodes { break; } case OR: case AND: { - b.add(parserLine, tok == AND ? b.JF : b.JT, JS.ZERO); // test to see if we can short-circuit + b.add(parserLine, tok == AND ? JSFunction.JF : JSFunction.JT, JS.ZERO); // test to see if we can short-circuit int size = b.size; startExpr(b, precedence[tok]); // otherwise check the second value b.add(parserLine, JMP, JS.N(2)); // leave the second value on the stack and jump to the end @@ -743,7 +740,6 @@ class Parser extends Lexer implements ByteCodes { if (peekToken() != RP) { // extended Ibex catch block: catch(e faultCode "foo.bar.baz") consume(NAME); - String propName = string; b.add(parserLine, DUP); b.add(parserLine, LITERAL, string); b.add(parserLine, GET); @@ -880,7 +876,7 @@ class Parser extends Lexer implements ByteCodes { if (peekToken() != SEMI) startExpr(e2, -1); else - e2.add(parserLine, b.LITERAL, Boolean.TRUE); // handle the for(foo;;foo) case + e2.add(parserLine, JSFunction.LITERAL, Boolean.TRUE); // handle the for(foo;;foo) case consume(SEMI); if (label != null) b.add(parserLine, LABEL, label); b.add(parserLine, LOOP);