ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

软考-第2章 程序设计语言基础-慧考版

软考-第2章 程序设计语言基础-慧考版 编译程序基本原理对象A可以给对象B发送消息那么表明对象A可以调用对象B的方法那么对象A可以看见对象B。高级语言源程序中的错误分为两类语法错误和语义错误其中语义错误又可分为静态语义错误和动态语义错误。语法错误是指语言结构上的错误静态语义错误是指编译时就能发现的程序含义上的错误动态语义错误只有在程序运行时才能表现出来。编译程序中语法分析器接受以单词为单位的输入并产生有关信息供以后各阶段使用。算符优先法、LR分析法和递归下降法是几种常见的语法分析技术。LR分析法主要有SLR(1)、LR(0)、LR(1)和LALR(1)等4种其中LR(1)的分析能力最强LR(0)的分析能力最弱。静态检查的阐述“编译器必须检查源程序是否符合源语言规定的语法和语义要求。”由此看来静态检查其实就是语义分析了。各阶段处理错误总结(1) 词法分析阶段处理的错误非法字符、单词拼写错误等(2) 语法分析阶段处理的错误标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误(3)静态语义分析阶段处理的错误运算符与运算对象类型不合法等错误(4)目标代码生成阶段(执行阶段)处理的错误动态语义错误包括陷入死循环、变量取零时做除数、引用数组元素下标越界等错误。所谓静态绑定是指在程序编译过程中把函数方法或者过程调用与响应调用所需的代码结合的过程。动态绑定是指在执行期间判断所引用对象的实际类型根据其实际的类型调用相应的方法。解释程序也称为解释器它或者直接解释执行源程序或者将源程序翻译成某种中间代码后再加以执行而编译程序编译器则是将源程序翻译成目标语言程序然后在计算机上运行目标程序。这两种语言处理程序的根本区别是在编译方式下机器上运行的是与源程序等价的目标程序源程序和编译程序都不再参与目标程序的执行过程而在解释方式下解释程序和源程序或其某种等价表示要参与到程序的运行过程中运行程序的控制权在解释程序。简单来说在解释方式下翻译源程序时不生成独立的目标程序而编译器则将源程序翻译成独立保存的目标程序。在对源程序进行编译的过程中常生成与源程序等价的中间代码以利于进行优化常见的中间代码有后缀式、三地址码和树等。常用的中间代码的表达形式有语法树、后缀式、三地址码等。符号表的作用是记录源程序中各个符号的必要信息以辅助语义的正确性的检查和代码生成在编译过程中需要对符号表进行快速有效的查找、插入、修改和删除等操作。符号表的建立可以始于词法分析阶段也可以放到语法分析和语义分析阶段但符号表的使用有时会延续到目标代码的运行阶段。编译过程中在确认源程序的语法和语义之后就可对其进行翻译同时改变源程序的内部表示。对于声明语句需要记录所遇到的符号的信息因此应进行符号表的填查工作。对于可执行语句需要翻译成中间代码或目标代码。程序设计语言基本成分词法分析遵循的是构词规则语法分析遵循的是语法规则中间代码生成遵循的是语义规则并且语义规则可以定义一个程序的意义。编译器的工作方式及特点是先翻译后执行用户程序运行效率高但可移植性差。解释器的工作方式及特点是边翻译边执行用户程序运行效率低但可移植性好。程序设计语言基本概念C/C编译程序读取源程序字符流对之进行词法和语法的分析将高级语言指令转换为功能等效的汇编代码再由汇编程序转换为机器语言并且按照操作系统对可执行 文件格式的要求链接生成可执行程序。源代码.c/.c预处理.i编译汇编.s / .o链接--可执行 文件JavaJava 关键字 this 只能用于方法方法体内。当一个对象创建后Java 虚拟机JVM就会给这个对象分配一个引用自身的指针这个指针的名字就是 this。 因此this 只能在类中的非静态方法中使用静态方法和静态的代码块中绝对不能 出现 this这在“Java 关键字 static、final 使用总结”一文中给出了明确解释。 并且 this 只和特定的对象关联而不和类关联同一个类的不同对象有不同的 this。 主要用于以下方面1.this 表示调用者对象在方法内使用成员变量时候。2.调用用类中的其他方法编译器自动添加。3.用构造器调用其他构造器。PythonPython属于解释型而非编译型程序设计语言。列表是个有序的数据集合可以随时添加或者删除元素。元组与列表类似但元组里面的元素不可变。集合里面的元素是无序的。字符串是由独立的字符组成字符类型不可变。Matplotlib是Python的绘图库可以绘制直方图、条形图、散点图等图形。TensorFlow Matplotlib PyTorch Keras脚本语言是为了缩短传统的编写—编译—链接—运行过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批处理语言或工作控制语言一个脚本通常是解释运行而非编译。脚本语言也能实现函数定义和调用例如早期的BASIC。在Python3中对结构化异常的处理语法为try可能发生异常的程序块raise Exception1(主动抛出的异常)except Exception1:指定一个异常的处理except (Exception2,Exception3,...,Exceptionn):指定多个异常的处理except:所有其他异常的处理else:没有出现异常时的处理finally:无论是否出现异常都要进行的处理但是没有try catch的语法结构。Python不支持char类型、byte类型使用 pip install 要安装的模块名称是安装模块的语法x.append 是在x元素后面追加括号的内容。yx[4,5,6]表示两个数组的合并结果为[1,2,3,4,5,6]。
返回列表