当前位置: 首页 > wzjs >正文

网站建设与管理就业trinseo公司

网站建设与管理就业,trinseo公司,网页设计制作导航栏,如何查询网站服务器地址目录 简述典型的编译程序包括了哪些部分? 什么是属性文法,什么是语法制导的翻译模式? 谈一谈编译技术都有哪些应用,学习编译原理课程你有哪些收获 简述LR分析器的工作原理 综合 根据描述,写文法、正规式 正规式…

目录

简述典型的编译程序包括了哪些部分?

什么是属性文法,什么是语法制导的翻译模式?

谈一谈编译技术都有哪些应用,学习编译原理课程你有哪些收获

简述LR分析器的工作原理

综合

根据描述,写文法、正规式

正规式、NFA、DFA、最小化

消除左递归、LL(1)文法、FIRST、FOLLOW、预测分析表

语句的翻译(while、if、数组)四元式

活动记录、display 

后缀式、抽象语法树


简述典型的编译程序包括了哪些部分?

词法分析

从左到右一个字符一个字符的读入源程序,对构成源程序的字符串进行扫描和分解,从而识别出一个个单词

语法分析

在词法分析基础上将单词序列分解成各类语法短语,如程序、语句、表达式等

语义分析与中间代码生成

审查有无语义错误,并为代码生成收集类型信息(类型检查、变量是否声明、类型是否一致、变量是否已有值等)

将源程序变成一种内部表示形式(中间代码)

代码优化

可在不同的编译阶段进行,其中对中间代码的优化尤其重要

目标代码生成

把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码

表格管理

作为进行语法的合法性检查的依据,作为目标代码生成阶段地址分配的依据

出错处理

错误检测处理与符号表管理工作一样,贯穿整个编译过程

什么是属性文法,什么是语法制导的翻译模式?

将语义以“属性”的形式附加到各文法符号上,再根据产生式所蕴含的语义,给出每个文法符号的属性的求值规则,从而形成一种带有语义属性的上下文无关文法

根据文法中每个产生式所蕴含的语义,为其配备一个(或多个)语法或子程序,对所要完成的功能进行描述,在语法分析过程中,当分析器使用该产生式进行语法分析时(无论是推导还是归约),除完成语法分析动作之外,还将调用为其配备的语义子程序,进行相应地语义处理,完成语义翻译工作

谈一谈编译技术都有哪些应用,学习编译原理课程你有哪些收获

简述LR分析器的工作原理

【编译原理】第五章 自下而上语法分析-CSDN博客

在规范归约过程中,一方面记住以移进和归约出的整个符号串,即记住“历史”,另一方面根据所用的产生式推测未来可能碰到的输入符号,即对于未来进行“展望”

( 当一串貌似句柄的符号串呈现分析栈的顶端时,根据所记载的“历史”和“展望”以及“现实”的输入符号等三方面的材料,来确定栈顶的符号串是否构成相对某一产生式的句柄)

请阅读以下资料,简要叙述里面设计的编译知识

2020年9月30日,毕昇(BiSheng)编译器1.0在鲲鹏社区正式发布上线并下载使用。毕昇编译器是华为提供的针对鲲鹏硬件平台进行了深度优化的一款提供高性能、高可信及易扩展的编译器工具链。毕昇编译器引入了多种编译技术,基于开源LLVM开发,支持C/C++/Fortran编译语言,可将C/C++/Fortran的源程序编译为LLVM中间表示的IR。此外,对高性能编译算法、加速指令集、AI迭代调优等方面进行了增强,使得鲲鹏平台的强劲算力能够较大限度地得到释放

综合

根据描述,写文法、正规式
正规式、NFA、DFA、最小化
消除左递归、LL(1)文法、FIRST、FOLLOW、预测分析表
语句的翻译(while、if、数组)四元式
活动记录、display 
后缀式、抽象语法树

1.能被5整除的,且不以0开头的十进制整数集

(1)文法

(2)正规表达式

(1)

S-->ABC|5

