PHP编写词法分析器,改写自定义语言为式长尾问句。
- 内容介绍
- 文章标签
- 相关推荐
本文共计1903个文字,预计阅读时间需要8分钟。
目录
一、需求分析
二、需求实现
三、使用方法
四、使用场景
五、前期项目需求
五、前期项目需求:项目初期有一个需求,业务人员使用中文编写一些自定义公式,随后需要我们后台执行,并将结果返回到界面上。
目录
- 一、分析需求
- 二、实现需求
- 三、如何使用
- 四、使用场景
之前项目有一个需求,业务人员使用中文编写一些自定义公式,然后需要我们后台执行将结果返回到界面上,于是就基于有限状态机写了这个词法分析器,比较简单,希望能够抛砖引玉。
一、分析需求
输入中文公式,返回结果,比如:
现有薪资=10000;
个税起点=3000;
当前年份=2021;
如果(当前年份=2022){
个税起点=5000;
}
返回(现有薪资-个税起点)*0.2;
二、实现需求
最初的想法是使用字符串替换的方式,将中文关键字替换成 php 的关键字,然后调用 eval 执行,这样确实也是可以的,但是总觉得不是很美丽,并且不能实现动态解析。
本文共计1903个文字,预计阅读时间需要8分钟。
目录
一、需求分析
二、需求实现
三、使用方法
四、使用场景
五、前期项目需求
五、前期项目需求:项目初期有一个需求,业务人员使用中文编写一些自定义公式,随后需要我们后台执行,并将结果返回到界面上。
目录
- 一、分析需求
- 二、实现需求
- 三、如何使用
- 四、使用场景
之前项目有一个需求,业务人员使用中文编写一些自定义公式,然后需要我们后台执行将结果返回到界面上,于是就基于有限状态机写了这个词法分析器,比较简单,希望能够抛砖引玉。
一、分析需求
输入中文公式,返回结果,比如:
现有薪资=10000;
个税起点=3000;
当前年份=2021;
如果(当前年份=2022){
个税起点=5000;
}
返回(现有薪资-个税起点)*0.2;
二、实现需求
最初的想法是使用字符串替换的方式,将中文关键字替换成 php 的关键字,然后调用 eval 执行,这样确实也是可以的,但是总觉得不是很美丽,并且不能实现动态解析。

