当前位置: 首页 > article >正文

软件设计师——程序设计语言

目录

低级语言和高级语言

编译程序和解释程序

正规式,词法分析的一个工具

有限自动机

​编辑

上下文无关法 ​编辑

中后缀表示法

杂题

​编辑 


低级语言和高级语言

编译程序和解释程序


        计算机只能理解由0、1序列构成的机器语言,因此高级程序设计语言需要翻译,担负这一任务的程序称为“语言处理程序”。语言之间的翻译形式有多种,基本方式为汇编、解释和编译。

        用某种高级语言或汇编语言编写的程序称为源程序,源程序不能直接在计算机上执行。如果源程序是用汇编语言编写的,则需要一个汇编程序将其翻译成目标程序后才能执行。如果源程序是用某种高级语言编写的,则需要对应的解释程序或编译程序对其进行翻译,然后在机器上运行。

        解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行;而编译程序(编译器)则是将源程序翻译成目标语言程序,然后在计算机上运行目标程序。

        这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中运行程序的控制权在解释程序。

        简单来说,在解释方式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保存的目标程序。

解释器:翻译源程序时不生成独立的目标程序
解释程序和源程序要参与到程序的运行过程中
编译器:翻译时将源程序翻译成独立保存的目标程序
机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的运行过程

 

 

便于为数据合理分配存储单元

便于对参与表达式计算的数据对象进行检查

便于规定数据对象的取值范围及能够进行的运算 

 

 

词法分析

 词法分析的输出是记号流

语法分析

输入是记号流,输出是语法树,白话就是看你在编写代码的时候有没有编写错误,比如忘了分号,少了括号,没有给类型

语义分析

输入是语法树,检查源程序是否包含静态语义错误,白话就是看你逻辑上有没有错误

目标代码生成

这个工作与具体的机器相关

 常见动态语义错误:死循环、零除数、数字下标越界、堆栈溢出、指针异常等

后三三数 

 

正规式,词法分析的一个工具

有限自动机

确认转移状态确不确定,就看它是的每一状态的转移是不是唯一的,唯一的就是确定,不唯一就是不确定

上下文无关法 

 

 

 

 

中后缀表示法

 

 

 

 

 

 

杂题

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

python是解释型语言

 

 


http://www.kler.cn/news/306320.html

相关文章:

  • 【短距离通信】【WiFi】精讲Android WiFi P2P架构及代码示例
  • SpringBoot教程(安装篇) | RabbitMQ的安装
  • MySQl篇(数据类型)(持续更新迭代)
  • 面试常见题之Spring Cloud
  • Redis常见应用场景
  • fsck 命令:修复文件系统错误
  • 读构建可扩展分布式系统:方法与实践05分布式缓存
  • 2-3.Android 存储之存储空间(私有空间、公共空间)
  • 【Android】Room—数据库的基本操作
  • 第108集《大佛顶首楞严经》
  • CAD_Electrical 2022使用记录
  • [Python学习日记-23] Python v2 和 v3 中的字符编码
  • python定时任务,定时爬取水质和天气
  • Navicat On-Prem Server 2.0 | MySQL与MariaDB基础管理功能正式上云
  • Windows电脑A远程连接电脑B
  • Java面试篇基础部分-Java反射机制是什么
  • 镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态
  • Lua闭包
  • 基于yolov5的混凝土缺陷检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • 【Linux C | 终端设备】Linux下 tty、ttyS*、ttyAMA*、console 的区别,以及系统输出重定向(附带代码)
  • NPM私库搭建-verdaccio(Linux)
  • 【Kubernetes】常见面试题汇总(十七)
  • Django+Vue基于OpenCV的人脸识别系统的设计与实现
  • CleanMyMac X 4.15.6正式版 mac直装破解版
  • 小阿轩yx-案例:Zabbix监控kubernetes云原生环境
  • ios 用JXCategoryView 库实现tab滑动切换viewController
  • 破解AI生成检测:如何用ChatGPT降低论文的AIGC率
  • Redis Universe: 探索无边界的数据处理星系
  • 网络安全 day6 --- 抓包技术HTTPS协议小程序PC应用WEB转发联动
  • Spring Boot-分布式系统问题