程序语言与语言处理程序
软考-软件设计师
程序语言与语言处理程序
1.高级语言
解释型 | 编译型 |
---|---|
解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢 | 编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了 |
C/C++ 等都是编译型语言,而Java,C#等都是解释型语言
虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。
在运行的时候,由JVM将字节码再翻译成机器语言。
脚本语言是一种解释性的语言。
编译程序生成源代码的目标代码,而解释程序则不参生源代码的目标代码
2.程序语言分类
命令式程序设计语言 | 函数式程序设计语言 |
---|---|
基于动作的预言。代表有:c语言,Fortran,Pascal | 一种对应规则,主要应用于人工智能,是一种非冯·诺伊曼式的程序设计语言。代表:Lisp,ML |
面向对象式程序设计语言 | 逻辑程序设计语言 |
面向对象和类的概念。面向对象的核心:封装,继承,多态,抽象。代表:Java,C++ | 以形式逻辑为基础的语言。适用于书写自动定理证明、专家系统、和自然语言理解等问题的程序。关键词:Prolog |
3.注释的分类
序言性注释 | 功能性注释 |
---|---|
通常位于程序的开头,给出程序的整体说明,可以包括程序对硬件、软件资源的要求,重要变量和参数的说明,程序的作者、审查者、变成日期、修改日期等,程序实现的功能描述 | 一般嵌于程序体之中,描述程序中相关语句的作用或注释后程序段的要实现什么功能 |
4.编译型语言,编译过程
源程序–>词法分析–>语法分析–>语义分析–>中间代码生成–>代码优化–>目标代码生成
词法分析:非法字符,关键字,标识符拼写错误。
语法分析:语法结构出错,缺分号,判断语句不匹配
语义分析:死循环,除数为0,其他逻辑错误
注:中间代码生成,代码优化并不是每种编译器都必须有。
5.有限自动机
确定的有限自动机A和不确定的有限自动机B等价,则:
A和B可是别的记号完全相同。
例题:
解析
技巧:代入数据挨个走,最后到终点则对
5.正则式
例题:
解析:
注:初入软考,写着自我方便复习,自己觉得容易考的就写上面了,后面补充