C++bnf中文版

`C++`巴范语法规则词分器.字符集
四16进制:16进制数 16进制数 16进制数 16进制数
通用字符名:\u 四16进制\U 四16进制 四16进制词分器.预令牌
预处理令牌:头名标识符预数字符字面用户定义符字面 C++0x串字面用户定义串字面 C++0x预处理操作或运算非空白字符不能为以上.词分器.令牌
令牌:标识符关键字字面符号令牌见C++标准核心语言问题n.189运算子见C++标准核心语言问题n.189词分器.头
头名:<h符序列>"q符序列"
h符序列:hh符序列 h
h:除了"新行|>"的其他符
q符序列:qq符序列 q
q:除了"新行|\""的词分器.预数字
预数字:数字.数字预数字 数字预数字 非数字标识符预数字 e 正负号预数字 E 正负号预数字 .词分器.名
标识符:非数字标识符 C++0x标识符 非数字标识符 C++0x标识符 数字
非数字标识符:非数字 C++0x通用字符名 C++0x其他实现定义字符C++0x
非数字:C++0x移除通用字符名a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _(下划线)
数字:0 1 2 3 4 5 6 7 8 9词分器.键
关键字:16符型 32符型 常式 推导 无异 空针 静断 线本 对齐为 的对齐 C++0x//上面都是C++0x
    导出 C++0x-保留未来用  常转  默认   双精 动转           内联   可变 名字空间  符号  保护  注册 重转    的大小  静转  开关       具型 型名      易失 宽符型  汇编      词分器.操作符
