Files
CodeGenerator/sample/text_selector_rules.md

24 lines
1.1 KiB
Markdown

# 文本选择器规则
## 简介
1. 为实现基于模板文件生成代码的功能, 需要实现一套模板文件解析规则;
2. 代码生成过程中, 解析数据表格获得代码数据, 解析模板文本获得代码实现的样式, 通过将代码样式中需要的信息填入代码数据, 完成代码生成;
3. 模板文本包含以下内容:
1. 一般文本: 在代码生成中保持原样;
2. 生成内容: 通过解析内部字符串, 对数据进行替换;
1. 单行生成内容; `{{}}`
2. 多行生成内容; `<<>>`
1. 包含一段代码, 通过`ast`模块解析实现更复杂的代码生成;
## 解析规则
- 数据选择器: `variable[.member][:index][#function]`
1. 变量指定(`variable`): 确定需要替换的变量信息
2. 成员选择(`.member`): 取得数据的成员信息
3. 索引选择(`:index`): 序列数据的内容指定;
4. 键选择(`@key`): 字典数据的内容指定;
3. 函数后处理(`#function`): 依次解析函数名, 通过pandas或自定义函数实现生成文本的后处理;