Files
CodeGenerator/sample/text_selector_rules.md

1.1 KiB

文本选择器规则

简介

  1. 为实现基于模板文件生成代码的功能, 需要实现一套模板文件解析规则;
  2. 代码生成过程中, 解析数据表格获得代码数据, 解析模板文本获得代码实现的样式, 通过将代码样式中需要的信息填入代码数据, 完成代码生成;
  3. 模板文本包含以下内容:
    1. 一般文本: 在代码生成中保持原样;
    2. 生成内容: 通过解析内部字符串, 对数据进行替换;
      1. 单行生成内容; {{}}
      2. 多行生成内容; <<>>
        1. 包含一段代码, 通过ast模块解析实现更复杂的代码生成;

解析规则

  • 数据选择器: variable[.member][:index][#function]
    1. 变量指定(variable): 确定需要替换的变量信息
    2. 成员选择(.member): 取得数据的成员信息
    3. 索引选择(:index): 序列数据的内容指定;
    4. 键选择(@key): 字典数据的内容指定;
    5. 函数后处理(#function): 依次解析函数名, 通过pandas或自定义函数实现生成文本的后处理;