编译器设计代码来解析 goto 和 block

标签 c compiler-construction yacc lex goto

有人可以帮助我了解如何为 C 程序编写 lex 和 yacc 文件来解析 goto 和 block (标签)。

这是我在网上找到的一些例子:

<statement> ::= 
<variable> <inc> <semi>
| <variable> <assign> <null> <semi> 
| <goto> <label> <semi>

但是如何唯一标识标签。有人可以给我一个例子或任何提到它的链接吗?

最佳答案

<label>这里实际上意味着一个符号 - 一个标识符 - 它必须对应于其他地方的标签定义才能使程序正确。

关于编译器设计代码来解析 goto 和 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26387043/

相关文章:

c - 为什么目标文件被分成 8 列,每列 4 个十六进制数的网格?

yacc - Bison/Yacc,让文字标记返回它自己的值?

c - 简化(并使其更清晰)逻辑条件

c - 嵌入式 C AVR 位填充数组

c - 如何将 'integer' 字符串转换为 'hex' 字符串 C

python - PyList_New 导致 SEGFAULT

javascript - EcmaScript语法中的什么是[ yield ,等待,中,返回]

java - int i = array.length 比只调用 array.length 两次有什么优势吗?

Xcode 使用不同的 Bison

syntax-error - Bison -从其他错误中恢复