前言
目前很有野心,打算做个大事。虽然编程水平还不高,看《编译原理》也看不下去,看视频教程看了十几节课发现笔记上全是数学符号。就——暂时不看了吧!我之前因为好奇买了本《两周自制脚本语言》,的确学了一些知识。但是其中从第五天开始,都使用了一个Parser库,看知乎知道了难点不在这个库上,所以一般都用现成的。而书的问题是代码没多少注释!!!实在搞不明白,再加上java用起来实在不爽!于是这条路也抛弃了,最后我打算先从一个中缀表达式转后缀表达式搞起——因为机器识别不了式子,只能识别符号和数字,所以可以先转换成后缀表达式,然后通过这个表达式求解。
一般在语法分析的时候,需要构造AST语法树。而中后缀这条路不用,需要利用栈。
形成语法树可以把各种符号涵盖进去,而中后缀只能计算数字直接的加、减、乘、除、乘方等简单的一元或二元操作,最后也只能得到一个计算结果(一般是double类型的数)。
我觉得中后缀这条路挺好用的,凡是表达式都可以用这种方法得到结果,如果有函数在其中,就把函数替换为函数的返回结果!
虽然这么说!但是