符号令牌:在C++标准核心语言问题n.189下见预处理操作或运算
运算子:在C++标准核心语言问题n.189下见预处理操作或运算
预处理操作或运算:{ } [ ] # ## () <: :> <% %> %: %:%: ; : ...   :: .  .* + - * / % ^ & | ~ !  = < > += -= *= /= %= ^= &= |= << >> <<= >>= == != <= >= && || ++ -- , ->* ->与等 位与 位或 不等  或等 异或 异或等词分器.字面.种类
字面:整字面 符字面 浮字面 串字面 布尔字面指针字面 用户定义字面 C++0x词分器.图标
整字面:十进制字面 整后缀 可选八进制字面 整后缀 可选16进制字面 整后缀 可选
十进制字面:非零数字十进制字面 数字
八进制字面:0八进制字面 八进制数字
16进制字面:0x 16进制数0X 16进制数16进制字面 16进制数
非零数字:1 2 3 4 5 6 7 8 9
八进制数字:0 1 2 3 4 5 6 7
16进制数:0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
整后缀:正后缀 长后缀 可选正后缀 长长后缀 可选 C++0x长后缀 正后缀 可选长长后缀 正后缀 可选 C++0x
正后缀:u U
长后缀:l L
长长后缀:ll LL C++0x词分器.符常
符字面:'c符序列'u'c符序列' C++0xU'c符序列' C++0xL'c符序列'
c符序列:cc符序列 c
c:除了"\'|\\|\n"转义序列通用字符名转义序列:简单转义序列八进制转义序列16进制转义序列
简单转义序列:\"\'"\"\""\\\\a\b\f\n\r\t\v八进制转义序列:\八进制数字\八进制数字 八进制数字\八进制数字 八进制数字 八进制数字16进制转义序列:\x 16进制数16进制转义序列 16进制数词分器.浮常
浮字面:分数常数 指数部分 可选 浮动后缀 可选数字序列 指数部分 浮动后缀 可选
分数常数:数字序列 可选 . 数字序列数字序列 .
指数部分:e 正负号 可选 数字序列E 正负号 可选 数字序列
正负号:+-
数字序列:数字数字序列 数字
浮动后缀:f l F L词分器.
串字面:编码前缀 可选 " s符序列 可选 " C++0x编码前缀 可选 R 原始串 C++0x
编码前缀:u8 u U L C++0x
s符序列:ss符序列 s
s:除了"\"|\\|\n"转义序列通用字符名
原始串:"d符序列 可选 (r符序列 可选) d符序列 可选"C++0x
r符序列:r C++0xr符序列 r C++0x
r:除了")"序 初始d符序列 可选 "\""
d符序列:d C++0xd符序列 d C++0x
d:除了"空格|()|\\|水平控制符|\t|\p|\n"等词分器.
布尔字面:词分器.空针
指针字面:空针 C++0x词分器.扩展
用户定义字面:用户定义整字面 C++0x用户定义浮字面 C++0x用户定义串字面 C++0x用户定义符字面 C++0x
用户定义整字面:十进制字面 用定后缀 C++0x八进制字面 用定后缀 C++0x16进制字面 用定后缀 C++0x
用户定义浮字面:分数常数 指数部分 可选 用定后缀 C++0x数字序列 指数部分 用定后缀 C++0x
用户定义串字面:串字面 用定后缀 C++0x
用户定义符字面:符字面 用定后缀 C++0x
用定后缀:标识符 C++0x基本.链接
翻译单元:声明序列 可选式.主要.一般
主要式:字面()标识式λ式 C++0x
标识式:不合格标识合格标识
不合格标识:标识符符号函数标识转换函数标识字面符号标识 C++0x~类名~推导型限定器 C++0x模板标识
合格标识::: 可选 嵌套名限定器  可选 不合格标识::标识符::符号函数标识::字面符号标识 C++0x::模板标识
嵌套名限定器:型名::名间名::推导型限定器::C++0x嵌套名限定器 标识符::嵌套名限定器  可选 简单模板标识::.主要.λ
λ式:λ引入者 λ声明器 可选 组合句 C++0x
λ引入者:[捕捉λ 可选] C++0x
捕捉λ:默认取 C++0x捕捉列表 C++0x默认取 , 捕捉列表 C++0x
默认取:& C++0x= C++0x
捕捉列表:捕捉... 可选 C++0x捕捉列表 , 捕捉... 可选 C++0x
捕捉:标识符 C++0x& 标识符 C++0x C++0x
λ声明器:( 形参声明语句 )可变 可选 异常规范 可选 属性限定器序列 可选 尾中类型 可选 C++0x式.提交
后缀式:主要式后缀式[]后缀式[括号初化列表 可选]C++0x后缀式(式列表 可选)简单类型限定器(式列表 可选)型名限定器(式列表 可选)简单类型限定器 括号初化列表 C++0x型名限定器 括号初化列表 C++0x后缀式. 可选 标识式后缀式-> 可选 标识式后缀式.伪析构器名后缀式->伪析构器名后缀式++后缀式--动转<型标>()静转<型标>()重转<型标>()常转<型标>()具型()具型(型标)
式列表:初化器列表
伪析构器名::: 可选 嵌套名限定器 可选 型名::~型名:: 可选 嵌套名限定器  简单模板标识::~型名 C++0x:: 可选 嵌套名限定器 可选~型名~推导型限定器 C++0x式.一元
一元式:后缀式++强转式--强转式一元符号 强转式的大小 一元式的大小(型标)的大小...(标识符)C++0x的对齐(型标)C++0x无异式 C++0x新式删式
一元符号:* & + - ! ~.
新式::: 可选  新放置 可选 新型标 新初化器 可选:: 可选  新放置 可选(型标)新初化器 可选
新放置:(式列表)
新型标:类型限定器序列 新声明器 可选
新声明器:针符号 新声明器 可选无针新声明器 C++0x
无针新声明器:[]属性限定器序列 可选 C++0x无针新声明器[常数式]属性限定器序列 可选 C++0x
新初化器:(式列表 可选)括号初化列表 C++0x式.
删式::: 可选  强转式:: 可选 []强转式式.一元.无异
无异式:无异()C++0x式.转换
强转式:一元式(型标)强转式式.成针.操作
成针式:强转式成针式.*强转式成针式->*强转式式.乘
乘法式:成针式乘法式*成针式乘法式/成针式乘法式%成针式式.加
加式:乘法式加式+乘法式加式-乘法式式.转移
转移式:加式转移式<<加式转移式>>加式式.相对
关系式:转移式关系式<转移式关系式>转移式关系式<=转移式关系式>=转移式式.等
等式:关系式等式==关系式等式!=关系式式..和
与式:等式与式&等式式.异或
异或式:与式异或式 ^ 与式式.
包含或式:异或式包含或式|异或式式.日志.和
逻辑与式:包含或式逻辑与式 && 包含或式式.日志.
逻辑或式:逻辑与式逻辑或式||逻辑与式式.条件
条件式:逻辑或式逻辑或式 式:赋值式式.赋值
赋值式:条件式逻辑或式 赋值符 初化器语句 C++0x抛式
赋值符:= *= /= %= += -= >>= <<= &= ^= |=.逗号
式:赋值式式,赋值式式.
常数式:条件式语句.语句
语句:标签语句属性限定器序列 可选 式句 C++0x属性限定器序列 可选 组合句 C++0x属性限定器序列 可选 选择语句 C++0x属性限定器序列 可选 步语句 C++0x属性限定器序列 可选 跳语句 C++0x声明句属性限定器序列 可选 试块语句.标签
标签语句:属性限定器序列 可选 标识符:语句属性限定器序列 可选  常数式:语句属性限定器序列 可选 默认:语句语句.式
式句:式 可选;语句.块
组合句:{语句序列 可选}
语句序列:语句语句序列 语句语句.选择
选择语句:(条件)语句(条件)语句  语句开关(条件)语句
条件:式属性限定器序列 可选 声明限定器序列 声明器=初化器语句 C++0x属性限定器序列 可选 声明限定器序列 声明器 括号初化列表 C++0x语句.步
步语句:(条件)语句 语句 ();(对初化语句 条件 可选;式 可选)语句(对区间声明:对区间初化器)语句 C++0x
对初化语句:式句简单声明
对区间声明:属性限定器序列 可选 类型限定器序列 声明器 C++0x
对区间初化器:式括号初化列表语句.跳
跳语句:;; 式 可选; 括号初化列表 可选;C++0x 标识符;语句.声明
声明句:声明块声明.声明
声明序列:声明声明序列 声明
声明:声明块定义函数模板声明显实例显特化链接规范定义名间声明空 C++0x声明属性 C++0x
声明块:简单声明定义汇编定义名间别名用声明用指令静断声明 C++0x别名声明 C++0x暗色枚声明 C++0x别名声明: 标识符=型标;C++0x简单声明:属性限定器序列 可选 声明限定器序列 可选 初化声明器列表 可选;C++0x
静断声明:静断(常数式,串字面);C++0x
声明空:;C++0x
声明属性:属性限定器序列;C++0x声明.特殊
声明限定器:存储类限定器类型限定器函数限定器常式 C++0x
声明限定器序列:声明限定器 属性限定器序列 可选 C++0x声明限定器 声明限定器序列 C++0x声明.存储类
存储类限定器://动 移除 C++0x
    线本 C++0x注册   可变声明.函数型.特殊
