首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YACC输出什么?

YACC输出什么?
EN

Stack Overflow用户
提问于 2012-11-15 04:26:37
回答 1查看 2K关注 0票数 0

我有一个下面列出的lex程序,它识别(词法分析)特定的令牌,并在从键盘输入时将它们输出到屏幕上。我想使用yacc对下面的代码进行语法分析,但是我不太明白这个part.....what的输出会是什么样子?下面的代码足够了吗?我在网上读过很多关于yacc....just的文章,需要有人给出一个简单的解释。先谢谢你...

代码语言:javascript
复制
/* 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()
{
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-15 22:41:42

对您的问题的简短回答是否定的,您所拥有的对于使用yacc生成的解析器是不完整的。在lex生成的扫描器中,您希望将内存中的令牌提供给解析器,而不是简单地向控制台写入内容。

为了理解上下文,Pete Jinks's lecture notes是全面的,并展示了lex和yacc生成的程序如何协同工作。您还可以查看Bison的在线手册,它是yacc的GNU版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13386746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档