WsParser_VS/语法进化路线.md

3.3 KiB
Raw Blame History

语法进化路线

v1 软件设计

实现目标

  1. 构建UI编辑软件
  2. 故事线展示
  3. 悬空节点筛选
  4. 可用节点展示
  5. 基于数据库

v2 软件设计

语法实例

#大纲 作品名称
作品描述

#分卷 分卷名称
    分卷描述
    #脉络 故事名称
        故事叙述
        #节点 节点名称
            节点叙述
        @节点 故事名称&节点名称
            引用叙述

#概念 分类名称
    分类叙述
    #节点 种类名称
        种类描述

实现目标

  1. 基于QTextDocument和行编辑基于GUI
  2. 行格式与语义绑定

v3 软件设计

语法实例

#故事 1 故事名称{
    故事叙述
    #节点 节点名称{
        节点叙述
    }
    @节点 故事名称&节点名称{
        引用叙述
    }
}

#分卷 分卷名称{
    分卷叙述
    #章节 章节名称{
        @节点 故事名称&节点名称{
            引用叙述
        }
    }
}

实现目标

  1. 手动展开ANY/SEQUENCE/REPEAT语法逻辑构建语法分析类库
  2. 分析类库集成入软件部件,非独立软件

v4 软件设计

语法实例

{故事 1 故事名称
    故事叙述
    {节点 节点名称
        节点叙述
    }
    {@节点 故事名称&节点名称
        引用叙述
    }
}

{分卷 分卷名称
    分卷叙述
    {章节 章节名称
        章节叙述
        {@节点 故事名称&节点名称
            引用叙述
        }
    }
}

实现目标

  1. 软件独立化
  2. 使用宏和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. 改进图示格式