函数限定器:内联声明.
又名:标识符声明.类型
类型限定器:尾型限定器类限定器枚限定器尾型限定器:简单类型限定器详述型限定器型名限定器常易限定器类型限定器序列:类型限定器 属性限定器序列 可选 C++0x类型限定器 类型限定器序列尾型限定器序列:尾型限定器 属性限定器序列 可选 C++0x尾型限定器 尾型限定器序列 C++0x字典.类型.简单
简单类型限定器::: 可选 嵌套名限定器 可选 型名:: 可选 嵌套名限定器  简单模板标识16符型 C++0x32符型 C++0x 宽符型        双精  C++0x推导型限定器 C++0x
型名:类名枚名又名简单模板标识 C++0x
推导型限定器:推导()C++0x声明.类型.详
详述型限定器:类键 属性限定器序列 可选:: 可选 嵌套名限定器 可选 标识符类键:: 可选 嵌套名限定器 可选  可选 简单模板标识:: 可选 嵌套名限定器 可选 标识符声明.
枚名:标识符
枚限定器:枚头{枚举器列表 可选}C++0x枚头{枚举器列表,}C++0x
枚头:枚键 属性限定器序列 可选 标识符 可选 枚基 可选 C++0x枚键 属性限定器序列 可选 嵌套名限定器 标识符 枚基 可选 C++0x
暗色枚声明:枚键 属性限定器序列 可选 标识符 枚基 可选;C++0x
枚键: C++0x  C++0x  C++0x
枚基::类型限定器序列 C++0x
枚举器列表:定义枚举器 C++0x枚举器列表,定义枚举器 C++0x
定义枚举器:枚举器枚举器=常数式
枚举器:标识符名字空间.定义
名间名:原名间名别名名间
原名间名:标识符
定义名间:定义命名名间定义未命名名间
定义命名名间:定义原名间扩展定义名间
定义原名间:内联 可选 名字空间 标识符{名间体}C++0x
扩展定义名间:内联 可选 名字空间 原名间名{名间体}C++0x
定义未命名名间:内联 可选 名字空间{名间体}
名间体:声明序列 可选名字空间.别名
别名名间:标识符
定义名间别名:名字空间 标识符=合格名间限定器;
合格名间限定器::: 可选 嵌套名限定器 可选 名间名名字空间.用声明
用声明: 型名 可选:: 可选 嵌套名限定器 不合格标识;::不合格标识;名字空间.用指令
用指令:属性限定器序列 可选  名字空间:: 可选 嵌套名限定器 可选 名间名;声明.汇编
定义汇编:汇编(串字面);声明.链接
链接规范: 串字面{声明序列 可选} 串字面 声明声明.属性.语法
属性限定器序列:属性限定器 C++0x属性限定器序列 属性限定器 C++0x
属性限定器:[[属性列表]]C++0x对齐限定器 C++0x
对齐限定器:对齐为(型标... 可选)C++0x对齐为(赋值式... 可选)C++0x
属性列表:特性 可选 C++0x属性列表,特性 可选 C++0x特性...C++0x属性列表,特性...C++0x
特性:属性令牌 属性实参语句 可选 C++0x
属性令牌:标识符 C++0x属性域令牌 C++0x
属性域令牌:属性名间::标识符 C++0x
属性名间:标识符 C++0x
属性实参语句:(平衡令牌序列)C++0x
平衡令牌序列:平衡令牌 C++0x平衡令牌序列 平衡令牌 C++0x
平衡令牌:(平衡令牌序列)C++0x[平衡令牌序列]C++0x{平衡令牌序列}C++0x除了"()[]{}"的令牌 C++0x声明.声明
初化声明器列表:初化声明器初化声明器列表,初化声明器
初化声明器:声明器 初化器 可选
声明器:针声明器 C++0x无针声明器 形参和限定器 尾中类型 C++0x
针声明器:无针声明器 C++0x针符号 针声明器 C++0x
无针声明器:声明器标识 属性限定器序列 可选 C++0x无针声明器 形参和限定器 C++0x无针声明器[常数式 可选]属性限定器序列 可选 C++0x(针声明器)C++0x
形参和限定器:(形参声明语句)属性限定器序列 可选 常易限定器序列 可选 引用限定器 可选 异常规范 可选 C++0x
尾中类型:->尾型限定器序列 抽象声明符 可选 C++0x
针符号:*属性限定器序列 可选 常易限定器序列 可选 C++0x&属性限定器序列 可选 C++0x&&属性限定器序列 可选 C++0x:: 可选 嵌套名限定器*属性限定器序列 可选 常易限定器序列 可选 C++0x
常易限定器序列:常易限定器常易限定器 常易限定器序列
常易限定器:易失
引用限定器:&C++0x&&C++0x
声明器标识:... 可选 标识式 C++0x:: 可选 嵌套名限定器 可选 类名 C++0x声明.名
型标:类型限定器序列 抽象声明器 可选
抽象声明符:针抽象声明器 C++0x无针抽象声明器 可选 形参和限定器 尾中类型 C++0x... C++0x
针抽象声明器:无针抽象声明器 C++0x针符号 针抽象声明器 可选 C++0x
无针抽象声明器:无针抽象声明器 可选 形参和限定器 C++0x无针抽象声明器 可选[常数式]属性限定器序列 可选 C++0x(针抽象声明器)C++0x声明.函数型
形参声明语句:形参声明列表 可选... 可选形参声明列表,...
形参声明列表:形参声明形参声明列表,形参声明
形参声明:属性限定器序列 可选 声明限定器序列 声明器 C++0x属性限定器序列 可选 声明限定器序列 声明器=初化器语句 C++0x属性限定器序列 可选 声明限定器序列 抽象声明符 可选 C++0x属性限定器序列 可选 声明限定器序列 抽象声明符 可选=初化器语句 C++0x声明.函数型.定义.一般
定义函数:属性限定器序列 可选 声明限定器序列 可选 声明器 函数体 C++0x属性限定器序列 可选 声明限定器序列 可选 声明器=默认;C++0x属性限定器序列 可选 声明限定器序列 可选 声明器=;C++0x
函数体:构造器初化器 可选 组合句 C++0x函数试块 C++0x声明.初化
初化器:括等号初化器 C++0x(式列表)C++0x
括等号初化器:=初化器语句 C++0x括号初化列表 C++0x
初化器语句:赋值式 C++0x括号初化列表 C++0x
初化器列表:初化器语句... 可选 C++0x初化器列表,初化器语句... 可选 C++0x
括号初化列表:{初化器列表, 可选}C++0x{}C++0x
类名:标识符简单模板标识 C++0x
类限定器:类头{成员规范 可选}
类头:类键 属性限定器序列 可选 类头名 虚类限定器序列 可选 基句 可选 C++0x类键 属性限定器序列 可选 基句 可选 C++0x
类头名:嵌套名限定器 可选 类名 C++0x
虚类限定器序列:虚类限定器 C++0x虚类限定器序列 虚类限定器 C++0x
虚类限定器: C++0x
类键:.内存
成员规范:成员声明 成员规范 可选访问限定器:成员规范 可选
成员声明:属性限定器序列 可选 声明限定器序列 可选 成员声明器列表 可选;C++0x定义函数; 可选用声明静断声明 C++0x模板声明别名声明 C++0x
成员声明器列表:成员声明器成员声明器列表,成员声明器
成员声明器:声明器 虚限定器序列 可选 纯限定寄 可选声明器 虚限定器序列 可选 括等号初化器 可选 C++0x标识符 可选 属性限定器序列 可选 虚限定器序列 可选:常数式
虚限定器序列:虚限定器虚限定器序列 虚限定器
虚限定器:
纯限定器:=0.继承
基句::基限定器列表
基限定器列表:基限定器... 可选 C++0x基限定器列表,基限定器... 可选 C++0x
基限定器:属性限定器序列 可选 基类型限定器 C++0x属性限定器序列 可选  访问限定器 可选 基类型限定器 C++0x属性限定器序列 可选 访问限定器  可选 基类型限定器 C++0x
类或推导::: 可选 嵌套名限定器 可选 类名 C++0x推导型限定器 C++0x
基类型限定器:类或推导 C++0x
访问限定器:保护.转换.函数型
转换函数标识:符号 转换型标识
转换型标识:类型限定器序列 转换声明器 可选
转换声明器:针符号 转换声明器 可选..初化
构造器初化器::内存初化器列表
内存初化器列表:内存初化器... 可选 C++0x内存初化器,内存初化器列表... 可选 C++0x
内存初化器:内存初化器标识(式列表 可选)内存初化器标识 括号初化列表 C++0x
内存初化器标识:类或推导标识符重载.操作
符号函数标识:   见C++标准核心语言问题n.189符号 可重载符号符号 可重载符号<模板实参列表 可选>
可重载符号:   见C++标准核心语言问题n.189  [] [] + - * / % ^ & | ~ !  = < > += -= *= /= %= ^= &= |= << >> >>= <<= == != <= >= && || ++ -- , ->* -> () []重载.字面
字面符号标识:符号""标识符 C++0x模板
模板声明:<模板形参列表>声明 C++0x-保留导出关键字,未来用
模板形参列表:模板形参模板形参列表,模板形参模板.参数
模板形参:类型形参形参声明
类型形参:... 可选 标识符 可选 C++0x 标识符 可选=型标型名... 可选 标识符 可选 C++0x型名 标识符 可选=型标<模板形参列表>... 可选 标识符 可选 C++0x<模板形参列表> 标识符 可选=标识式模板.名
简单模板标识:模板名<模板实参列表 可选>C++0x
模板标识:简单模板标识 C++0x符号函数标识<模板实参列表 可选>C++0x字面符号标识<模板实参列表 可选>C++0x
模板名:标识符
模板实参列表:模板实参... 可选 C++0x模板实参列表,模板实参... 可选 C++0x
模板实参:常数式 C++0x型标 C++0x标识式 C++0x模板.资源
型名限定器:型名:: 可选 嵌套名限定器 标识符 C++0x型名:: 可选 嵌套名限定器  可选 简单模板标识 C++0x模板.
显实例: 可选  声明 C++0x模板.解释.特殊
显特化:<>声明异常
试块: 组合句 处理器序列
函数试块: 构造器初化器 可选 组合句 处理器序列 C++0x
处理器序列:处理器处理器 处理器序列
处理器:(声明异常)组合句
声明异常:属性限定器序列 可选 类型限定器序列 声明器 C++0x属性限定器序列 可选 类型限定器序列 抽象声明符 可选 C++0x... C++0x
抛式: 赋值式选项异常.特殊
异常规范:动态异常规范 C++0x无异规范 C++0x
动态异常规范:(型标列表 可选)C++0x
型标列表:型标... 可选 C++0x型标列表,型标... 可选 C++0x
无异规范:无异(常数式)C++0x无异 C++0xc++
预处理文件:组 可选
组:组部分组 组部分
组部分:如节控制行文本行 C++0x#非指令 C++0x
如节:如组 异如组 可选 异组 可选 结束如果行
如组:# 常数式 新行 组 可选#如定义 标识符 新行 组 可选#如未定义 标识符 新行 组 可选
异如组:异如组异如组 异如组
异如组:#异如 常数式 新行 组 可选
异组:# 新行 组 可选
结束如果行:#结束如果 新行
控制行:#包含 预令牌 新行#定义 标识符 替代列表 新行#定义 标识符 左括号 标识符列表 可选)替代列表 新行 C++0x#定义 标识符 左括号 标识符列表,...)替代列表 新行 C++0x#未定义 标识符 新行#行 预令牌 新行#错误 预令牌 可选 新行#指示 预令牌 可选 新行#新行
文本行:预令牌 可选 新行 C++0x
非指令:预令牌 新行 C++0x
左括号:前无空格的(
标识符列表:标识符标识符列表,标识符
替代列表:预令牌 可选
预令牌:预处理令牌预令牌 预处理令牌
新行:新行符


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部