`
Tonyguxu
  • 浏览: 271714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

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.其他知识点:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics