首页 > 解决方案 > 用于检查结构(结构)的 Lex 程序

问题描述

我正在尝试创建程序来检查诸如struct st{ int j; real i; }它的输入是否应该打印正确,否则不正确。

但我有这个错误

    prog.l: In function 'yylex':
gyg.l:10:5: error: expected expression before '{' token

标签: clex

解决方案


LEX 用于创建一个词法分析器,它将一系列字符作为输入并产生一系列符号作为输出。在您的示例中,这些符号类似于

STRUCT IDENT { IDENT IDENT ; IDENT IDENT ; }

要分析语法,您需要一个名为 YACC 的不同程序,它是一个解析器生成器。这是关于 LEX 和 YACC 的教程:

https://developer.ibm.com/technologies/systems/tutorials/au-lexyacc/


推荐阅读