- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
小型编译系统
一、需求说明
1.文法
我的文法是扩充CO文法,等级是中偏高(编号:lKKh8),我申请 获得优秀,以下是文法。红色字体表示是我在原文法基础上进行 的扩充。
V加法运算符〉:
=+ 1 -
V乘法运算符〉
V关系运算符〉
<字母〉 ::二_
:二 * 丨 /
:= 1 = 1 1 = 1 != 1 == _ 1 a I ... I z 1 A 1 ... I Z
<数字〉::二0丨 <非零数字〉
V非零数字〉::=
V字符〉 ::=
V字符串 > ::二
=11... 1 9
、<加法运算符〉丨V乘法运算符〉丨V字母〉丨V数字〉,
、 {〈合法字符>}
//字符串中可以出现所有合法的可打印字符集中
的字符
V程序〉 ::=
[V常量说明部分>][<变量说明部分〉]{<有返回值函数定义部分
>} {V无返回值函数定义部分>} <主函数>
<常量说明部分〉::二constV常量定义>;{ constV常量定义>;}
<常量定义〉 ::二int<标识符> = <整数>{, <标识符> = <整数>}丨float<标 识符> = <实数>{, V标识符> = <实数>}| charV标识符> = <字符>{, V标识符> =
V字符>}
V整数〉 ::=
V实数〉 ::=
V标识符〉 :::
V声明头部〉:
V变量说明部分〉
[+1 —] V非零数字〉{V数字〉}丨0
[+ 1 -] <整数>[?〈整数〉]
二 <字母〉{V字母〉丨 <数字>}
:二int<标识符> | float <标识符> charV标识符> ::=〈变量定义>;{〈变量定义>;}
V变量定义〉::二V类型标识符〉<标识符>{,<标识符>} <常量〉 ::二〈整数>|〈实数>|〈字符〉
<类型标识符〉
::二 int float char
<有返回值函数定义部分〉::二 <声明头部〉、(,<参数>),、「<复合语句〉
V无返回值函数定义部分〉::=void<标识符> (Y参数〉”、{,<复合语句〉}「 V复合语句〉 ::二[<常量说明部分〉][<变量说明部分〉] <语句列〉
V参数〉 ::二V参数表〉
<参数表〉 :
= <类型标识符><标识符>{, V类型标识符><标识符〉}丨空
V 主函数 > ::二 void main (z < 参数 >), {z 合语句 >},
<表达式> :
=[+丨一] <项>{<加法运算符><项>}
V因子〉 ::=V标识符〉丨 (,<表达式>” I V整数〉丨V有返回值函数调用语 句>1〈实数>|v字符〉 //返回值为Char型的函数和V字符〉,用字符的
ASCII码参加计算
<语句〉 ::二 <条件语句〉丨v循环语句〉丨、{y语句列〉、“ I <有返回值函数调用 语句〉;丨 <无返回值函数调用语句〉;丨 <赋值语句〉;丨<do循环语句>;|〈for语句〉; |V读语句〉;丨V写语句〉;丨V空 >丨<情况语句〉丨V返冋语句〉;V赋值语句 > ::= <标识符> = <表达式>
V条件语句〉::=if 条件 >),< 语句〉[else <语句〉]
<条件> ::二 <表达式><关系运算符>V表达式> 丨 <表达式> //表达式为0条
件为假,否则为真
V循环语句〉 ::二while (z <条件 >),< 语句〉
Vdo循环语句> ::二do<语句〉wh订e (,<条件〉,)
vfoi?语句> ::二for(C v赋值语句〉; < 条件〉;v赋值语句〉),v语句〉
V情况语句〉::=switch 4C<表达式>){<情况表> [<缺省〉]}
V情况表> ::二 <情况子语句〉{<情况子语句>}
<情况子语句> ::二casc<常量〉: <语句〉
<缺省〉::=default: <语句〉
V有返回值函数调用语句〉::=V标识符>,cv值参数表〉丁
V无返回值函数调用语句〉::=V标识符>(<值参数表〉)’
<值参数表〉::=V表达式>{, V表达式>}丨 <空>
<语句列〉::二 <语句〉{<语句>}
V读语句> ::二scanf(V标识符>)
V写语句〉::二printfUv字符串 >,][< 表达式>]丁
<返回语句〉::=「etumrCV表达式>)]
2 ?语法图
程序
复合语句
语句列
i_语句
语句
ident
:表达式
ident
ident
表达式
printf
scanf
ident
表达式
条件
语句
V
语句
语句
While
条件
语句
While
条件
for
ident
表达式
条件
▼
ident
—?
)
语句
表达式
switch
语句
return
表达式
表达式
)
情况
情况
表达式
条件3?
条件
3?P-code指令系统
伪指令数值代码
LIT 1
解释: L
您可能关注的文档
最近下载
- 2025 党校入党积极分子预备党员考试题库(含答案).docx VIP
- 2025 党校入党积极分子预备党员考试题库(含答案).docx VIP
- 边坡绿化工程施工方案.doc VIP
- 紫外线钣金灰行业报告.pptx
- 2024年江苏省高考生物试卷真题(含答案逐题解析).docx
- 2025年中国铁路武汉局集团有限公司招聘毕业生(四)【135人】笔试参考题库附带答案详解.docx
- 最新高二语文下学期期末试卷附答案一套.docx VIP
- 外研版高中《英语》(新标准)必修二Unit6 单元整体教学设计附作业设计.docx
- 毛概电子书.doc
- 外研版高中《英语》(新标准)必修二Unit5 单元整体教学设计附作业设计.doc
文档评论(0)