初识解释器

前言

近几年, 随着前后端 (或者说整个应用程序开发技术) 的提升. Low-code 概念开始冒出来了. 

Low 的意思是 low level, 也就是懂一些 coding 能力就可以做出很有用的程序. 

这不容易, 只有工业化到一定程度才会出现这种现象. 比如很多公司现在都可以做手机了. 因为行业分工细, 你做一个手机类似与组装一个手机. 

软件开发也是同理, 只要把各种 SASS 组装到要给 PAAS 上, 一个程序就开始贡献了.

于是我遇到了一些这样的需求. 用户想通过简单的表达式来实现对系统的权限限制. 

比如说, 一个 create invoice 的权限, 但是 invoice amount 必须小于 1000.

以前处理这类需求一般上都是 hardcode. 但最近我接触比较多表达式树概念后. 我发现这些需求并不需要 hardcode.

让用户输入一个简单的表达式, 然后解释执行就可以做到验证权限的效果了. 

比如上面这个 case, 表达式就是 'invoice amount' < 1000, 类似与 excel advanced filter 的使用难度. 

有了这样一个功能, 系统就不需要担心后续的扩展了. 这个表达式还可以用在许多地方. 比如 notification. 细节我就不多说了. 

 

解析器与编辑器

 

上一篇:初学python之以时间复杂度去理解列表常见使用方法


下一篇:PowerShell实现基于SharePoint的网站HomePage Auto-Create Solution