JavaCC的简单例子
来源:互联网 发布:守望先锋左上角数据 编辑:程序博客网 时间:2024/05/01 00:53
JavaCC附带的例子是寻找匹配的花括号个数的,我写的例子在它的基础上稍微延伸,可以实现对多行的处理,每行的信息都能表现出来。
options{
STATIC = false;
}
PARSER_BEGIN(Simple2)
public class Simple2 {
public static int lineNumber = 0;
public static void main(String args[]) throws ParseException {
Simple2 parser = new Simple2(System.in);
parser.Run();
System.out.println("Total Line = "+ (lineNumber+1));//计算行数
}
}
PARSER_END(Simple2)
SKIP :
{
" "
| "/t"
| "/r"
}
TOKEN:
{
<NEWLINE : "/n">//考虑到系统不同,仅选择对/n标记
{
Simple2.lineNumber++; //因为此处是在TokenManager处理需要标识作用域
}
}
void Run():{}
{
( Input() )*<EOF>
}
void Input() :
{
int count;
}
{
( count = MatchedBraces() )+ (<NEWLINE>)*
{System.out.println("This line:" + count);}
}
int MatchedBraces() :
{ int nested_count = 0;}
{
"{" [ nested_count = MatchedBraces() ] "}"
{ return ++nested_count; }
}
不足的地方时,如此写法会出现冗余代码,原因在MatchedBraces函数中的花括号出现,因此待我研究明白LOOKAHEAD之后再做改进。
- JavaCC的简单例子
- 学习JavaCC - 一个简单例子
- 学习JavaCC - 一个简单例子
- [原创]Javacc简单使用
- javacc简单计算器
- JavaCC的安装
- javaCC的使用(转)
- JavaCC 的安装
- JavaCC的基本使用
- javaCC
- javacc
- javaCC
- JavaCC
- JavaCC
- javacc ()? ()* ()+
- JavaCC
- 关于JavaCC的一些链接
- javacc 生成的文件 解析
- 我的传智播客毕业设计项目概要设计文档一
- LTE 小区搜索过程
- vs2010使用
- 你还在看西医吗
- 一些js验证
- JavaCC的简单例子
- 一个递归算法求f(m,n)的问题.
- linux文件权限全接触
- SDL(规范描述语言)
- 计算物料的可用量/可保留量【物料可用量/可保留量Open API】
- MyEclipse7.0启动优化
- shell正则表达式整理
- ajax初步搭建及示例代码
- kettle