编程基础概念与工具解析
在编程领域,有许多基础概念和工具对于理解和开发程序至关重要。下面将详细介绍一些关键的概念和工具,包括它们的定义、作用以及使用场景。
基本概念
- 动作(action) :与 flex 模式或 bison 规则相关联的 C 或 C++ 代码。当模式或规则匹配到输入序列时,动作代码将被执行。
- 字母表(alphabet) :一组不同的符号。例如,ASCII 字符集是 128 个不同符号的集合。在 flex 规范中,字母表是计算机的本机字符集;在 bison 语法中,字母表是语法中使用的标记和非终结符的集合。
- 歧义性(ambiguity) :歧义性语法是指有多个规则或规则集可以匹配相同输入的语法。在 bison 语法中,歧义性规则会导致移进/归约或归约/归约冲突。bison 通常使用的解析机制无法处理歧义性语法,程序员可以使用 %prec 声明和 bison 自身的内部规则来解决冲突,或者使用 GLR 解析器,它可以直接处理歧义性语法。
- ASCII :美国信息交换标准代码,是一组 128 个符号,代表美国字母表中常见的符号,包括大小写字母、数字、标点符号,以及用于格式化和控制数据通信链路的附加字符。大多数运行 flex 和 bison 的系统使用 ASCII 或 ISO - 8859 系列的扩展 8 位代码,其中 ASCII 是其子集。
- bison :一个将 BNF 方言转换为 LALR(1)
超级会员免费看
订阅专栏 解锁全文
84万+

被折叠的 条评论
为什么被折叠?



