From 17e8bdddffa2ad88a69f89c470ee799a48f3ec26 Mon Sep 17 00:00:00 2001 From: xiaoxustudio <1783558957@qq.com> Date: Mon, 29 Dec 2025 20:02:17 +0800 Subject: [PATCH 1/2] feat: add basic sentence rfc --- syntax/basic-sentence.md | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 syntax/basic-sentence.md diff --git a/syntax/basic-sentence.md b/syntax/basic-sentence.md new file mode 100644 index 0000000..2462119 --- /dev/null +++ b/syntax/basic-sentence.md @@ -0,0 +1,58 @@ +## RFC Syntax + +**标题**:基础语句 +**创建日期**:2025-12-29 +**类型**:语法 + +### 概述 + +定义基础的语句,包括但不限于基础对话,选项,控制立绘等扩展语句。 + +### 术语和定义 + +#### 语句格式 + +基础语句格式为: +``` + ...[arguments*] +``` + +第一个单词单元为标识,后续则**统一解析**为参数,这种结构的我们称为 **基础语句** + +它应该有以下特点: + - 它是所有语句节点的**基类**,所有的语句都应该继承自它,比如普通对话、选项等这种带有特殊功能的语句,但其本质还是一条语句。 + - 所有这种格式的都会被解析为**基础语句节点**,然后根据不同的 **标识(identifier)** 进行不同的处理。 + - 当 **标识(identifier)** 解析器无法识别时(可能是用户自定义),它将会被解析为基础对话节点或者是跳过执行该条语句。 + +一个有效的基础对话应该是名称和文本内容,例如: +```webgal +say "WebGAL" "你可以通过以下两个分支了解 WebGAL 的更多故事。" +``` + +当然名称是可以省略,例如: +```webgal +say "你可以通过以下两个分支了解 WebGAL 的更多故事。" +``` + +#### 语句参数 + +**arguments**:`"xxx"`、`--xxx`、`--xxx=xxx`或者其他结构 + +参数分为以下几种: + 1. 字符串参数:`"xxx"`,用于表示文本内容,例如 `"WebGAL"` + 3. 双连参数:以`--`开头,例如`--xxx`、`--voice="v8.wav"` + 4. 其他参数:可能是用户自定义的参数或者是扩展参数(没有使用1和2但使用了其他的参数格式,我们称其为扩展参数)的参数,暂时将其归为一类,例如:"WebGAL 发展历程" = choose1 + +例如: +```webgal + +// 字符串参数 和 双联参数 +say "WebGAL" "你可以通过以下两个分支了解 WebGAL 的更多故事。" --next --voice="v8.wav" + +// 扩展参数 +choose "WebGAL 发展历程" = choose1 | "WebGAL 冷知识" = choose2 +``` + +### 提案理由 + +为了统一语句的格式,方便后续的解析和扩展,提出基础语句的格式。 From acabddea48a37a69ce6b07c86963ee3b40a15c2a Mon Sep 17 00:00:00 2001 From: xiaoxustudio <1783558957@qq.com> Date: Mon, 29 Dec 2025 20:06:17 +0800 Subject: [PATCH 2/2] chore: remove content --- syntax/basic-sentence.md | 58 ---------------------------------------- 1 file changed, 58 deletions(-) diff --git a/syntax/basic-sentence.md b/syntax/basic-sentence.md index 2462119..e69de29 100644 --- a/syntax/basic-sentence.md +++ b/syntax/basic-sentence.md @@ -1,58 +0,0 @@ -## RFC Syntax - -**标题**:基础语句 -**创建日期**:2025-12-29 -**类型**:语法 - -### 概述 - -定义基础的语句,包括但不限于基础对话,选项,控制立绘等扩展语句。 - -### 术语和定义 - -#### 语句格式 - -基础语句格式为: -``` - ...[arguments*] -``` - -第一个单词单元为标识,后续则**统一解析**为参数,这种结构的我们称为 **基础语句** - -它应该有以下特点: - - 它是所有语句节点的**基类**,所有的语句都应该继承自它,比如普通对话、选项等这种带有特殊功能的语句,但其本质还是一条语句。 - - 所有这种格式的都会被解析为**基础语句节点**,然后根据不同的 **标识(identifier)** 进行不同的处理。 - - 当 **标识(identifier)** 解析器无法识别时(可能是用户自定义),它将会被解析为基础对话节点或者是跳过执行该条语句。 - -一个有效的基础对话应该是名称和文本内容,例如: -```webgal -say "WebGAL" "你可以通过以下两个分支了解 WebGAL 的更多故事。" -``` - -当然名称是可以省略,例如: -```webgal -say "你可以通过以下两个分支了解 WebGAL 的更多故事。" -``` - -#### 语句参数 - -**arguments**:`"xxx"`、`--xxx`、`--xxx=xxx`或者其他结构 - -参数分为以下几种: - 1. 字符串参数:`"xxx"`,用于表示文本内容,例如 `"WebGAL"` - 3. 双连参数:以`--`开头,例如`--xxx`、`--voice="v8.wav"` - 4. 其他参数:可能是用户自定义的参数或者是扩展参数(没有使用1和2但使用了其他的参数格式,我们称其为扩展参数)的参数,暂时将其归为一类,例如:"WebGAL 发展历程" = choose1 - -例如: -```webgal - -// 字符串参数 和 双联参数 -say "WebGAL" "你可以通过以下两个分支了解 WebGAL 的更多故事。" --next --voice="v8.wav" - -// 扩展参数 -choose "WebGAL 发展历程" = choose1 | "WebGAL 冷知识" = choose2 -``` - -### 提案理由 - -为了统一语句的格式,方便后续的解析和扩展,提出基础语句的格式。