![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自己去创建一个编程语言吧
文章平均质量分 82
你的薄荷醇
www.ltplayer.com
展开
-
自己去创建一个编程语言吧(7)
3.USE use_expression_list ';'接着看下一个use_expression_list,这个是表示使用哪个模块,应为一个包中可以定义多个模块,但并非包中所有模块都有用,所以,使用use关键字定义要使用某个模块看bison定义,use_expression_list:IDENTIFIER { StatementList *ls = (StatementList*)parm; ls->AddUseModuleList($1); } |use_expressi原创 2021-10-15 16:44:41 · 1533 阅读 · 1 评论 -
自己去创建一个编程语言吧(6)
上次把三个基本的类型说完,这就能开始搞了先从开头BISON最开头看起start:run_statement |start run_statement ;这个形成了一个递归,就是为了找到run_statement,这个表达式run_statement:import_expresson |moduledefine |USE use_expression_list ';' |wmain_definition ;这一段定了整个menthol最顶层原创 2021-09-13 10:27:53 · 2892 阅读 · 0 评论 -
自己去创建一个编程语言吧(5)
行求,不多说话,开干从bison开始咱们先定义语言要用到的几种数据类型typedef struct YYSTYPE{ string vSTRING; //字符串类型 int vINTEGER;//整数类型 double vDOUBLE;//double类型 struct CompileStruct* vCompileStruct;//编译结构 Statement* vStatement;//语法结构} YYSTYPE;够了,就这几种就可以了,以上类型除了定义语言中需要用的类型,这原创 2021-09-06 21:18:16 · 1243 阅读 · 0 评论 -
自己去创建一个编程语言吧(4)
从本节开始,要写代码了,我会把我开发menthol的所有过程,详细的写出来1.开发语言的选择开发一个编程语言,作为开发这个语言所使用的开发语言,可选择性比较多,比如java、c#,还有运行在服务器上的JS 都没有问题。但作为一个编程语言,需要考虑的是程序的稳定、效率、和使用的便捷性、运行环境等,使用JAVA,C#等语言固然可以降低开发的难度,但效率和运行环境就有了一些限制,这些语言本身是运行在一个虚拟的环境中,也就是说,当你开发完一个新的编程语言后,要运行它,还需要把开发他的环境也运行才可以,这样,你原创 2021-08-05 14:59:23 · 4155 阅读 · 0 评论 -
自己去创建一个编程语言吧(3)
上一节讲了flex,今天咱们讲bisonflex是分析词法的,例如你的关键字、操作符号等,bison是分析语法的,就是你定义的语法方式,也就是说,把你定义的关键字、符号这些东西按照一定的格式排列后,需要表达的意思Bison和Flex在语法方面非常相似,一般把这种语法叫做BNF在介绍Bison前,我们先简单说说BNF##1.什么是BNF文法BNF是 Backus-Naur Form 的缩写,中文叫巴科斯范式,它是用来描述计算机语言语法的符号集在BNF文法中尖括号(<>)内包含的为必选原创 2021-07-20 19:40:37 · 1777 阅读 · 1 评论 -
自己去创建一个编程语言吧(1)
你一定有过这种困惑,一直想要找到一个完全适合自己编码风格,开发习惯的语言。却发现每一个语言各有优略,没有哪个能完全适合你的…或者你看到现在层出不穷的各种编程语言,难道就没有想装个逼,自己搞一个玩玩的冲动?爱装逼的人都拥有同样的气质,所以,我就尝试自己创建了一个编程语言------------Menthol所以,你也不用想了,自己开发一个吧。下面我将以我创建Menthol语言过程为例子,...原创 2019-05-08 17:57:53 · 17088 阅读 · 2 评论 -
自己去创建一个编程语言吧(2)
上一节中,你已经定义好了语言风格,和关键字、运算符。现在就可以开始编写代码了。编写代码的主要作用是分析源代码,分析其中的逻辑,按照你定义的逻辑方法进行执行,分析过程,比较复杂,所以,要采用工具简化分析过程首先要下载Win flex-bison,下载地址https://sourceforge.net/projects/winflexbison/下载解压后,直接解压,大概的文件如下图...原创 2019-05-09 17:42:55 · 3983 阅读 · 2 评论