制作自己的语言 (just for fun!)

     如果你有一个大胆的想法---指定一门属于自己的语言,或者有兴趣去研究,那么这篇文章或许正适合你。

     首先,你得有一套自己的语言编码方案(一般采用utf-8),然后想想是做编译型还是解释型的,前者如c/c++(因为与特定的环境有关所以太难实现了),后者如python这种由解释器执行的或者lua这种嵌入到宿主语言中的脚本语言。当然,也可以做如java那种半编译半解释型的。

     那好,我们做解释型的吧,首先,你得想想解释器用什么语言写。不过一般倾向于速度,大多用c/c++写,然后编译成exe文件(以windows环境为例)。解释器说白了就是一个能通过读取你那个文件,然后翻译相应的指令的东西,当然,如果有语法错误,则必须报告错在哪了。这个知识涉及很多,可以参考python和lua的源码。虽然复杂的解释器很难做,但做简单的脚本解释器也不算特别困难,当然工作量是有的了。

    其次,总不能在txt中编辑脚本吧,我们得提供一个“ide”,可是个人或小团体完成ide是不现实的,所以我们可以借助一些开源的ide如atom,sublime,vscode,我们就只需要制作相应的插件即可。当然我本人喜欢vscode风格了,所以我就选择了vscode。以下是我做的一个小插件,是仿照魔兽的jass设计的,还没有完成。我计划有时间可以对原jass提供很大的改进,届时再跟进发布一些教程。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值