diff --git a/语法进化路线.md b/语法进化路线.md new file mode 100644 index 0000000..1fb1b89 --- /dev/null +++ b/语法进化路线.md @@ -0,0 +1,187 @@ +# 语法进化路线 + +## v1 软件设计 +### 实现目标 +1. 构建UI编辑软件 +2. 故事线展示 +3. 悬空节点筛选 +4. 可用节点展示 +5. 基于数据库 + +## v2 软件设计 +### 语法实例 +``` +#大纲 作品名称 +作品描述 + +#分卷 分卷名称 + 分卷描述 + #脉络 故事名称 + 故事叙述 + #节点 节点名称 + 节点叙述 + @节点 故事名称&节点名称 + 引用叙述 + +#概念 分类名称 + 分类叙述 + #节点 种类名称 + 种类描述 +``` +### 实现目标 +1. 基于QTextDocument和行编辑,基于GUI +2. 行格式与语义绑定 + + +## v3 软件设计 +### 语法实例 +``` +#故事 1 故事名称{ + 故事叙述 + #节点 节点名称{ + 节点叙述 + } + @节点 故事名称&节点名称{ + 引用叙述 + } +} + +#分卷 分卷名称{ + 分卷叙述 + #章节 章节名称{ + @节点 故事名称&节点名称{ + 引用叙述 + } + } +} +``` +### 实现目标 +1. 手动展开ANY/SEQUENCE/REPEAT语法逻辑,构建语法分析类库 +2. 分析类库集成入软件部件,非独立软件 + +## v4 软件设计 +### 语法实例 +``` +{故事 1 故事名称 + 故事叙述 + {节点 节点名称 + 节点叙述 + } + {@节点 故事名称&节点名称 + 引用叙述 + } +} + +{分卷 分卷名称 + 分卷叙述 + {章节 章节名称 + 章节叙述 + {@节点 故事名称&节点名称 + 引用叙述 + } + } +} +``` +### 实现目标 +1. 软件独立化 +1. 使用宏和ANY/SEQUENCE/REPEAT结构编织语法,构建语法分析前端 + +## v5 软件设计 +### 语法实例 +``` +#排序 1 +{故事 故事名称 + 故事叙述 + {节点 节点名称 + 节点叙述 + } + {@节点 故事名称&节点名称 + 引用叙述 + } +} + +{分卷 分卷名称 + 分卷叙述 + {章节 章节名称 + 章节叙述 + {@节点 故事名称&节点名称 + 引用叙述 + } + } +} +``` +### 实现目标 +#### v5.01 +1. 简化语法 +2. 编译直出HTML +#### v5.02 +1. 编译直出XAST +2. 另外构建软件负责XAST->HTML +#### v5.03 +1. 使用模板语法替代宏 + +## v6 软件设计 +### 语法实例 +``` +#排序 1 +{故事 故事名称 + 故事叙述 + {剧情 剧情名称 + 剧情叙述 + {节点 节点名称 + 节点叙述 + } + + {@节点 故事名称&剧情名称&节点名称 + 引用叙述 + } + } +} + +{分卷 分卷名称 + 分卷叙述 + {章节 章节名称 + 章节叙述 + {@节点 故事名称&剧情名称&节点名称 + 引用叙述 + } + } +} +``` +### 实现目标 +1. 改进XAST->HTML +2. 改进图示格式 + +## v7 软件设计 +### 语法实例 +``` +#排序 1 +{故事 故事名称 + 故事叙述 + {节点 节点名称 + 节点叙述 + {@节点 故事名称&节点名称 + 引用叙述 + } + {@节点 故事名称&节点名称 + 引用叙述 + } + } +} + +{分卷 分卷名称 + 分卷叙述 + {章节 章节名称 + 章节叙述 + {@节点 故事名称&节点名称 + 引用叙述 + } + {@节点 故事名称&节点名称 + 引用叙述 + } + } +} +``` +### 实现目标 +1. 改进XAST->HTML +2. 改进图示格式 \ No newline at end of file