规则引擎设计与实现
这是我参与「第五届青训营 」笔记创作活动的第6天
一、本堂课重点内容:
- 了解规则引擎的组成部分和应用场景。
- 学习并掌握规则引擎的设计与实现原理。
- 明确一个规则引擎的设计目标,并完成各部分的设计与实现步骤拆解。
- 动手实现规则引擎项目,完成预定目标。
- [课外扩展] 结合其他课程,完成一个在线 规则引擎 服务。
重点
- 规则引擎的设计 。明确设计目标、完成步骤拆解、完成各部分状态机的详细设计
- 规则引擎的实现。基于项目工程完成词法分析、语法分析、抽象语法树的执行功能
难点
- 规则引擎的核心原理(理论)。词法分析、语法分析、类型检查、语法树执行
本堂课的知识要点有哪些?
- 认识规则引擎
- 编译原理基本概念
- 设计一个规则引擎
- 规则引擎实现
二、详细知识点介绍:
- 什么是规则引擎
- 规则引擎定义
- 组成部分
- 应用场景
- 风控对抗
- 活动策略运营
- 数据分析和清洗
- 编译原理基本概念
- 词法分析
- 语法分析
- 抽象语法树
- 类型检查
- 设计一个规则引擎
- 设计目标
- 语法和词法
- 优先级和语法书
- 实现规则引擎
本堂课介绍了哪些知识点?
-
编译的概念:
- 编译的过程发生了什么?
- 一般分为哪几个步骤,每个步骤的中间结果是什么?
-
词法分析:
- 词法如何表示?| 正则文法
- 词法分析阶段的输出是什么
- 词法分析阶段是怎么做的?
- 词法分析可能会产生什么问题?
- 如何解决词法分析过程中产生的问题?| 左递归问题怎么解决
-
语法分析
- 语法如何表示?上下文无关语法、巴克斯范式怎么理解
- 语法分析阶段的输出是什么? 一般怎么表示
- 语法分析有哪些方式?什么是递归下降算法?
-
抽象语法树
- 抽象语法树是什么?
- 抽象语法树如何执行?
-
类型检查
- 类型检查怎么做?有哪些方式?
- 类型检查什么时候做?有什么区别
三、实践练习例子:
有什么实践举例帮助理解知识点?
没有,完全听不懂
四、课后个人总结:
本章有什么知识点不容易掌握?
都掌握不了