atomparser.jj

来自「该原代码是实现机器学习中条件随机场模型的Java代码」· JJ 代码 · 共 59 行

JJ
59
字号
options {  STATIC = false;}PARSER_BEGIN(AtomParser)package lcrf.logic.parser;import lcrf.logic.*;import java.util.Vector;public class AtomParser {}PARSER_END(AtomParser)SKIP:{ " "}TOKEN: {  < VARIABLE : (["A"-"Z","_"])+ (["A"-"Z","a"-"z","0"-"9","_"])* >| < CONSTANT : (["a"-"z"])+ (["A"-"Z","a"-"z","0"-"9","_"])* >| < STRING   : ["'"] (~["'"])* ["'"] >| < NUMBER   : (["0"-"9"])+ >| < COMMA    : "," >| < LPAREN   : "(" >| < RPAREN   : ")" >  }Term Term() :{  Token t;  Term subterm;  Vector subterms = new Vector();}{     t=<STRING>  { return new StringConstant(t.image.substring(1,t.image.length()-1)); }   | t=<NUMBER> { return new NumberConstant(new Integer(t.image).intValue()); }   | t=<VARIABLE> { return new Variable(t.image); }          | LOOKAHEAD(2)     t=<CONSTANT>      <LPAREN>        subterm=Term() { subterms.add(subterm); }        (         <COMMA> subterm=Term() { subterms.add(subterm);}         )*      <RPAREN>  {return new Constant(t.image,subterms);}     | t=<CONSTANT> { return new Constant(t.image); }      }  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?