软考上午题笔记|第二章 程序设计语言基础

本文介绍了程序设计语言的基础,包括低级语言与高级语言的区别,编译与解释程序的作用,以及程序设计语言的关键组成部分(数据、运算、控制和传输)和编译过程的五个主要阶段:词法分析、语法分析、语义分析、中间代码生成和目标代码生成。同时提到了正规式在语言理论中的应用。
摘要由CSDN通过智能技术生成

第二章 程序设计语言基础

2.1 程序语言的基本概念

2.1.1 低级语言和高级语言

 低级语言:机器语言(计算机硬件只能识别o和1的指令序列),如汇编语言;

 高级语言:功能更强,抽象级别更高,与人们使用的自然语言比较接近,常见的有Java,C,C++,PHP, Python,Delphi等

2.1.2编译程序和解释程序

 用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。

 汇编语言需要将其翻译成目标程序之后才能执行;

 高级语言则需要对应的翻译程序和编译程序对其进行翻译,然后才能在机器上执行。

image-20230925133652258

image-20230925133847898

2.2 程序设计语言的基本成分

2.2.1 程序设计语言的数据成分

1)常量和变量
2)全局量和局部量
3)数据类型

程序设计语言规定其程序中的数据必须具有类型:

image-20230925153826920

2.2.2 程序设计语言的运算成分

image-20230925134600905

2.2.3 程序设计语言的控制成分

image-20230925134830046

2.24 程序设计语言的传输成分

​程序设计语言的传输成分指明语言允许的数据传输方式,如赋值处理数据的输入和输出等。

2.2.5 函数

image-20230925135201823

2.3编译程序基本原理

2.3.1 编译过程概述

 编译方式:词法分析、语法分许、语义分析、中间代码生成、代码优化、目标代码生成。

 解释方式:词法分析、语法分许、语义分析。

image-20230925160330363

image-20230925160403084

(1)词法分析

 ·输入:源程序
 ·输出:记号流
 ·词法分析阶段的主要作用是分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。

(2)语法分析

 ·输入:记号流
 ·输出:语法树(分析树)
 ·语法分析阶段的主要作用是对各条语句的结构进行合法性分析,分析程序中的句子结构是否正确
 ·语法分析阶段可以发现程序中所有的语法错误

(3)语义分析

 ·输入:语法树(分析树)
 ·语义分析阶段的主要作用是进行类型分析和检查
 ·语义分析阶段不能发现程序中所有的语义错误
 ·语义分析阶段可以发现静态语义错误,不能发现动态语义错误,动态语义错误运行时才能发现。

(4)中间代码生成

 ·常见的中间代码有:后缀式、三地址码、三元式、四元式和树(图)等形式。
 ·中间代码
与具体的机器无关
(不依赖具体的机器).
 ·可以将不同的高级程序语言翻译成同一种中间代码。
 ·中间代码可以跨平台
 ·使用中间代码有利于进行与机器无关的优化处理和提高编译程序的可移植性

(5)目标代码生成

 ·目标代码生成阶段的工作与具体的机器密切
 ·相关寄存器的分配处于目标代码生成阶段

2.4 正规式

image-20230925163157539

个人博客原文:http://www.frblogger.cn/2024/01/30/programming/

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值