- 自己动手构建编程语言:如何设计编译器、解释器和DSL
- (美)克林顿·L.杰弗瑞
- 520字
- 2024-05-11 19:45:00
Chapter 2
第2章
编程语言设计
在尝试构建编程语言之前,需要对其进行定义,包括语言表面可见特征的设计、构词和标点符号等的基本规则。这还包括称为语法的更高级的规则,用于控制较大程序块(如表达式、语句、函数和程序等)中单词和标点的数量和顺序。语言设计还包括潜在的含义设计,也称为语义。
编程语言设计通常从编写示例代码开始,以对语言的每个重要特性进行说明,并显示每个结构可能的变化。以批判的眼光编写示例,有助于发现并修复最初想法中可能存在的许多不一致之处。从这些示例中,我们可以捕获每种语言构造遵循的一般规则。写下描述这些规则的语句,并利用示例加以理解。注意,有两种规则。一是词法规则,用于控制哪些字符必须一起处理,例如单词或多字符运算符,如++。二是语法规则,是用于组合多个单词或标点符号以形成更大含义的规则。在自然语言中语法规则通常是指短语、句子或段落,而在编程语言中,它们可能是表达式、语句、函数或程序。
一旦想出了希望编程语言要做的事情的例子,并且写下了词法和语法规则,那么就需要写一份语言设计文档(或语言规范),可以在编写语言时加以参考。后面可以对语言设计文档加以更改,但首先有一个工作计划是有帮助的。
让我们从确定编程语言的源代码中允许的基本元素开始。