- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 42
《编译技术》课程设计文 档
一.需求说明
1.文法说明
扩充C0文法
<加法运算符>::=+|-
<乘法运算符>::=*|/
<关系运算符>::=|=||=|!=|==
<字母>::=_|a|...|z|A|...|Z
<数字>::=0|<非零数字>
<非零数字>::=1|...|9
<字符>::=<加法运算符>|<乘法运算符>|<字母>|<数字>
<字符串>::={<合法字符>} //字符串中可以出现所有合法的可打印字符集中的字符
<程序>::=[<常量说明部分>][<变量说明部分>]{<有返回值函数定义部分>|<无返回值函数定义部分>}<主函数>
<常量说明部分>::=const<常量定义>;{ const<常量定义>;}
<常量定义>::=int<标识符>=<整数>{,<标识符>=<整数>}| float<标识符>=<实数>{,<标识符>=<实数>}| char<标识符>=<字符>{,<标识符>=<字符>}
<整数>::=[+|-]<非零数字>{<数字>}|0
<小数部分>::=<数字>{<数字>}|<空>
<实数>::=[+|-]整数.[<小数部分>]
<标识符>::=<字母>{<字母>|<数字>}
<声明头部>::=int<标识符> |float <标识符>|char<标识符>
<变量说明部分>::=<变量定义>;{<变量定义>;}
<变量定义>::=<类型标识符><标识符>{,<标识符>}
<常量>::=<整数>| <实数>|<字符>
<类型标识符>::=int | float | char
<有返回值函数定义部分>::=<声明头部>(<参数表>) {<复合语句>}
//此处将<参数>变为<参数表>
<无返回值函数定义部分>::=void<标识符>(<参数表>){<复合语句>}
//此处将<参数>变为<参数表>
<复合语句>::=[<常量说明部分>][<变量说明部分>]<语句列>
<参数表>::=<类型标识符><标识符>{,<类型标识符><标识符>}| <空>
<主函数>::=void main(){<复合语句>}
<表达式>::=[+|-]<项>{<加法运算符><项>}
<项>::=<因子>{<乘法运算符><因子>}
<因子>::=<标识符>|(<表达式>)|<整数>|<有返回值函数调用语句>|<实数>|<字符>
<语句>::=<条件语句>|<循环语句>| {<语句列>}|<有返回值函数调用语句>; |<无返回值函数调用语句>;|<赋值语句>;|<读语句>;|<写语句>;|<空>|<情况语句>|<返回语句>;
<赋值语句>::=<标识符>=<表达式>
<条件语句>::=if (<条件>)<语句>
<条件>::=<表达式><关系运算符><表达式>|<表达式> //表达式为0条件为假,否则为真
<循环语句>::=while (<条件>)<语句>
<情况语句>::=switch (<表达式>) {<情况表><缺省> }
<情况表>::=<情况子语句>{<情况子语句>}
<情况子语句>::=case<常量>:<语句>
<缺省>::=default : <语句>|<空>
<有返回值函数调用语句>::=<标识符>(<值参数表>)
<无返回值函数调用语句>::=<标识符>(<值参数表>)
<值参数表>::=<表达式>{,<表达式>}|<空>
<语句列>::=<语句>{<语句>}
<读语句>::=scanf (<标识符>{,<标识符>})
<写语句>::=printf ( <字符串>,<表达式> )|printf (<字符串> )|printf (<表达式>)
<返回语句>::=return[(<表达式>)] 扩充点
支持“//注释”:行注释,从//到行末所有字符串都不记
支持“/**/注释”: 块注释,/**/内字符串皆忽略2.语法图
3.中间代码说明(四元式)
define名常量值描述FOUR_ADD0+FOUR_SUB1-FOUR_MUL2*FOUR_DIV3/FOUR_JG4大于跳转FOUR_JGE5大于等于跳转FOUR_JL6小于跳转FOUR_JLE7小于等于跳转FOUR_JMP8跳转FOUR_CALLVOID9调用无返回值函数FOUR_CALLFUNC10调用有返回值函数FOUR_VOIDBEG(FOUR_BEGIN*100)无返回值函数开始FOUR_FUNCBEG(FOUR_BEGIN*10)有返回值函数开始FOUR_VOIDEND(FOUR_END*100)无返回值函数结束FOUR_FUNCEND(FOUR_END*10)有返回值函数
您可能关注的文档
- !!!捻转补泻法与提插补泻法对青少年近视患者裸眼远视力影响的随机对照研究教案分析.docx
- (2015年版)临床检验专业医疗质量控制指标教案分析.docx
- (CAD)()--联轴器-展开式二级斜齿圆柱-联轴器,F=1300,v=1.6,D=260,12小时300天10年(高下低上)教案分析.docx
- (编号288)第五单元植物的生殖与成熟试题库教案分析.docx
- (答案)岩体力学考试复习思考题_浓缩版教案分析.docx
- (改)热线热膜_mali教案分析.docx
- (理综)广雅中学2013年普通高中毕业班综合测试三教案分析.docx
- (去名称)信用管理制度教案分析.docx
- (苏大电子信息学院)控制XF引脚电平周期性变化教案分析.docx
- (西南交大)维修加固教案分析.docx
- 探寻移动通信增值服务认证与支付体系的创新发展路径.docx
- 窄环隙流道冷却传热特性:流动机制与影响因素研究.docx
- 超强高韧性树脂钢丝网混凝土加固预应力简支板梁桥的承载力提升机制与效果研究.docx
- 基于MS-VAR模型的生猪产业链区制转换与价格非线性传导解析.docx
- 探秘Ag掺杂La₂CuO₄与Nb掺杂SrTiO₃热电性能:微观机制与性能优化策略.docx
- 正交频分复用:光纤通信系统的效能革新与前景展望.docx
- 人脂肪干细胞对急性肺损伤大鼠肺内皮型一氧化氮合酶的影响:机制与疗效探究.docx
- 社交网络中用户行为的深度剖析与影响力建模研究.docx
- 高压扭转制备SiCP_Al基复合材料:颗粒破碎机制与力 - 热性能的关联探究.docx
- 数字化医疗转型:门诊一卡通收费管理信息系统的设计与实现.docx
最近下载
- 《员工敬业度》课件.ppt VIP
- 2025年智能数据中心智慧数据中心规划建设方案.docx
- 川教版《生命生态安全》九年级上册第四课 正确使用金融支付工具 教学设计.pdf VIP
- 健身强体体魄锻炼主题班会PPT课件.pptx VIP
- 高标准农田项目施工部冬季施工已有设施和管线的加固保护等特殊情况下的施工措施.docx VIP
- 九年级语文上册教学探究积累课件《智取生辰纲》.pptx VIP
- 2025年党政领导干部拟任县处级资格考试试题全套.doc VIP
- 民航市场营销 项目6 互利共赢——民航市场营销的分销策略.pptx
- -互联网协议IP.ppt VIP
- T_CCUA 016-2021 超级计算数据中心设计要求.docx VIP
原创力文档


文档评论(0)