Gnu Bison For Java

Mach Jerry  MSN:mach_jerry@hotmail.com

gnu bison for java 是从gnu bison 1.35基础上修改得到的,它修改了-b参数的定义,
用它来指定包名,增加了-x参数,用于图形的一个shell的需要。语法文件的格式跟以前类似,
只是必须有%tokenclass="token的类名"和实现getLex()函数这行才可正常工作。所有的Action必须是
Java代码。


语法文件格式如下:

%name-prefix="包名称"
%output="生成文件名"
%defines="生成的token的文件名"
%tokenclass="token的类名"

%{
//java文件的开始部分
import 需要的包;
/**
 * 类注释
 */
public class 类名 {
%}
%token
%type <类名> tokenA tokenB....
%start
%%
//规则部分
规则名称: 规则描述
{
//java处理代码
}
|
.....
;
%%
//必须实现的一个函数,完成两个功能,获得输入词的token,并构造yylval
  protected int getLex() throws LexicException{
   int i = lex.scan();
   yylval = new LexicValue(lex.getValue());
   return i;
  }
//java文件的剩余部分
}

JBison_src.rar VC++ 6.0

Jbison_bin.rar rc 1.0

seminis2.jar

有什么问题,就加我MSN吧 :)  mach_jerry@hotmail.com