很多人对他们现在每天使用的编程语言感到困惑和不解,他们都有各自的需求,无论你是一名职业的IT人员还是普通的开发爱好者,你可能想要创造一门新的编程语言。下面就来告诉你如何创造一门编程语言。

 

Step 1 对专业术语十分熟悉

       写编译器的人通常会使用一些你不是那么熟悉的术语,所以你一定要在开发前先了解编译器,确保你知道编译的所有事情。
 

Step 2 确定这门语言的应用领域

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

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

       (1)允许直接的指针访问吗?
       (2)这门语言提供哪些数据类型?
       (3)这是一门静态语言还是动态的语言?

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

       (5)如何处理并发性?你准备使用单进程/锁模型,还是复杂一些的,像Linda或actor模型?
       (6)语言中提供一些内嵌的简单函数还是所有的内容都来自于类/函数库?
       (7)这门语言的范式是什么?是函数式的,面向对象的,面向方面的,模板式的,还是一种原型,或就是彻头彻尾全新的?

       (8)这门语言和现存的库或函数的接口是如何的?如果你是在创建某一领域特定的语言,这点就尤其重要。
       (9)最后,这里面的一些问题如果想有很好的答案,需要先做好第二步。



Step 4 思考人们想用这门语言做的事情
       比如说,一些人想利用它指挥机器人,一些人想用它开发移动端的桌面程序或是用它开发Web应用。


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


Step 6 写出正式的语法规则

QQ图片20141205180447.png

Step 7 确定这是一门解释型语言还是编译型语言
       它意味着如果这是一门解释型语言,你的用户通常会在编辑器里写程序,然后直接在解释器中运行。但是对于编译型语言,你的用户会写代码,编译,然后将可执行程序存到别的地方,单独运行。


Step 8 写好语法分析器或借助工具帮助你
       想好如果用户的程序出现语法错误,你的编译器或解释器将给出什么样的警告?


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


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


Step 11 写出足够多的测试程序来检测这门语言
       你希望创造出一门正规的语言,它的编译器可以明确的接受定义范围内的所有的内容,而拒绝这之外的一切内容。


Step 12 考虑用户如何调试自己的程序


Step 13 如果你的语言使用标准类库,你要写好它
       特别是,如果你写一个编译器,你需要这么一段代码,让操作系统执行它从而开始运行用户程序。


Step 14 发布这门语言的同时加上它的说明书和一些附属例子
       不要忘记注明你是如何整合这些库和语言的,如何使用运行时间的特性和标准类库。

 

稳定

产品高可用性高并发

贴心

项目群及时沟通

专业

产品经理1v1支持

快速

MVP模式小步快跑

承诺

我们选择声誉

坚持

10年专注高端品质开发
  • 返回顶部