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) {