网站大量收购独家精品文档,联系QQ:2885784924

小型编译系统.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档