X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fcup%2Fjava_cup%2Fsimple_calc%2Fscanner.java;fp=Robust%2Fcup%2Fjava_cup%2Fsimple_calc%2Fscanner.java;h=0000000000000000000000000000000000000000;hp=f8f850acad7431764d212939083c87b31182670a;hb=refs%2Ftags%2Fbuildscript;hpb=d10ef53954b37b62a281cc4e79aef7a4be2af98a diff --git a/Robust/cup/java_cup/simple_calc/scanner.java b/Robust/cup/java_cup/simple_calc/scanner.java deleted file mode 100644 index f8f850ac..00000000 --- a/Robust/cup/java_cup/simple_calc/scanner.java +++ /dev/null @@ -1,63 +0,0 @@ -// Simple Example Scanner Class - -package java_cup.simple_calc; - -import java_cup.runtime.Symbol; - -public class scanner implements java_cup.runtime.Scanner { - final java.io.InputStream instream; - - public scanner(java.io.InputStream is) throws java.io.IOException { - instream = is; - } - public scanner() throws java.io.IOException { this(System.in); } - - /* single lookahead character */ - protected int next_char = -2; - - /* advance input by one character */ - protected void advance() - throws java.io.IOException - { next_char = instream.read(); } - - /* initialize the scanner */ - private void init() - throws java.io.IOException - { advance(); } - - /* recognize and return the next complete token */ - public Symbol next_token() - throws java.io.IOException - { - if (next_char==-2) init(); // set stuff up first time we are called. - for (;;) - switch (next_char) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - /* parse a decimal integer */ - int i_val = 0; - do { - i_val = i_val * 10 + (next_char - '0'); - advance(); - } while (next_char >= '0' && next_char <= '9'); - return new Symbol(sym.NUMBER, new Integer(i_val)); - - case ';': advance(); return new Symbol(sym.SEMI); - case '+': advance(); return new Symbol(sym.PLUS); - case '-': advance(); return new Symbol(sym.MINUS); - case '*': advance(); return new Symbol(sym.TIMES); - case '/': advance(); return new Symbol(sym.DIVIDE); - case '%': advance(); return new Symbol(sym.MOD); - case '(': advance(); return new Symbol(sym.LPAREN); - case ')': advance(); return new Symbol(sym.RPAREN); - - case -1: return new Symbol(sym.EOF); - - default: - /* in this simple scanner we just ignore everything else */ - advance(); - break; - } - } -};