怎样设计一门编程语言?
确定目标
- 确定语言的用途:
- 是一门通用编程语言,还是一门专门面向某个特定目标的语言?
- 是一门面向对象的语言,还是一门过程化的语言?
- 将语言的最终用户定义为谁?
- 确定语言的特性:
- 语言的语法特性是什么?
- 支持哪些数据类型?
- 语言的可扩展性有多强?
设计语言的语法
- 确定语言的关键字和保留字:
- 标识符由哪些字符组成?
- 关键字有哪些?
- 确定语法:
- 语句以什么开始?
- 变量声明应该如何进行?
- 函数调用如何实现?
- 如何表示运算符?
实现语言的编译器/解释器
- 选择实现语言的方法:
- 编译器:
- 用什么样的编程语言实现?
- 从源代码到机器码的编译过程?
- 解释器:
- 用什么样的编程语言实现?
- 源代码如何解释?
- 编译器:
测试语言
- 构建测试用例:
- 构建各种不同类型的测试用例,包括&#