编程语言与计算机:统一元理论解析
1. 分层计算的翻译器
分层计算的翻译器是给定编程语言 L 和系统 S 的函数。它以 L 中的完整流程图集以及特定计算的初始条件作为输入,生成适合系统 S 的输入,使系统 S 能实现等效计算。由于其对系统 S 规范的固有依赖,通常无法为这种翻译器建议统一结构。不过,熟悉类 ALGOL 语言翻译器设计的人会明白,这里定义的分层计算过程自然地暗示了使用下推存储和其他控制特性,这些在计算活动中已成为标准。
2. 计算语言的规范
为了拓宽讨论范围,需要明确计算语言必须指定的一组组件。作者旨在提出一个足够通用的框架,以便不仅能表述由线性字符串组成的语言,还能表述由二维实体(如图像)甚至更通用的语言(如舞蹈编排)。
若 L 是计算语言,需指定以下组件:
1. 词汇表(或字母表)A :是一个有限集,由两个不相交的部分组成:
- 终结词汇表 $A_T$(即单词名称集,简称单词)。
- 非终结词汇表 $A_N$(即短语名称集,简称短语)。
2. 语法 G :是用于句子生成的有限重写规则集。必须先定义 A 中元素的上下文和组合概念。G 的一个主要组成部分是形式为“上下文中的短语 p → 特定短语和/或单词的给定组合”的有限重写规则集。句子是通过有限步骤应用 G 的规则生成的有限个单词的组合。
3. 结构函数 $F_G$ :基于语法 G,是定义在 L 的句子集 X 上的部分函数。设 s 是 L 的一个句子,且 $F_G(s)$ 有定义,则 $F_G(s) = { F_1(s), F_
超级会员免费看
订阅专栏 解锁全文
15万+

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



