软考备战(2)语言处理程序基础

在阅读和学习《软件设计师教程》的过程中,学习到了程序语言基础这块的内容.这一章总共就两节,一共40多页,其中语言处理程序基础这小节就占了30多页,可见本章的主要内容在第二节.但是在我学习的过程中,感到非常的吃力,虽然我在专业课上曾经接触过文法和形式语言的一些东西,但是并没有任何轻松的感觉,相反越看越觉得不对劲,我在想可能是跑偏了,想起师姐曾经特意强调一定要看考纲,于是乎就翻看考纲关于这块知识的考察内容,如下图所示

看了之后决定以考纲为纲领对这块的知识进行一下总结,一是加深自己的印象和理解,同时也为其他的同学提个醒,免得一头扎进去出不来,时间耗费了许多,也没有达到预期的效果.虽然这些东西十分晦涩难懂,但是也不能不看,但是看哪些,怎么看就是你要考虑的了.我个人的想法是根据考纲的提示去掌握相应的知识点.上图中的I代表理解,II代表一般应用.

首先我们来了解第一个概念:什么是语言翻译?

众所周知,计算机的硬件只能识别由0和1序列构成的机器语言,因此我们使用高级程序语言编写的程序需要翻译成机器语言,计算机才能识别并且执行,这就是所谓的"语言翻译".

那么这种翻译的工作由谁来承担呢?我们通常称它们为"语言处理程序".语言之间的翻译形式有多种,基本方式为汇编,解释和编译.

汇编的基本方法是什么?

汇编语言源程序主要由三类语句构成:分别是指令语句,伪指令语句和宏指令语句.

所谓汇编就是将使用汇编语言编写的程序翻译成为机器指令程序,以便于机器识别和执行.汇编程序的基本工作主要由两部分:一是将每一条可执行汇编语句转换为对应的机器指令;二是处理源程序中出现的伪指令.

其基本方式是对源程序进行两次扫描:

第一次的扫描主要工作是定义符号的值并创建一个符号表ST,ST记录了汇编时所遇到的符号的值.另外还需要对与定义符号值有关的伪指令进行处理.

第二次扫描的主要任务是产生目标程序.此过程涉及两个方面的工作:一是把机器指令助记符转换成二进制指令操作码;二是求出操作数区各操作数的值(用二进制表示).

再来看下一个知识点,编译的基本过程及各阶段的基本任务.我用一张表格为大家展示一下:


顺序号


阶段名称


基本任务


1


词法分析


对源程序从前到后逐个字符地扫描,从中识别出一个个"单词"符号


2


语法分析


在词法分析完成后,根据语法规则将单词符号序列分解成各类语法单位,如表达式,语句等


3


语义分析


分析语法结构,检查源程序是否包含静态语义错误,进行类型分析和检查


4


中间代码生成


根据语义分析的输出生成中间代码


5


代码优化


对生成的中间代码进行优化,减少时空上的浪费


6


目标代码生成


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

解释的基本过程

解释程序通常可以分成两部分:

1分析部分,包括通常的词法分析,语法分析和语义分析程序,经语义分析后把源程序翻译成中间代码,

2解释部分,用来对第一部分产生的中间代码进行解释执行.

鉴于篇幅不宜过长,对于考纲中剩余部分的知识点,主要是形式语言与自动机理论的内容,就不在这里一一列出了,大家可以像我一样去书中将这些考点整理出来,然后认真分析,尽量理解,力争能够应用.我在这里想说的是一种学习的方式或者说方法,当我们在遇到非常难懂的理论性较强的学习内容时,当你感到茫然无措不知如何下手的时候,一定要学会抓住主要矛盾,不能一头扎进去出不来,造成学习整体效率的下降,其成果和付出的努力不成正比,同样我们也要学会使用二八定律,以最为经济的代价换取较大的回报.就这块的学习,我们不做理论研究,只求应用.

时间: 2024-10-25 09:33:55

软考备战(2)语言处理程序基础的相关文章

软考备战中

轰轰烈烈的软考已经进行了一半多了,明天就开始到了最后一个阶段--做真题,在不禁感叹时间过得飞快时,我也想说,软考我们可以的. 时间回到40天前,那时我们马上要开始软考,我的心里挺矛盾,想去积极迎战,但是有那么一丝恐惧.首先,上一届软考考的很好,但是自己又不是他们,自己也没考,所以小小的恐惧产生.但是好的一方面,是因为跟着米老师学了这么长时间,我们的学习方法变了,我们的生活态度也改变了,在没有做之前,我们不会说做不到,更不会放弃,所以在小小恐惧前面是更强的自信. 之后过了软考动员会,当时杨琛说那些

软考笔记第七天之程序设计语言与语言处理程序基础