A-->1|2|3|4|5|6|7|8|9

B-->EB|ε

E-->0|1|2|3|4|5|6|7|8|9

C-->0|5

(2)

5|(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(0|5)

2.对赋值语句x:=-a*(b+c*d)完成以下代码转换

(1)转换为后缀式

(2)转换为抽象语法树

(1)

x a - b c d * + * :=

(2)

         (:=)/    \(x)    (*)/   \(-)   (+)/    /   \(a)  (b)  (*)/   \(c)  (d)

1.令文法G[S]为:

S-->aAc|bAb

A-->Aa|b

(1)证明aAaac是该文法的句型,给出该句型的句柄

(2)消除该文法的左递归

(3)消除左递归后,求出改造后文法非终结符的FIRST、FOLLOW集

(4)判断改造后的文法是否是LL(1)文法,说明理由

(5)若是,构造LL(1)分析表

(1)

S → aAc     → aAac   → aAaac  
        S/ | \a  A  c|\A a|\A a

句柄A

(2)

(2)

S\rightarrow aAc|bAb \\ A\rightarrow bA' \\ A'\rightarrow aA'|\varepsilon

(3)

FIRST(S) = {a, b}

FIRST(A) = {b}

FIRST(A') = {a, ε}

FOLLOW(S) = {#}

FOLLOW(A) = {b, c}

FOLLOW(A') = {b, c}

(4)

  1. 无左递归:已消除(满足)

  2. 同一非终结符的各产生式 FIRST 不相交:

    • SFIRST(aAc)={a}FIRST(bAb)={b} → 不相交

    • A:只有一个产生式 → 满足

    • A'FIRST(aA')={a}FIRST(ε)={ε} → 不相交

  3. 若某产生式 FIRST 含 ε,则 FIRST ∩ FOLLOW = ∅:

        FIRST(A') ∩ FOLLOW(A') = {a} ∩ {b,c} = ∅ → 满足

∴ 改造后的文法是 LL(1) 文法。

(5)

非终结符abc#
SS→aAcS→bAb
AA→bA'
A'A'→aA'A'→εA'→ε

2.对于\sum =\left \{ a,b \right \}上的正规式ba(a|b)*a

(1)为该正规式构造一个与之等价的NFA

(2)将此NFA确定化得到与之等价的DFA

(3)将此DFA最小化

3.请把下面的语句翻译成四元式序列

if x<a then

        begin

                while i>m and i<n do

                        i:=i+10*i;

                y:=i/m;

        end

else y:m+n;

if x<a goto E.true

        goto E.false

E.true: LE: if i>m goto L1

         goto F.false

L1:  if i<n goto F.true

        goto F.false

F.true:    i=i+10*i

        goto LE

F.false:   y=i/m

        goto E.next

E.false:  y=m+n

E.next:

100(j<,x,a,102)

101(j,_,_,113)

102(j>,i,m,104)

103(j,_,_,110)

104(j<,i,n,106)

105(j,_,_,110) 

106(*,10,i,T1)

107(+,i,T1,T2)

108(=,T2,_,i)

109(j,_,_,102)

110(/,i,m,T3)

111(=,T3,_,y)

112(j,_,_,115)

113(+,m,n,T4) 

114(=,T4,_,y) 

115 

1.设有条件语句的文法G[S]为:S->iSeS | iS | i

文法G[S]是二义性的吗?请证明

2.写一个文法使其语言为奇数集,且每个奇数不以0开头

SABC | C

BBE | 

E0|1|2|3|4|5|6|7|8|9

C1|3|5|7|9


正规式

(1|3|5|7|9)|(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(1|3|5|7|9)

3.文法G[E]:

EE+T|T

TT*F|F

F(E)|i

(1)证明串E+F*i是该文法的句型

(2)给出该句型的所有短语、简单短语、句柄

1.已知上的正规式:(0|1)*001

(1)为该正规式构造一个与之等价的NFA

(2)将此NFA确定化得到与之等价的DFA

(3)将此DFA最小化

2.现有文法G[S]:

SrD

DD,i|i

(1)消除该文法的左递归

(2)对消除左递归后的文法,给出每个非终结符的FIRST和FOLLOW集

(3)判断改造后文法是否是LL(1)文法,如果是请为其构造LL(1)分析表

(1)

P=D        =,i        =i

SrD

DiD'

D',iD'|

(2)

FIRST(S)={r}

FIRST(D)={i}

FIRST(D')={,,}

FOLLOW(S)={#}

FOLLOW(D)=FOLLOW(S)={#}

FOLLOW(D')=FOLLOW(D)={#}

(3)

不含左递归

每一个非终结符的各个产生式的候选首符集(FIRST集)两两不相交

对于非终结符D',FIRST集包含,FIRST(D')FOLLOW(D')=

是LL(1)文法

ri,#
SSrD
DDiD'
D'D',iD'D'

3.请把下面的语句翻译成四元式序列

while x<a do

        if i<m and j<n         then x:=A[i,j]

        else x=i+j

其中A是一个10*20的数组,并设数组元素域宽w=4,且各维下标的下界是1

LE:        if x<a goto E.true

                goro E.false

E.true:        if(i<m) goto L1

                goto F.false

L1:        if(j<n) goto F.true

                goto F.false

F.true:        T1=i*20

                  T1=T1+j

                  T2=A-84

                  T3=T1*4

                  x=T2[T3]

                goto F.next

F.false:        x=i+j

                goto F.next

F.next:        goto LE

E.false:

100(j<,x,a,102)

101(j,_,_,115)

102(j<,i,m,104)

103(j,_,_,112)

104(j<,j,n,106)

105(j,_,_,112)

106(*,i,20,T1)

107(+,T1,j,T1)

108(-,A,84,T2)

109(*,T1,4,T3)

110(=[ ],T2,T3,x)

111(j,_,_,114)

112(+,i,j,x)

113(j,_,_,114)

114(j,_,_,100)

115

4.活动记录结构如下图所示:

Program P0(input,output);VAR a:integer;procedure P1(x:integer)Begina:=x+2;endbegin...P1(2);...end

临时单元

内情向量

简单变量

display
形参单元
参数个数
全局Display
返回地址
老sp(动态链)

画出P0调用P1前、后的栈顶活动记录(含Display表)

http://www.dtcms.com/wzjs/172112.html

相关文章:

  • 网站备案真实性核验单下载广州做网站的公司哪家好
  • 南阳网站建设哪家好百度官网认证入口
  • 做电影网站需要多打了服务器鸣蝉智能建站
  • 企业建设网站找网站公司吗公司管理培训课程大全
  • 网站多国语言河北seo网络推广
  • 网络营销类网站百度优化排名
  • 网站安全建设 应用开发seo项目培训
  • 网站域名怎样注销软文写作技巧及范文
  • 做副业赚钱网站查询域名网站
  • 淘宝客cms网站怎么做友情链接交换标准
  • 大淘客做自己网站网络营销专业是做什么的
  • 网站建设到底怎么回事百度搜索引擎原理
  • 政协网站建设无锡百度竞价
  • 网站上线的步骤宁德市属于哪个省份
  • 建设网站平台的建议友情链接怎么互换
  • 阿里备案网站杭州网站seo
  • 赤峰网站制作公司网站seo优化方法
  • 做国外网站做外贸爱战网关键词
  • 设计网站的目的智能建站网站模板
  • 自己制作头像app软件seo课堂
  • 怎样做网站运营行业关键词查询
  • 开个网站建设公司多少钱站长之家0
  • wordpress弹窗登录注册举例说明seo
  • 深圳网站建设哪家好重庆网
  • 搭建商城网站自己的品牌怎么做加盟推广
  • 网上订餐网站模板网站客服
  • 一站式企业服务友链大全
  • 河南网络科技网站建设百度推广联系方式
  • 深圳国税局网站怎么做票种核定怎样在百度上打广告
  • 网站a记录的是做cname软服业营收破334亿