编译原理第7章:语法制导翻译
第7章 语法制导翻译1 语法制导翻译概述
如何表示语义信息:为CFG中的文法符号设置语义属性,用来表示语法成分对应的语义信息。
如何计算语义属性:
文法符号的语义属性值是用与文法符号所在产生式(语法规则)相关联的语义规则来计算的
对于给定的输入串$x$ ,构建$x$的语法分析树,并利用与产生式(语法规则)相关联的语义规则来计算分析树中各结点对应的语义属性值
1.1 语法制导定义(SDD)SDD是对CFG的推广,将每个文法符号和一个语义属性集合相关联,将每个产生式和一组语义规则相关联,这些规则用于计算该产生式中各文法符号的属性值。
如果$X$是一个文法符号,$a$是$X$的一个属性,则用$X.a$表示属性$a$在某个标号为$X$的分析树结点上的值。
1.2 语法制导翻译方案(SDT)SDT是在产生式右部嵌入了程序片段的CFG,这些程序片段称为语义动作。按照惯例,语义动作放在花括号内。
一个语义动作在产生式中的位置决定了这个动作的执行时间。
1.3 SDD与SDTSDD是关于语言翻译的高层次规格说明,隐蔽了许多具体实现细节,使用户不必显式地说明翻译发生的顺序。
SDT可以看作是对S ...
论文精读3:GNN技术博客
论文题目:A Gentle Introduction to Graph Neural Networks作者:Google发表时间:2021年
1 引言神经网络已适应利用图的结构和属性。我们探索构建图神经网络所需的组件——并激发它们背后的设计选择。
图就在我们身边;现实世界的对象通常是根据它们与其他事物的联系来定义的。一组对象以及它们之间的联系自然地表达为图形。十多年来,研究人员开发了对图数据进行操作的神经网络(称为图神经网络,或 GNN)。最近的发展提高了他们的能力和表达能力。我们开始看到抗菌药物发现等领域的实际应用,例如physics simulations(物理模拟)、fake news detection(假新闻检测)、traffic prediction(交通预测)和recommendation systems(推荐系统)。
本文探讨并解释了现代图神经网络。我们将这项工作分为四个部分。首先,我们看看哪种数据最自然地表达为图,以及一些常见的示例。其次,我们探讨图与其他类型数据的不同之处,以及使用图时必须做出的一些专门选择。第三,我们构建了一个现代 GNN,从该领域历史性的建 ...
计算机组成原理第4章:存储器
1 存储器概述存储器是计算机系统中的记忆设备,用来存放程序和数据,计算机系统的运行速度在很大程度上受存储器制约。I/O与存储器直接数据交换大大提高系统性能。
1.1 存储器的分类1.1.1 按存储介质分类
1.1.2 按存取方式分类分为随机存储器、只读存储器、顺序存取存储器和直接存取存储器。
1.1.3 按在计算机中的作用分类
1.2 存储器的层次结构存储器有3个主要性能指标:速度、容量和位价。
存储器三个主要特性的关系:
存储系统层次结构主要体现在缓存—主存和主存—辅存2个存储层次上。
缓存—主存层次主要解决CPU与主存速度不匹配的问题,主存—辅存层次主要解决存储系统的容量问题。辅存的速度比主存的速度低,而且不能和CPU直接交换信息,但是容量比主存大得多,可以存放大量暂时未用到的信息,当CPU需要用到这些信息时,再将辅存的内容调入主存,供CPU直接访问。
在主存—辅存这一层次的不断发展中,逐渐形成了虚拟存储系统。
2 主存储器2.1 概述主存储器的基本组成如下:
主存和CPU之间的联系:
2.1.1 主存的技术指标2.1.1.1 存储容量存储容量:主存存放二进制 ...
2024年西交多媒体小组考核任务2
1 任务要求在Diffusers版本的StableDiffusionXL中复现Training-Free Layout Control with Cross-Attention Guidance论文(无代码)。
2 实现过程大体意思就是把两部分代码给整合在一起,主要是把一篇论文的思想复现到StableDiffusionXL中,首先得找一下StableDiffusionXL的代码在哪吧。
这里论文的主要思想是在一个文生图的基础上,不用做任何的微调和训练就能生成对应布局控制的图像,所以StableDiffusionXL的代码不用实现,直接调用一个API即可。
3 U-Net网络U-Net算法是一种用于图像分割的卷积神经网络(Convolutional Neural Network,简称CNN)架构。它由Olaf Ronneberger等人在2015年提出,主要用于解决医学图像分割的问题。
U-Net算法的特点是采用了U型的网络结构,因此得名U-Net,该网络结构具有编码器(Encoder)和解码器(Decoder)两个部分。
编码器负责逐步提取输入图像的特征并降低空间分辨率。解码器则 ...
2024年西交多媒体小组考核任务1
1 任务要求 https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0
学会使用Diffusers包调用StableDiffusionXL生成图片
2 模型结构
SDXL 由一组用于潜在扩散的专家管道组成:在第一步中,基本模型用于生成(嘈杂的)潜伏物,然后使用专门用于最终去噪步骤的细化模型(可在此处获得:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/)对其进行进一步处理。请注意,基本模型可以用作独立模块。
或者,我们可以使用两阶段流水线,如下所示:首先,使用基本模型生成所需输出大小的潜伏。在第二步中,我们使用专门的高分辨率模型,并使用相同的提示将一种称为 SDEdit (https://arxiv.org/abs/2108.01073,也称为“img2img”)的技术应用于第一步中生成的潜伏物。这种技术比第一种技术稍慢,因为它需要更多的功能评估。
源代码可在 https:/ ...
论文精读2:Training-Free Layout Control with Cross-Attention Guidance
1 Abstract最近基于扩散的生成器可以从文本提示生成高质量的图像。然而,他们经常忽略指定组合空间布局的文本指令。我们提出了一种实现鲁棒布局控制的简单方法,而不需要对图像生成器进行训练或微调。我们的技术操纵模型使用的交叉注意力层来连接文本和视觉信息,并在给定的期望方向上引导生成,例如用户指定的布局。
为了确定如何最好地指导注意力,我们研究了注意力图的作用,并探索两种替代策略:前向和后向指导。我们在三个基准上彻底评估了我们的方法,并对两种策略进行了比较分析,证明了后向引导与前向引导以及先前的工作相比的优越性。我们通过将布局引导扩展到编辑真实图像布局和上下文等应用程序来进一步演示布局引导的通用性。
2 Introduction生成 AI 是过去几年出现的最具创新性的技术之一。在计算机视觉中,新的文本到图像生成方法,如DALL-E[37]、Imagen[43]和Stable Diffusion[39],已经证明机器能够生成足够高质量的图像,用于许多应用,提高专业艺术家和非专业人士的生产力。
然而,尽管取得了这一成功,但图像生成的许多实际应用,特别是在专业环境中,都需要这种方法所缺乏的高 ...
计组面经3:指令系统和CPU
1 指令流水线的基本概念1.1 流水线基本原理流水线技术是一种显著提高指令执行速度与效率的技术。方法是:指令取指完成后,不等该指令执行完毕即可取下一条指令。如果把一条指令的解释过程进一步细分,例如分成取指、译码、访存、执行和写回五个子过程,并用五个子部件分别处理这五个子过程。
这样只需在上一指令的第一子过程处理完毕进入第二子过程处理时,在第一子部件中就开始对第二条指令的第一子过程进行处理。随着时间推移,这种重叠操作最后可达到五个子部件同时对五条指令的子过程进行操作。
1.2 典型的五级流水线的数据通路
1.3 流水线方式的特点与传统的串行执行方式相比,采用流水线方式具有如下特点:
把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来执行,并依靠多个功能部件并行工作来缩短程序的执行时间。
流水线每个功能段部件后面都要有一个缓冲寄存器,或称锁存器,其作用是保存本流水段的执行结果,供给下一流水段使用。
流水线中各功能段的时间应尽量相等,否则将引起堵塞、断流。
只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。在 ...
计组面经2:存储系统
1 多级存储系统?为了解决存储系统大容量、高速度和低成本 3 个相互制约的矛盾,在计算机系统中,通常采用多级存储器结构,在图中由上至下,位价越来越低,速度越来越慢,容量越来越大, CPU 访问的频度也越来越低。
实际上,存储系统层次结构主要体现在“Cache-主存”层次和“主存-辅存”层次。前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储系统的容量问题。在存储体系中, Cache 、主存能与 CPU 直接交换信息,辅存则要通过主存与CPU 交换信息;主存与CPU 、Cache 、辅存都能交换信息。
存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。从 CPU 的角度看,”Cache—主存”层次速度接近于Cache,容量和位价却接近千主存。从“主存—辅存”层次分析,其速度按近于主存,容址和位价动接近于辅存。这就解决了速度、容量、成本这三者之间的矛盾。
在“主存—辅存”这一层次的不断发展中,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。对具有虚拟存储器的计算机系统而言,编程时可用的地址空间远大于主存间。
2 半导体随 ...
信息安全实验8:漏洞利用
1 实验环境
操作系统版本:Windows 11 家庭中文版23H2
VMware® Workstation 16 Pro:16.2.3 build-19376536
Metasploitable2虚拟机版本:2.6.24-16-server
Kali虚拟机版本:6.6.9-amd64
2 实验内容2.1 系统信息收集使用命令nmap -sV -P 192.168.160.136是使用Nmap工具进行的一次服务版本探测扫描,扫描结果如图2.1所示。
图2.1 服务及版本侦测
2.2 笑脸漏洞后门利用笑脸漏洞(Smiling Face vulnerability)是一个网络安全术语,用来描述一种特定类型的安全漏洞,通常发生在软件或系统的用户界面(UI)设计中。这种漏洞的本质是,用户界面或提示信息通过图标、符号或文字表达了一种错误的信息或安全状态,导致用户错误地认为系统或应用程序处于安全状态,而实际上存在安全风险。
2.2.1 手动漏洞利用(1)连接目标主机
如图2.2所示,在Kali终端使用ftp协议连接目标主机,输入任意用户名并添加笑脸符号“:)并输入任意密码。
图2.2 ...
计组面经1:计算机系统概述和数据的表示
1 冯诺依曼机和存储程序的概念?冯·诺依曼在研究EDVAC机时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机,其特点如下:
计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5 大部件组成。
指令和数据以同等地位存储在存储器中,并可按地址寻访。
指令和数据均用二进制代码表示。
指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。现代计算机以存储器为中心。
“存储程序”的概念是指将指令以代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
冯诺依曼结构的模型机:
2 计算机的工作过程?计算机的工作过程分为以下三个步骤:
把程序和数据装入主存储器
将源程序转换成可执行文件
从可执行文件的首地址开 ...