《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天,p19-p24总结,总计 5 页。

一、技术总结

1.grouping of phases

这里谈到分组(group),那么就会有一个疑问,分组的依据是什么?即根据什么来分组。

(1) front end & back end

编译器包含很多阶段(phase)——lexical analyzer, syntax analyzer, semantic analyzer, intermediate code generator, code optimizer, code generator, 这些阶段可以分为front end和back end两组。这里是根据phase的作用进行分组——“The front end consists of those phases, or parts of phases, that depend primarily on the source language and are largely independent of the target machine”。

(2)pass

可以将多个phase分成一个pass。分组的依据是什么?暂时没有理解,先继续往下读。

2.compiler-construction tools

有哪些tool,这些tool的作用是什么。这里只需要大概了解即可,用到的时候自然会知道。

3.参考文献

本书会在最后Bibliography章节列出所有的参考文献,翻了一下Wexelblat在1981年写的《history if programming languages》,介绍了FORTRAN,LISP,COBOL等编程语言,果然历史久远。

二、其它

p24, Ascribing credit for techniques remains a perilous task。这句话初看不好理解,ascribe: xxx的原因,credit: 赞誉,perilous: 危险的。中译版将“ascribing credit”翻译成“论功”,甚是准确,但是翻译成“为编译技术论功是一项艰难的任务”,却有点生硬,我个人觉得应该将其翻译成“这些编译技术归功于谁?这真不好下结论,因为同一个技术,有时候确实是不同的人都发现了。”

四、参考资料

1. 编程

(1)Alfred V. Aho,Monica S. Lam,Ravi Sethi,Jeffrey D. Ullman,《编译原理(英文版·第1版)》:https://book.douban.com/subject/5416783/

2. 英语

(1)Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org
在这里插入图片描述

欢迎搜索及关注:编程人(a_codists)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

找不到d3dcompiler_47.dll如何修复,这几种修复方法可搞定

最近,我在尝试运行一款游戏时遇到了一个问题,系统提示我丢失了d3dcompiler_47.dll文件。这让我感到非常困扰,因为这个问题导致我无法正常运行游戏。经过一番搜索和尝试,我找到了几种修复这个问题的方法,并成功解决了这…

【内网穿透】FRP 跨平台内网穿透 支持windows linux x86_64 arm64 端口范围映射

AI提供的资料: FRP(Fast Reverse Proxy)是一个专为内网穿透设计的高性能反向代理程序。以下是一些关于FRP的详细资料,帮助您更好地理解和使用这一工具: 核心特点: 内网穿透:能够将位于内网的…

都2024年了,现在互联网行情怎样?

都2024年了,互联网行情是怎样的? 很直白的说,依旧是差得很,怎么说? 我刚在掘金上看到一个掘友写的文章,他是四月领了大礼包,据他的描述如下: 互联网行情依旧是差得很,很…

搜维尔科技:「研讨会」惯性动捕技术在工效学领域应用研讨会

Movella将于7月2日(周二)下午2点举行主题为惯性动捕技术在工效学领域应用的研讨会。来自Movella的伙伴赋能经理Jeffrey Muller作为嘉宾出席,届时主讲人将为大家带来Xsens惯性动捕技术在工效学领域的应用分享。同时,研讨会还邀请多…

监控https证书的到期时间

