Public paste
code
By: yes | Date: Oct 4 2010 17:01 | Format: None | Expires: never | Size: 3.4 KB | Hits: 802

  1. public class Scanner extends Common
  2. {
  3.         // current token
  4.         private int token;
  5.         private int ignoredToken;
  6.         private int plusToken;
  7.  
  8.        
  9.         // read chars from here;
  10.         private Source source;
  11.        
  12.        
  13.         public static void main(String[] args)
  14.         {
  15.                 //Get our file
  16.                 source = new Source(args[0]);
  17.                
  18.                
  19.         }
  20.        
  21.         public Scanner(Source source)
  22.         {
  23.                 // stuff
  24.         }
  25.         public int getToken()
  26.         {
  27.                 // get token from source
  28.                 return token;
  29.         }
  30.         public int getInt()
  31.         {
  32.                 //
  33.         }
  34.        
  35.         public String getString()
  36.         {
  37.                 // get strings that makeup token
  38.         }
  39.         public void nextBlank()
  40.         {
  41.                 token = ignoredToken;
  42.                 source.nextChar(); // skip blanks
  43.         }
  44.         public void nextPlus()
  45.         {
  46.                 token = plusToken;
  47.                 source.nextChar(); // skip +
  48.         }
  49.         public void nextMinus()
  50.         {
  51.                 token = minToken;
  52.                 source.nextChar(); // skip +
  53.         }
  54.         private void nextName()
  55.         {
  56.                
  57.         }
  58.         public void nextToken()
  59.         {
  60.                 //
  61.                 // token == ignoredToken
  62.                 while(token == ignoredToken)
  63.                 {
  64.                         switch(source.getchar())
  65.                         {
  66.                                 case " " : {nextBlank(); break;}
  67.                                 case '#' : {nextComment(); break;}
  68.                                 case '+' : {nextPlus(); break;}
  69.                                 case '-' : {nextMinus(); break;}
  70.                                 case 'a' : {nextName(); break;}
  71.                                 case 'b' : {nextName(); break;}
  72.                                 case 'c' : {nextName(); break;}
  73.                                 case 'd' : {nextName(); break;}
  74.                                 case 'e' : {nextName(); break;}
  75.                                 case 'f' : {nextName(); break;}
  76.                                 case 'g' : {nextName(); break;}
  77.                                 case 'h' : {nextName(); break;}
  78.                                 case 'i' : {nextName(); break;}
  79.                                 case 'j' : {nextName(); break;}
  80.                                 case 'k' : {nextName(); break;}
  81.                                 case 'l' : {nextName(); break;}
  82.                                 case 'm' : {nextName(); break;}
  83.                                 case 'n' : {nextName(); break;}
  84.                                 case 'o' : {nextName(); break;}
  85.                                 case 'p' : {nextName(); break;}
  86.                                 case 'q' : {nextName(); break;}
  87.                                 case 'r' : {nextName(); break;}
  88.                                 case 's' : {nextName(); break;}
  89.                                 case 't' : {nextName(); break;}
  90.                                 case 'u' : {nextName(); break;}
  91.                                 case 'v' : {nextName(); break;}
  92.                                 case 'w' : {nextName(); break;}
  93.                                 case 'x' : {nextName(); break;}
  94.                                 case 'y' : {nextName(); break;}
  95.                                 case 'z' : {nextName(); break;}
  96.                                 // uppercase
  97.                                 case 'A' : {nextName(); break;}
  98.                                 case 'B' : {nextName(); break;}
  99.                                 case 'C' : {nextName(); break;}
  100.                                 case 'D' : {nextName(); break;}
  101.                                 case 'E' : {nextName(); break;}
  102.                                 case 'F' : {nextName(); break;}
  103.                                 case 'G' : {nextName(); break;}
  104.                                 case 'H' : {nextName(); break;}
  105.                                 case 'I' : {nextName(); break;}
  106.                                 case 'J' : {nextName(); break;}
  107.                                 case 'K' : {nextName(); break;}
  108.                                 case 'L' : {nextName(); break;}
  109.                                 case 'M' : {nextName(); break;}
  110.                                 case 'N' : {nextName(); break;}
  111.                                 case 'O' : {nextName(); break;}
  112.                                 case 'P' : {nextName(); break;}
  113.                                 case 'Q' : {nextName(); break;}
  114.                                 case 'R' : {nextName(); break;}
  115.                                 case 'S' : {nextName(); break;}
  116.                                 case 'T' : {nextName(); break;}
  117.                                 case 'U' : {nextName(); break;}
  118.                                 case 'V' : {nextName(); break;}
  119.                                 case 'W' : {nextName(); break;}
  120.                                 case 'X' : {nextName(); break;}
  121.                                 case 'Y' : {nextName(); break;}
  122.                                 case 'Z' : {nextName(); break;}
  123.                                
  124.                                 // numbers 0-9
  125.                                
  126.                                 case '0' : {nextInt(); break;}
  127.                                 case '1' : {nextInt(); break;}
  128.                                 case '2' : {nextInt(); break;}
  129.                                 case '3' : {nextInt(); break;}
  130.                                 case '4' : {nextInt(); break;}
  131.                                 case '5' : {nextInt(); break;}
  132.                                 case '6' : {nextInt(); break;}
  133.                                 case '7' : {nextInt(); break;}
  134.                                 case '8' : {nextInt(); break;}
  135.                                 case '9' : {nextInt(); break;}
  136.         }