热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

******七******、软设笔记【程序语言设计】基本概念、编译程序

一、程序设计语言基本概念1.低级语言和高级语言(1)低级语言机器语言和汇编语言称为低级语言。*机器语言指0、1组成的机器指令序列*汇编语言指用符号表示指
一、程序设计语言基本概念


1.低级语言和高级语言


(1)低级语言


机器语言和汇编语言称为低级语言。


*机器语言指0、1组成的机器指令序列


*汇编语言指用符号表示指令的语言


MOV AX,2


MOV BX,3


ADD AX,BX






(2)高级语言


高级语言是从人类的逻辑思维角度出发、面向各类应用的程序语言,抽象程度大大提高,需要编译成特定机器上的目标代码才能执行。这类语言与人们使用的自然语言比较接近,大大提高了程序设计的效率。






2.编译程序和解释程序


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


*如果源程序是汇编语言编写的,则需要一个称为汇编程序的翻译程序将其翻译成目标程序,然后才能执行,


*如果源程序是为高级语言时,这个翻译程序称为编译程序


*按源程序中语句的执行顺序,逐条翻译并立即执行相关功能的处理程序,称为解释程序。






程序的执行方式:


1.编写执行:按编译方式在计算机上执行用高级语言编写的程序,需要经过两个阶段:


编译阶段,把源程序翻译成目标程序;


运行阶段,真正执行此目标程序。


*优点:执行效率高、占用资源小、


缺点:兼容性差。






2.解析执行:源程序的每个语句一经解释就立即执行。


*优点:可移植性较好,开发速度较快、与用户通信方便。


*缺点:效率低。









二、编译程序:


编译程序的工作过程可以分成6个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。






(1)词法分析阶段:


输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删掉无用信息,报告分析时的错误。


一个程序语言的基本语法符号分为五类:关键字、标识符、常量、运算符、界符等


词法分析器所输出单词符号常常表示成如下的二元式:


(单词种别,单词符号的属性值)


描述词法规则通常用;正规式和有限自动机






1.状态转换图


状态转换图是状态有限的有向图,用圆圈表示结点状态,结点之间有向边代表状态转换,有向边上可标记字符,表示前一状态接受某一个字符之后的状态转移。






状态转换图的功能


*用于识别一定字符串






状态转化图的要求


*状态(即结点)个数有限


*至少一个初始状态,若干终止状态


*每条边上标有字符(也可以是控字符)






3.正规表达式与正规集(定义和运算)


状态转换图可以构造词法分析程序,但属于非形式化描述


正规表达式(简称正规式)是词法分析的形式化表示方法。所谓形式化的方法,是指用一整套带有严格规定的符号体系来描述问题的方法。


优点:更加清晰和准确























推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 距离11月的软考还有不到五个月的时间,考试将于11月5日至6日举行。许多朋友对软考的具体情况还不太了解:它是什么?有何用途?本文将为你详细解答。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
author-avatar
somnus
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有