我有一个下面列出的 lex 程序,它识别(词法分析)特定标记,并在从键盘输入时将它们输出到屏幕。我想使用 yacc 对下面的代码进行语法分析,但我不太明白这部分......输出会是什么样子?我的代码是否足够?我在网上读过很多关于yacc的文章……只需要有人给一个简单的解释。提前致谢...
/* Regular Definitions */
RelationalOp_1 "<"
RelationalOp_2 "<="
RelationalOp_3 "=<"
RelationalOp_4 "=="
RelationalOp_5 "!="
RelationalOp_6 ">"
RelationalOp_7 ">="
RelationalOp_8 "=>"
%%
{RelationalOp_1} {printf("(RelationalOp_1, %s)\n", yytext);}
{RelationalOp_2} {printf("(RelationalOp_2, %s)\n", yytext);}
{RelationalOp_3} {printf("(RelationalOp_3, %s)\n", yytext);}
{RelationalOp_4} {printf("(RelationalOp_4, %s)\n", yytext);}
{RelationalOp_5} {printf("(RelationalOp_5, %s)\n", yytext);}
{RelationalOp_6} {printf("(RelationalOp_6, %s)\n", yytext);}
{RelationalOp_7} {printf("(RelationalOp_7, %s)\n", yytext);}
{RelationalOp_8} {printf("(RelationalOp_8, %s)\n", yytext);}
. printf("Invalid input: %s\n",yytext);
%%
main()
{
yylex();
}
yywrap()
{
}