内容: 编译与解释 文法 正规式(几乎每次考到) 有限自动机(重点) 表达式(偶尔考到) 传值与传址(考到频率高) 多种程序语言特点 编译过程: 编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了. 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢. C/C++等都是编译型语言,而Java,C#等都是解释型语言. 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成

计算机软考笔记之《数据库基础》

1.引言 1.1数据库和平面文件 数据的存储传统上是使用单独没有关联的文件,有时称为平面文件. 数据库是一些平面文件被组合成一个实体. 1.2数据库是什么? 数据库是一个组织内被应用程序使用的逻辑相一致的相关数据的集合. 1.3数据库的优点 1冗余较少 2避免不一致性 3效率 4数据完整性 5机密性 2.数据库管理系统(DBMS) 2.1定义 DBMS是定义.创建.维护数据库的一种工具.DBMS也允许用户来控制数据库中的数据存储. 2.2构成部分 ①硬件 ②软件 ③数据 ④用户(最终用户和应用程

(8)程序设计语言与语言处理程序基础

重点 1编译过程 2文法定义 一颗语法树 有限自动机 正规式 7 数据类型与程序控制结构 8表达式 9传值与传址 传址调用 10各程序语言特点 原文地址:https://www.cnblogs.com/buchizaodian/p/9016799.html

【软考】【软件设计师】【知识模块】【第2章:程序设计语言基础知识】

程序设计语言基础知识 2.1 程序设计语言概述 2.1.1  程序设计语言基本概念 低级语言,面向机器的语言,如汇编语言.机器语言: 特性:进行程序设计效率低,程序的可读性差,难以修改.维护,优势是运行速度特别快: 高级语言,面向各类应用的程序设计语言.如C.C++ .Java.Python.Delphi .Pascal.Php 语言处理程序:负责将高级语言翻译成计算机能理解的0和1的程序: 语言之间的翻译基本方式: 汇编.解释.编译: 汇编:对使用汇编语言写成的源程序进行翻译成目标程序(机器可

【学院官方整理】2016年备战上半年软考通关秘籍(内含经典押题资料)

亲爱的学员们: 您好!51CTO学院为梦想增值,诚邀您的关注!51CTO学院致力于让专家分享技术并让技术变现,让广大技术爱好者便捷.实惠的获取优质学习资源. 为了方便大家的学习,我们特别整理了2016年备战上半年软考通关秘籍(内含经典押题资料),点击查看更多>> 2016年备战上半年软考通关秘籍(内含经典押题资料) 企业招聘要求 随着互联网发展和IT技术的普及,网络和IT已经日渐深入到日常生活和工作当中,许多企事业单位的业务依赖于信息系统安全运行,国家和社会对网络与信息安全工程师的需求越来越大

软考高项2016年4月11日作业

2016年4月11日作业 一.法律法规和标准规范1.中国标准划分为哪四个层次?要求最低的是哪个? 国家标准.行业标准.地方标准和企业标准,其中要求最低的是国家标准.2.国家标准的制订程序包括哪些? 前期准备.立项.起草.征求意见.审查.批准.出版.复审和废止3.ISO标准每几年复审一次?我国国家标准的有效期几年复审一次? ISO标准每五年复审一次,我国国家标准的有效期5年复审一次.4.请说明如下是什么标准?GB.GB/T.GB/Z.GJB? GB国家标准.GB/T推荐性国家标准.GB/Z国家标准

全国软考数据库系统工程师教程(第2版)目录

今年5月份要考数据库工程师了.主要为了拿职称,为了万能的北京工作居住证,为了给宝宝办医疗卡,真正的战斗打响了,加油! 不多说了,开始了,先报一下目录.纯手工!希望大家相互学习多提意见. 第一章.计算机系统知识 1.1 计算机系统基础知识 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理器 1.1.3 数据表示 1.1.4 校验码 1.2 计算机体系结构 1.2.1 计算机体系结构的发展 1.2.2 存储系统 1.2.3 输入输出技术 1.2.4 总线结构 1.3 安全性.可靠性与系统性能

2019年下半年软考各科真题及答案解析免费下载(网工、网规、信管、集成、软设、信安、信息系统等)

[徐朋出品,必属精品]作为51CTO学院的软考金牌讲师(最高级),本着对广大学员负责的态度,在每年同学们参加完软考考试,我都会尽早的给大家发布各科的真题详细解析资料.一方面是为了帮助参加软考考试的同学对自己考试情况做一个准确评估:另一方面是为未来参加软考考试的学员展现软考最新的考题形式,考察要点,助其有重点的复习软考考试.历时多载,是同学们的坚定支持,才使我更加坚定,勇往直前,做更好的课程回馈大家.现将最新的软考各科资料整理如下,同学们可以自行下载学习,学习过程中有疑问,也可给我留言. 徐朋老师