【软件设计师】程序设计语言与语言处理程序!(第八章)
  enMQKPEQvVEU 2023年11月02日 33 0

 点击报名后领取>>>软考16本电子版教材 & 36本辅导教材 + 27套历年真题试卷 + 21套精编知识点6G资料包

第8章:程序设计语言与语言处理程序基础

【考点梳理】

考点1、编译与解释(★★★)

【考法分析】

1、本知识点的考查形式主要有:给出编译与解释相关的描述,判断正误;给出编译各个阶段的描述,判断正误。

【要点分析】

1、解释程序,也称解释器;直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行。

2、编译程序,也称编译器;将源程序翻译成目标语言程序,然后再计算机上运行目标程序。

3、两者的根本区别:编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,因此执行时效率较高;解释方式下,解释程序和源程序(或某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序,边解释边执行,执行效率较低。即:解释方式,翻译程序不生成独立的目标程序,而编译方式则生成独立保持的目标程序。

4、编译过程:

(1)词法分析阶段:是编译过程的第一阶段,其任务是对源程序从前到后(从左到右)逐个字符扫描,从中识别出一个个“单词”符号。词法分析过程的依据是语言的词法规则,即描述“单词”结构的规则。

词法错误:非法字符,关键字或标识符拼写错误。

(2)语法分析阶段:其任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位。通常语法分析是确定整个输入串是否构成一个语法上正确的程序。一般来说,通过编译的程序,不存在语法上的错误。

语法错误:语法结构出错,if endif不匹配,缺分号。

(3)语义分析阶段:其任务主要检查源程序是否包含静态语义错误(动态语义错误在执行过程中才能发现),并收集类型信息供后面的代码生成阶段使用。语义分析的一个主要工作是进行类型分析和检查。

语义错误:死循环,零除数,其它逻辑错误。

(4)中间代码生成:其任务是根据语义分析的输出生成中间代码。此阶段不是必须的。常见的中间代码有:树、后缀式、三地址码(四元式)。

(5)代码优化:其任务是优化中间代码。此阶段不是必须的。

(6)目标代码生成:是编译器工作的最后一个阶段。其任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码。本阶段与具体机器密切相关。

【软件设计师】程序设计语言与语言处理程序!(第八章)_中间代码

(7)符号表的作用是记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地查找、插入、修改和删除等操作。符号表的存在可以贯穿编译所有阶段。

【备考点拨】

1、掌握编译与解释的区别;

2、掌握编译器的工作过程。

【软件设计师】程序设计语言与语言处理程序!(第八章)_中间代码_02

考点2、文法(★★)

【考法分析】

1、本知识点的主要考查方式有:给出一些概念的描述判断正误;给出一个文法的描述,判断能够识别的字符串。

【要点分析】

1、文法相关的概念:一个形式文法是一个有序四元组G=(V,T,S,P),其中:

1)V:非终结符。不是语言组成部分,不是最终结果,可理解为占位符。

2)T:终结符。是语言的组成部分,是最终结果。 VT=

3)S:起始符。是语言的开始符号。

4)P:产生式。用终结符替代非终结符的规则。形如α→β

2、文法的分类:

【软件设计师】程序设计语言与语言处理程序!(第八章)_源程序_03

注:常见的程序设计语言一般是上下文无关文法。

3、文法与语法树的推导:

例:文法G=({a, b}, {S, A}, S, P),其中:S→aAS|a;A→SbA|SS|ba。请构造句型aabAa的推导树。

S → aAS; S → a; A → SbA;A → SS; A → ba。

【软件设计师】程序设计语言与语言处理程序!(第八章)_中间代码_04

【备考点拨】

1、掌握文法相关的概念和分类、对应的自动机;

2、掌握语法推导树。

考点3、正规式(★★★★)

文章源于网络,如有侵权,请私信文章标题联系删除,谢谢。

为了能让更多人享受软考的政策福利和现实功利,51CTO旗下软考教研团队联合薛大龙老师,认真严肃向大家推出软考2日直播特训营


扫码入群0元领取6G的软考6资料包+2天软考特训营名额


软考资料包括:软考16本电子版教材 & 36本辅导教材 + 27套历年真题试卷 + 21套精编知识点6G资料包


【软件设计师】程序设计语言与语言处理程序!(第八章)_目标程序_05


软考训练营名额+资料领取方式>>>

扫下方码入群后按照老师的要求操作即可领取。

【软件设计师】程序设计语言与语言处理程序!(第八章)_中间代码_06


51CTO软考两天直播训练营


这门课恰好能够为你答疑解惑,助你快速入门并掌握软考知识要点,获得技能提升。为自己的职业发展规划制定一个更明确的规划,迈出升职加薪的第一步。

训练营周期为 两天直播课 晚8:00-9:00

心急的小伙伴可直接扫码解锁。

☟☟☟

2天软考直播特训营

3大必备技能

↓↓↓

限时 0 元 即可解锁

点击下方链接报名

仅限前100个名额

报名链接: ​ ​​https://edu.51cto.com/surl=oR9sp3​​​

课程涵盖:高分知识点梳理,案例分析解题方法、论文通用模板等。我们力争通过2天的直播课程,助力您快速入门并一次性通关软考!


如果你对这门课程还不太了解的话,就跟我一起往下看吧。


我们的主讲老师薛大龙老师,深耕软考教育培训20余年,主编出版软考辅导教材60余本,非常熟悉软考题目的要求、难度、以及判卷标准。


【软件设计师】程序设计语言与语言处理程序!(第八章)_源程序_07



完成本体验营2所有课程及作业考核,学员将掌握信息系统项目管理师、系统集成项目管理工程师的高频考点及答题技巧

①掌握信息系统项目管理师知识体系

②掌握考试高分占比知识领域;

③掌握考试考情前沿分析

④掌握论文与案例超干货答题方法

⑤掌握名师对真题的独到解析


【软件设计师】程序设计语言与语言处理程序!(第八章)_中间代码_08


报名前,你还需要知道的3件事


1)课程形式

直播课程+社群学习活动


2)课程时间

报名后老师安排上课 晚8:00-9:00


3)报名后要做什么?

付费后根据提示添加学姐为好友,开营前学姐会统一拉人入群。

2天软考考证特训营

0 元 解锁课程

还可 领取「6G课程资料」

点击下方链接报名 仅限前100个名额


报名链接: ​https://edu.51cto.com/surl=oR9sp3​​​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

enMQKPEQvVEU