c - 用于检查结构(结构)的 Lex 程序
问题描述
我正在尝试创建程序来检查诸如struct st{ int j; real i; }
它的输入是否应该打印正确,否则不正确。
但我有这个错误
prog.l: In function 'yylex':
gyg.l:10:5: error: expected expression before '{' token
解决方案
LEX 用于创建一个词法分析器,它将一系列字符作为输入并产生一系列符号作为输出。在您的示例中,这些符号类似于
STRUCT IDENT { IDENT IDENT ; IDENT IDENT ; }
要分析语法,您需要一个名为 YACC 的不同程序,它是一个解析器生成器。这是关于 LEX 和 YACC 的教程:
https://developer.ibm.com/technologies/systems/tutorials/au-lexyacc/
推荐阅读
- r - 来自嵌套行列表的 Data.frame,带有类列表的列
- javascript - 反应原生视图自动高度
- python - Python json.decoder.JSONDecodeError:额外数据
- c++ - 剪辑剔除问题附近的pssm阴影贴图
- javascript - 图库网格未正确显示
- javascript - 是 res/req 关键字还是您可以随意命名它们?
- javascript - 如何在javascript中按值将数组拆分为设置大小的块?
- windows - Windows Server 2019 Docker docker.exe:来自守护程序的错误响应:无法启动服务实用程序 VM(createreadwrite):
- rest-assured-jsonpath - 如何从以下 JSON 中提取和显示首选项节点
- c# - uwp/wpf 中的叠加视图