天天看點

JavaCC-簡單加法

options{

  STATIC = false;

}

PARSER_BEGIN(Adder)

package javacc;

public class Adder{

  public static void main(String[]args)throws ParseException, TokenMgrError{

    Adder parser = new Adder(System.in);

    System.out.println(parser.start());

  }

}

PARSER_END(Adder)

SKIP:{

  " "

}

SKIP:{

  "\n"

  | "\r"

  | "\r\n"

}

TOKEN:{

  <PLUS:"+">

}

TOKEN:{

  <NUMBER:(["0"-"9"])+>

}

TOKEN:{

  <END:"#">

}

int start():{

  Token t = null;

  int value = 0;

}

{

  t = <NUMBER>{

    value+=Integer.parseInt(t.image);

  }

  (<PLUS>t = <NUMBER>{

    value+=Integer.parseInt(t.image);

  }

  )*<END>{

    return value;

  }

}