예제 #1
0
파일: Parser.java 프로젝트: ktraff/Compiler
 /**
  * Parses a chunk of statements -> + term { print('+') } rest | - term { print('-') } rest | empty
  *
  * @throws IOException
  */
 public void rest() throws IOException {
   while (true) {
     if (lookahead == '+') {
       match('+');
       term();
       writer.write('+');
       continue;
     } else if (lookahead == '-') {
       match('-');
       term();
       writer.write('-');
       continue;
     }
     break;
   }
 }
예제 #2
0
파일: Parser.java 프로젝트: ktraff/Compiler
 /**
  * Parses a term -> 0 | .. | 9
  *
  * @throws IOException
  */
 public void term() throws IOException, SyntaxError {
   if (Character.isDigit((char) lookahead)) {
     writer.write((char) lookahead);
     match(lookahead);
   }
 }