diff --git a/docs/BNF.txt b/docs/BNF.txt index 7421461..13a7184 100644 --- a/docs/BNF.txt +++ b/docs/BNF.txt @@ -6,7 +6,16 @@ 模板参数列表 ::= "<" [模板参数列表内容] ">" -结构体定义 ::= "struct" <标识符> [模板参数列表] ("(" "delete" ")" | <函数参数列表>) "{" 结构体内容 "}" ";" +结构体定义 ::= "struct" <标识符> [模板参数列表] ("(" "delete" ")" | <结构体参数列表>) "{" 结构体内容 "}" ";" + +结构体参数列表 ::= "(" [结构体参数项 "," {结构体参数项}] ")" + +结构体参数项 ::= ["private"] <类型和变量> + +结构体内容 ::= <结构体语句> + | <结构体语句> <结构体内容> + +结构体语句 ::= ["private"] <语句> 匿名结构体定义 ::= "struct" "{" <结构体内容> "}" <标识符> ";" @@ -70,8 +79,3 @@ 变量定义 ::= <标识符> "=" <值> ";" -结构体内容 ::= <结构体语句> - | <结构体语句> <结构体内容> - -结构体语句 ::= ["public"] <语句> -