【Suatin】不学编译原理就制作语言--------谈谈自制编程语言1

本文介绍了作者尝试自制编程语言的初步过程,从放弃《编译原理》的学习,转向阅读《两周自制脚本语言》。作者计划从实现中缀表达式转后缀表达式开始,以此解决机器无法识别复杂表达式的问题。目前项目已实现Token的分割和分类,设计了包括Token、Expr、Pool和Parser在内的核心类,用于解析和处理自定义语言的语法和作用域。解释器采用C++作为下层语言,并避免交叉引用以简化文件管理。未来将构建AST语法树并执行代码。
摘要由CSDN通过智能技术生成

前言

目前很有野心,打算做个大事。虽然编程水平还不高,看《编译原理》也看不下去,看视频教程看了十几节课发现笔记上全是数学符号。就——暂时不看了吧!我之前因为好奇买了本《两周自制脚本语言》,的确学了一些知识。但是其中从第五天开始,都使用了一个Parser库,看知乎知道了难点不在这个库上,所以一般都用现成的。而书的问题是代码没多少注释!!!实在搞不明白,再加上java用起来实在不爽!于是这条路也抛弃了,最后我打算先从一个中缀表达式转后缀表达式搞起——因为机器识别不了式子,只能识别符号和数字,所以可以先转换成后缀表达式,然后通过这个表达式求解。

一般在语法分析的时候,需要构造AST语法树。而中后缀这条路不用,需要利用

形成语法树可以把各种符号涵盖进去,而中后缀只能计算数字直接的加、减、乘、除、乘方等简单的一元或二元操作,最后也只能得到一个计算结果(一般是double类型的数)。

我觉得中后缀这条路挺好用的,凡是表达式都可以用这种方法得到结果,如果有函数在其中,就把函数替换为函数的返回结果!

虽然这么说!但是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

念心科道尊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值