想要自创一门编程语言,首先要能作到这 14 点!

如今,不少人对他们如今天天使用的编程语言感到困惑和不解,他们都有各自的需求,不管你是一名职业的 IT 人员仍是普通的开发爱好者,你可能曾经想要创造一门新的编程语言。下面就来告诉你如何创造一门编程语言,若是你可以作到这 14 点的话,说不定那时候的你真的已经成功了呢!编程

Step 1 对专业术语十分熟悉并发

写编译器的人一般会使用一些你不是那么熟悉的术语,因此你必定要在开发前先了解编译器,确保你知道编译的全部事情。编程语言

Step 2 肯定这门语言的应用领域编辑器

你要知道你的这门语言是用来解决某个特定领域的问题,仍是通用目的的语言?函数

Step 3 思考这门语言的语义和概念工具

(1)容许直接的指针访问吗?学习

(2)这门语言提供哪些数据类型?测试

(3)这是一门静态语言仍是动态的语言?操作系统

(4)使用什么内存模型?是有自动的垃圾回收机制仍是须要手工管理内存?指针

(5)如何处理并发性?你准备使用单进程/锁模型,仍是复杂一些的,像 Linda 或 actor 模型?

(6)语言中提供一些内嵌的简单函数仍是全部的内容都来自于类/函数库?

(7)这门语言的范式是什么?是函数式的,面向对象的,面向方面的,模板式的,仍是一种原型,或就是彻头彻尾全新的?

(8)这门语言和现存的库或函数的接口是如何的?若是你是在建立某一领域特定的语言,这点就尤为重要。

(9)最后,这里面的一些问题若是想有很好的答案,须要先作好第二步。

Step 4 思考人们想用这门语言作的事情

好比说,一些人想利用它指挥机器人,一些人想用它开发移动端的桌面程序或是用它开发 Web 应用。

Step 5 利用上面的例子测试语法

注意应该让你的语言属于上下文无关范畴或是它的子类别,这在之后对你和你的语法分析程序都是件好事。

Step 6 写出正式的语法规则

Step 7 肯定这是一门解释型语言仍是编译型语言

它意味着若是这是一门解释型语言,你的用户一般会在编辑器里写程序,而后直接在解释器中运行。可是对于编译型语言,你的用户会写代码,编译,而后将可执行程序存到别的地方,单独运行。

Step 8 写好语法分析器或借助工具帮助你

想好若是用户的程序出现语法错误,你的编译器或解释器将给出什么样的警告?

Step 9 使用语法分析器信息写目标代码

Step 10 写好执行程序或代码生成器

Step 11 写出足够多的测试程序来检测这门语言

你但愿创造出一门正规的语言,它的编译器能够明确的接受定义范围内的全部的内容,而拒绝这以外的一切内容。

Step 12 考虑用户如何调试本身的程序

Step 13 若是你的语言使用标准类库,你要写好它

特别是,若是你写一个编译器,你须要这么一段代码,让操做系统执行它从而开始运行用户程序。

Step 14 发布这门语言的同时加上它的说明书和一些附属例子

不要忘记注明你是如何整合这些库和语言的,如何使用运行时间的特性和标准类库。

其实作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流Q群951726787,无论你是小白仍是转行人士欢迎入驻,你们一块儿交流成长。

相关文章
相关标签/搜索