实现该功能,不用借助第三方库,用go的标准库就足够了… 以下程序可以获取这些域名的SSL证书的到期时间,并在证书距离现在不足7天过期时打印提示: package mainimport ("crypto/tls""fmt""net""…

运维.云技术学习.基于应用服务网格的灰度发布(上:理论基础篇)

运维专题 基于应用服务网格的灰度发布(上:理论基础篇) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAdd…

Opencv学习项目6——pyzbar

在之前我们学习了解码图片中的二维码,这次我们开启摄像头来解码视频中二维码 开启摄像头 # 打开摄像头 cap cv2.VideoCapture(0) cap.set(3, 640) # 设置摄像头画面宽度 cap.set(4, 480) # 设置摄像头画面高度 我使用的是笔记本上的摄像头来进行的,…

通过systemctl启停tomcat

目录 目的.service配置文件的结构介绍实验步骤1. 安装java2. 二进制安装tomcat3. 编写/usr/systemd/system/tomcat.service文件4. 测试启动关闭 目的 通过二进制安装的tomcat,只能通过tomcat文件目录下的.sh脚本进行启停。 而我们一般使用的服务,是通过…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波,并观察其不同;paddedsize,fft2(x,m,n) 由 sobel 空间滤波算子生成相应的频率…

多链代币开发:打造跨链互操作性的新纪元

随着区块链技术的迅猛发展,数字资产和加密货币市场也在不断扩大。各大区块链平台如以太坊、币安智能链、波卡、Solana等,均展现出其独特的优势和广泛的应用场景。然而,这些链之间的孤立性和互操作性问题,限制了数字资产的流动性和…

突破架构瓶颈:克服软件系统中的漂移和侵蚀

一种常见但不完美的比喻是将软件系统中的架构漂移和侵蚀与物理建筑的架构相比。虽然这个比喻很直观,但它存在一个根本性的误解,这也常常引发软件开发中的架构问题。 试想一下,一个设计良好的摩天大楼或房屋建成后,我们期望它基本保…

docker 容器设置中文环境

1.容器中安装和设置 1.1.进入容器查看已有语言包 locale -a 默认情况下: 1.2 安装中文语言环境 如果没有zh_CN.utf8就安装。 方式1: #直接安装中文语言包 apt-get install -y language-pack-zh-hans 方式2: #安装中文语言环境 apt-g…

线性和二次判别分析

线性判别分析 线性判别分析(Linear Discriminant Analysis,LDA)亦称 Fisher 判别分析。其基本思想是:将训练样本投影到低维超平面上,使得同类的样例尽可能近,不同类的样例尽可能远。在对新样本进行分类时&…

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter 今年5月份GreenPlum官方将GitHub仓库代码全部删除,各个分支的issues和bugs讨论等信息全部清除,仅将master分支代码进行归档。对于国内应用GPDB的用户来说,这是一个挑战性事件&#x…

Zookeeper 三、Zookeeper基本使用

1.Zookeeper系统模型 1)Zookeeper数据模型之ZNode 在Zookeeper中,数据信息被保存在一个个数据节点上,这些节点被称为ZNode。ZNode是Zookeeper中最小数据单位,在ZNode下面又可以再挂ZNode,这样一层层下去就形成了一个…

Reactor模型:网络线程模型演进

一,阻塞IO线程池模型(BIO) 这是传统的网络编程方案所采用的线程模型。 即有一个主循环,socket.accept阻塞等待,当建立连接后,创建新的线程/从线程池中取一个,把该socket连接交由新线程全权处理。…

【机器参数】安装适合的nvidia驱动

背景:我现在nvidia-smi没有显示,我的目标是让nvidia-smi正常显示 参考: nchttps://www.cnblogs.com/carle-09/p/11504544.html 可能是驱动版本不对,所以我重新去nvidia官网下载了驱动。 Official Drivers | NVIDIA 得到了NVID…

discuz迪恩cul!教育课程培训网站模板

Discuz x3.2模板 迪恩cul!教育课程培训 GBK,程序包中内附详细的安装教程,下载后按照教程安装即可 discuz迪恩cul!教育课程培训网站模板

如何将本地的Django项目部署到阿里云服务器上?

场景:在本地的pycharm上已经写好了一个Django架构的网站,现在要把它放到公网上 一、阿里云服务器 选择云服务器ECS,新用户可以免费使用三个月 购买时选择预装宝塔面板 买好后,进入云服务器控制台 重置实例密码 远程连接至服务…

python-17-零基础自学python-

学习内容:《python编程:从入门到实践》第二版 知识点: 类、子类、继承、调用函数 练习内容: 练习9-6:冰激凌小店 冰激凌小店是一种特殊的餐馆。编写一个名为IceCreamStand的类,让它继承为完成练习9-1或…