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 + -
显示快捷键?