X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fjs%2FLexer.java;h=3012415af6380f792ecb77e2187c1e7c8dcadd9c;hb=ce791e4058158295bce9cf7b6698c2b565d571d7;hp=6e77eb76ed5512bb620ec318f15aee7549d1337c;hpb=3591b88b94a6bb378af3d4abe6eb5233ce583104;p=org.ibex.core.git diff --git a/src/org/ibex/js/Lexer.java b/src/org/ibex/js/Lexer.java index 6e77eb7..3012415 100644 --- a/src/org/ibex/js/Lexer.java +++ b/src/org/ibex/js/Lexer.java @@ -24,7 +24,7 @@ import java.io.*; class Lexer implements Tokens { /** for debugging */ - public static void main(String[] s) throws Exception { + public static void main(String[] s) throws IOException { Lexer l = new Lexer(new InputStreamReader(System.in), "stdin", 0); int tok = 0; while((tok = l.getToken()) != -1) System.out.println(codeToString[tok]); @@ -43,7 +43,7 @@ class Lexer implements Tokens { protected String string = null; /** the line number of the most recently lexed token */ - private int line = 0; + protected int line = 0; /** the line number of the most recently parsed token */ protected int parserLine = 0; @@ -194,15 +194,15 @@ class Lexer implements Tokens { } } - if (!isInteger) this.number = JS.N(dval); - else this.number = JS.N(longval); + if (!isInteger) this.number = new Double(dval); + else if(longval >= Integer.MIN_VALUE && longval <= Integer.MAX_VALUE) this.number = new Integer((int)longval); + else this.number = new Long(longval); return NUMBER; } private int getString(int c) throws IOException { StringBuffer stringBuf = null; int quoteChar = c; - int val = 0; c = in.read(); in.startString(); // start after the first " while(c != quoteChar) {