源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

解析四则表达式的编译过程及生成汇编代码

  • 时间:2021-08-15 23:26 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:解析四则表达式的编译过程及生成汇编代码
[b]1、前序 [/b]这是编译原理的实验,自认为是上大学以来做过的最难的一个实验。 实验用到的基础知识:C语言、数据结构、汇编(只需简单的了解)。 开发工具:VC [b]2、问题描述 [/b]编译整数四则运算表达式,将整数四则运算表达式翻译为汇编语言代码。 消除左递归后的文法: E→TE' E'→+TE' |ε T→FT' T'→*FT' |ε F→(E) | i 消除左递归后的翻译模式: E ::=     T    {E'.i:=T.nptr} E'    {E.nptr:=E'.s} E'::=      + T  {E'1.i:=mknode(‘+',E'.i,T.nptr)} E'1   {E'.s:=E1.s} E'::=       - T   {E'1.i:=mknode(‘-',E'.i,T.nptr)} E'1   {E'.s:=E1.s} E'::=      ε     {E'.s:= E'.i} T ::=      F    {T'.i:=F.nptr} T'    {T.nptr:=T'.s} T'::=      * F  {T'1.i:=mknode(‘*',T'.i,F.nptr)} T'1   {T'.s:=T1.s} T'::=      / F   {T'1.i:=mknode(‘/',T'.i,F.nptr)} T'1   {T'.s:=T1.s} T' ::= ε  {T'.s:= T'.i} F ::= (E) {F.nptr:=E.nptr} F ::= num {F.nptr:=mkleaf(num,num.val)} [b]3、全局定义 test.c文件 [/b]
[url=http://xiazai.jb51.net/201306/yuanma/src_jb51net.rar]点击下载源代码 [/url] [/b]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部