当前位置: 首页 > 科技观察

创建编程语言的14个步骤

时间:2023-03-14 10:42:59 科技观察

英文原版:HowtoCreateaProgrammingLanguage如今,很多人都对自己每天使用的编程语言感到困惑和不解。他们都有自己的需求,无论您是专业的IT人员还是业余开发人员,您都可能想要创建一种新的编程语言。下面介绍如何创建编程语言。Step1非常熟悉技术术语写编译器的人通常会使用一些你不太熟悉的术语,所以在开发之前你必须了解编译器,确保你对编译无所不知。Step2确定这种语言的应用领域你需要知道你的语言是用来解决特定领域的问题,还是通用语言?Step3思考这门语言的语义和概念(1)是否允许直接指针访问?(2)该语言提供了哪些数据类型?(3)这是静态语言还是动态语言?(4)使用什么内存模型?是否有自动垃圾回收机制或我需要手动管理内存?(5)如何处理并发?你打算使用单进程/锁模型,还是更复杂的东西,比如Linda或actor模型?(6)该语言是否提供一些内置的简单函数,或者所有内容都来自类/函数库?(7)这种语言的范式是什么?它是功能性的、面向对象的、面向方面的、基于模板的、一种原型还是全新的东西?(8)该语言与现有库或函数之间的接口是什么?如果您正在创建特定领域的语言,这一点尤其重要。(9)***,如果你想对这里的一些问题有一个很好的回答,你需要先做第二步。Step4想想人们想用这种语言做什么。比如有人想用它来指挥机器人,有人想用它来开发移动桌面程序或者用它来开发web应用。Step5使用上面的例子来测试语法。请注意,您的语言应属于上下文无关类别或其子类别,这对您和您的解析器将来都是一件好事。Step6编写形式化语法规则Step7判断这是解释型语言还是编译型语言就是说,如果这是解释型语言,你的用户通常会在编辑器中编写程序,然后直接在解释器中运行。但是使用编译语言,您的用户将编写代码、编译代码并将可执行文件存储在其他地方以单独运行。Step8写一个语法分析器或者使用工具帮助你思考,如果用户的程序有语法错误,你的编译器或解释器会给出什么样的警告?Step9使用解析器信息编写目标代码Step10编写可执行程序或代码生成器Step11编写足够的测试程序来测试语言你想创建一种形式化语言,其编译器可以明确地接受定义范围内的所有内容,拒绝范围外的所有内容它。Step12考虑用户如何调试自己的程序。Step13如果你的语言使用标准类库,你需要好好写。特别是,如果你写一个编译器,你需要这样一段代码让操作系统执行它来开始运行用户程序。Step14在发布语言时,添加其手册和一些辅助示例。不要忘记说明您如何集成这些库和语言,如何使用运行时功能和标准类库。翻译:http://www.php100.com/html/it/focus/2014/1202/7956.html翻译:PHP100_Zeroing