From f5a4fe139a70297d4556834b27257ef2e800d494 Mon Sep 17 00:00:00 2001 From: lcw Date: Wed, 30 Aug 2023 16:22:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E5=91=98=E6=94=B9=E4=B8=BA=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=85=AC=E6=9C=89=EF=BC=8C=E5=B9=B6=E4=B8=BA=E6=9E=84?= =?UTF-8?q?=E9=80=A0=E6=88=90=E5=91=98=E6=B7=BB=E5=8A=A0=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E4=BF=AE=E9=A5=B0=E7=AC=A6=20(#1)=EF=BC=9ABNF=20=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/BNF.txt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) 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"] <语句> -