文件名称:java鼠标监听器源码-interpreter:C程序声明部分的解释器
文件大小:78KB
文件格式:ZIP
更新时间:2024-06-25 10:27:24
系统开源
java鼠标监听器源码口译员 C 程序声明部分的解释器 我们将使用 2 种语言工具:Lex 和 Yacc(或 flex 和 bison)来实现这一点。 LEX文件 lex 文件有 3 个主要部分,由“双百分号”分隔。 第一部分是封装在“百分比大括号”中的较难文件和函数定义的列表。 第二部分是可接受的标记列表,最后部分是一些 C 用户定义的函数。 y.tab.h由 Yacc 生成,它定义了我们在这里提到的令牌列表。 在下一节中,我们从定义数据类型标记开始。 尽管 struct 可以被视为数据类型标记,但由于其独特的语法,我们将其单独视为STRUCT标记。 然后我们定义单个字符标记。 我们还定义了字符、整数和浮点值。 从这里开始,我们开始对 Array_identifiers、标识符和字符串变得更加通用。 当遇到换行符(在本例中为\n )时, yylineno会递增。 yylineno跟踪输入 C 文件中的行号。 我们只是忽略任何其他标记。 这是如何工作的。 遇到的标记存储在名为yytext的变量中。 它与这些可接受的令牌格式列表从上到下进行比较。 第一次找到匹配项时,会执行右侧的相应代码
【文件预览】:
interpreter-master
----y.tab.c(60KB)
----sample(145B)
----output(34KB)
----y.tab.h(3KB)
----LICENSE(1KB)
----README.md(8KB)
----HeaderFiles()
--------.DS_Store(6KB)
--------langFunctions.h(2KB)
--------validators.h(2KB)
----semantics.l(2KB)
----lex.yy.c(49KB)
----syntax2.y(6KB)
----GUI_Program()
--------output(34KB)
--------src()
--------bin()
--------.classpath(295B)
--------.DS_Store(6KB)
--------.settings()
--------.project(375B)