
基于Python的中文编程语言-Hlang
文章平均质量分 93
使用Python来实现一个简单的中文编程语言,当然主要实现的部分还是一个简单的编译器。虽然采用Python进行编写,但是其内部的原理,思想都是类似的。语言只是用来表达的工具,我的时间有限,因此无法直接采用C++和汇编混合编程的方式来开发。并且这也不利于读者进行进行阅读。
Huterox
好好学习,天天向上。
展开
-
Hlang-中英双语言编程语言使用手册
Hlang是一款基于Python编写的支持中英文混合编程的动态语言。其简单易上手,适合作为新手入门的第一个计算机语言。通过关键字 var a=3 就可以快速创建一个关键字。同时也可以通过 设 a=3 来快速创建关键字。原创 2023-08-20 16:53:48 · 229 阅读 · 0 评论 -
Hlang-用Python写个编程语言-指定中文语法&打包发布
okey,到这里的话,就要到尾声了。当然这里要说明的是,这个项目也是基于这个项目进行的二次开发,然后我按照自己的理解进行说明改动。当然项目本身比较简单,所以只花了差不多三天的时间搞懂了。那么到后期有时间的话,我会给它引入对象类型,更高级的内置函数。这一点主要是因为实现起来确实更复杂,有更多的语法规则和细节要处理。不过对于这一部分功能我并不着急,后期慢慢实现就可以,作为毕设的话,这个也只是第一部分,还有后面的部分。没办法还有一个身份,Java全干工程师。那么到这里的话,这个家伙就算搞完了。原创 2023-08-20 13:49:10 · 196 阅读 · 0 评论 -
Hlang--用Python写个编程语言-内置函数以及换行实现
okey,前面我们实现了,内置的数据结构,函数,变量。所以的话,我们是时候来实现我们的默认方法了。例如Python当中的默认函数:print。这里我们非常庆幸,我们使用的是Python来实现这个,因为在底层,我们就直接使用Python的print实现就好了,哈哈。如果是使用C++ 来实现的话,虽然也是类似的,但是的话,里面的各种变量处理令人头更大。说到这个,又不得不人我想起了,先前在查看《30天手写操作系统》这本书,并进行实践的时候。原创 2023-08-20 01:21:52 · 193 阅读 · 0 评论 -
Hlang--用Python写个编程语言-函数与基本数据结构实现
okey,经过一段时间的努力,接下来要实现的是函数。当然还有对应的基本数据结构,那么之后的话,我们的工作就开始进一步转换了。函数的定义String类型的实现列表类型的实现实话实话,这个的实现是相当简陋的。不过作为一个小模型,应该是够用了,后面可以尝试打磨一下这个细节,比如这个变量的管理,函数的管理等等。那么这块先看到我们的实现效果:okey,我们开始吧。接下来的话,我们的实现就要到尾声了,当然接下来我们要处理的是这个,怎么和中文联系起来。原创 2023-08-19 22:11:08 · 767 阅读 · 0 评论 -
Hlang--用Python写个编程语言-判断与循环
okey,很好,在上一篇文章当中,我们实现了这个基本的逻辑运算,所以的话,在这里,我们将可以实现到我们的这个判断和循环了。由于这里的话,我们的操作其实和先前的操作都是类似的,所以在代码层面上的操作非常,简单。但是在语法层面上面看起来有点抽象。那么当然先看到这里实现的效果:这里的话,没办法,我觉得如果使用中文的话,实在是太别扭了,所以换回来了,对应的报错也是换回来了,但是相关的提示后面还是会做成中文的,但是这个翻译为语义的话,实在是太麻烦了。所以在这里,我们再来看看这个语法表述。原创 2023-08-19 18:29:52 · 187 阅读 · 0 评论 -
Hlang--用Python写个编程语言-逻辑运算
在上一篇文章里面,实现了基本的变量,并且详细地阐述了基本原理,所以的话,这里要实现的就是这个判断,由于架子基本上打好了,后面的操作无法就是确定这个AST的一个执行顺序,也就是我们希望解释器执行的一个情况。那么这里要实现的效果是这样的:这里的实现的话,就比较简单了,如果前面理解的话,只是多了些操作的东西而已。原创 2023-08-19 15:16:05 · 141 阅读 · 0 评论 -
Hlang--用Python写个编程语言-变量的实现
先前的话,我们终于是把我们整个架子搭起来了,这里重复一下我们的流程,那就是,首先,我们通过解析文本,然后呢遍历文本当中的我们定义的合法关键字,然后呢,把他们封装为一个Token,之后我们开始构建到我们的语法树,然后交给解释器完成操作。只是当时我们做的是针对这个数学运算。以上的话,就是全部内容,那么接下来如果要继续实现的话,就是这样加节点就好了,只要理解了前面实现基本的数学运算的部分理解AST的话,理解基本的解释器的工作流程的话,其实后面的话就很好操作了。原创 2023-08-19 13:58:11 · 230 阅读 · 0 评论 -
Hlang--用Python写个解释器
没错今天提前来做这个东西,昨天晚上干这个玩意差不多干了两个多小时才搞定,导致凌晨2点才睡觉,最要命的是,写着写着突然想到有一道线代理解错了,一个晚上,做梦全是这两个东西。尤其是晚上效率比较低,所以把比较费脑子的活放在白天进行,晚上就背背书,背背公式,概念就好了。那么今天的话,实现的效果是比较简单的效果,就是这个:对,我们接下来要做的就是,实现这个家伙的解释器。当然还是那句话,目前实现的是非常简陋的东西,因此,这里目前我们做的还只是对数学运算的解析。然后解析运行即可。原创 2023-08-18 16:30:29 · 180 阅读 · 0 评论 -
Hlang--用Python写个解析器
先前,我们实现了一个基本的词法分析器。那么现在的话,我们要在这个基础上面,实现一个解析器,那么实现效果的话,是这样的:注意此时此刻,我们还啥都没有,目前我们还没有自己的变量等等,我们目前还是只是对数学运算进行处理并且只是对+-*/进行简单处理。当然这里的话,对比上次做的是做出了一点改动,当然这都不是重点,因为在这里都会进行说明。okey,溜了,还是很有意思的东东。原创 2023-08-18 10:17:02 · 173 阅读 · 0 评论 -
Hlang--用Python写个词法分析器
目的纯粹,基于Python做一个简单的新的简单的编程语言。一方面是开拓视野,另一方面是作为毕设的临时过渡方案(没错,先前提到的算法平台,没有把握快速开发完毕,即便我使用大量的脚手架完成开发,但是算法容器,rpc算法调度中间件都需要自己造轮子,难度较大,此外还有用户部分的UI设计等等,最重要的是,那帮老师根本无法理解这种项目。没有必要搞太“花里胡哨”但是尽管如此,这个项目我后期还是要开发的,主要原因在于算法容器和rpc算法调度中间件,这个对我来说是非常值得去做的。里面涉及到的思想是非常受用的。原创 2023-08-15 23:30:49 · 414 阅读 · 0 评论