【发布时间】:2012-02-13 21:43:03
【问题描述】:
有谁知道是否有一些教程和/或在网络上使用 GNU Bison 和 Java 的示例。我已经通过网络搜索。但我没有找到任何东西。我试图实现一个例子,但我无法编译它(因为我也需要一个词法分析器)。这是我的例子:
%{
static void main(String[] args) {
yyparse();
}
%}
%union {
int number;
char operator;
}
%language "Java"
%token<number> NUMBER
%token<operator> OPERATOR
%type <number> exp
%left OPERATOR
%%
input
: /* Empty string */
| exp { System.out.print("Result >> " + $1); }
;
exp
: NUMBER
| exp OPERATOR exp {
switch($2) {
case '+': $$ = $1 + $3; break;
case '-': $$ = $1 - $3; break;
case '*': $$ = $1 * $3; break;
case '/': $$ = $1 / $3; break;
}
}
%%
任何帮助将不胜感激!
【问题讨论】:
-
不是你的直接问题,但我觉得有义务推荐 ANTLR! antlr.org
标签: java grammar bison yacc parser-generator