- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一次课堂作业答案.ppt
EBNF
请用扩展的 BNF 描述 C语言里语句的结构;
假定有语法类 exp 表示一般表达式,s-exp 表示可用于 switch 标号的静态表达式;
请用扩展的 BNF 描述 C++语言里类声明的结构;
假定有语句类statement表示语句,有参数列表类parameter_list表达参数列表;
请用扩展的 BNF 描述 Java语言里类声明的结构;
假定有语句类statement表示语句,有参数列表类parameter_list表达参数列表,有表达式类expression表达表达式;
一、扩展BNF描述C语言中的语句
语句
statement ::= block | variable-statement
|assignment-statement
|labeled-statement
| expression-statement
| condition-statement
| iteration-statement
| jump-statement
|empty-statement
2. 语句块
block ::= { [statement-list] }
statement-list ::= [statement-list] statement
3.变量声明
variable-statement ::= variable-type variable-declaration-list ;
variable-declaration-list ::= variable-declaration {,variable-declaration}
variable-declaration ::= identifier [ = exp]
4.赋值语句
assignment-statement ::= identifier = exp ;
5.带标签语句
label-statement ::= identifier : statement | case s-exp : statement | default : statement
6.表达式语句
expression-statement ::= exp ;
7.条件语句
condition-statement ::= if ( exp ) statement
| if ( exp ) statement else statement
| switch ( exp ) statement
8.循环语句
iteration-statement ::= while ( exp ) statement
| do statement while ( exp ) ;
| for ( [exp] ; [exp] ; [exp] ) statement
9.跳转语句
jump-statement ::= continue ; | break ; | return [exp] ; | goto identifier ;
10.空语句
empty-statement ::= ;
二、扩展BNF描述C++语言中的类声明
类声明
class_declaration ::= class identifier { {field_declaration} } ;
2. 域声明
field_declaration ::=
|modifier : {method_declaration | |constructor_declaration |destructor-declaration}
|modifier : {variable_declaration}
变量声明
variable_declaration ::= type identifier { , identifier } ;‘
4. 方法声明
method_declaration ::= type identifier ( [parameter_list] ) ;
5. 构造函数声明
constructor_declaration ::= identifier ( [parameter_list] ) { {statement} } ;
6. 析构函数声明
destructor-declaration ::= ~ identifier ( ) { {statement} } ;
三、扩展BNF描述Java语言中的类声明
类声明
class_declaration ::= modifier class identifier [extends class_name]
[implements interface_name {, interface_name } ] { field_declara
您可能关注的文档
- 第3章安装-上海瑞其科技有限公司.doc
- 第3章报表填报.doc
- 第3章数据库设计-信息科学技术学院.doc
- 第3章自动化存取仓储(ASR)设计-机电工程系-大华科技大学.doc
- 第3章词法分析.ppt.ppt
- 第3章递归函数.ppt
- 第3章配置安全Internet访问服务.doc
- 第3章顺序程序设计C.ppt
- 第3章(MIS)管理信息系统的概念.ppt
- 第3篇课件.ppt
- 【安全经验分享】镇江新区金科·祥生悦园建设工地宿舍“3·8”较大火灾事故 1根香烟,7条人命!6人追刑!.pptx
- 面向类集成测试序列生成问题的深度强化学习方法研究.pdf
- 包含电热氢多元储能的综合能源系统能量管理策略研究.pdf
- H公司食品机生产项目工时管理优化研究.pdf
- 上覆充水型溶洞对巷道围岩稳定性的影响及控制技术研究.pdf
- 松散层底部黏土层渗透破坏试验及数值模拟研究.pdf
- 凉水井煤矿薄煤层大跨度开切眼空顶距与支护技术研究.pdf
- 基于功能可用性的家用制氧机造型设计研究.pdf
- 基于原子力显微镜技术的神经细胞药物刺激响应研究.pdf
- 电力电子变换器直流母线电容状态在线监测方法研究.pdf
文档评论(0)