JavaCC 介绍
JJTree
JJTree为了让JJ文件具有生成分析树的能力。
实践
下载 Eclipse JavaCC plugin(http://www.easyeclipse.org/site/plugins/javacc.html )
在公司win7下载的easy-javacc-1.5.7.exe
一个示例程序
options {
LOOKAHEAD = 1;
CHOICE_AMBIGUITY_CHECK = 2;
OTHER_AMBIGUITY_CHECK = 1;
STATIC = true;
DEBUG_PARSER = false;
DEBUG_LOOKAHEAD = false;
DEBUG_TOKEN_MANAGER = false;
ERROR_REPORTING = true;
JAVA_UNICODE_ESCAPE = false;
UNICODE_INPUT = false;
IGNORE_CASE = false;
USER_TOKEN_MANAGER = false;
USER_CHAR_STREAM = false;
BUILD_PARSER = true;
BUILD_TOKEN_MANAGER = true;
SANITY_CHECK = true;
FORCE_LA_CHECK = false;
}
PARSER_BEGIN(Simple1)
/** Simple brace matcher. */
public class Simple1 {
/** Main entry point. */
public static void main(String args[]) throws ParseException {
Simple1 parser = new Simple1(System.in);
parser.Input();
}
}
PARSER_END(Simple1)
/** Root production. */
void Input() :
{}
{
MatchedBraces() ("\n"|"\r")* <EOF>
}
/** Brace matching production. */
void MatchedBraces() :
{}
{
"{" [ MatchedBraces() ] "}"
}
cmmJavaCC和cmmJJTree
问题1:运行cmmJJTree,执行到SimpleNode.dump("")抛异常。
附
1.参考1 http://www.cnblogs.com/Gavin_Liu/archive/2009/03/07/1405029.html
2.其他知识点: