文章 0 浏览 6
假设我的 CFG(以及其他)中有两个基本块 A 和 B,其边缘从 A 到 B。我需要执行以下操作: 获取实时值的集合 S 该边缘(它可以是 过度近似,即可能 包…
它们是由编译过程的不同阶段生成的吗?或者它们只是同一事物的不同名称?…
我目前正在寻找各种方法来实现动态调度。 据我所知,有两种“简单”的方法来实现这一点: 虚拟函数表,就像在 C++ 消息调度程序中一样,就像在 SmallT…
我编写了一个变体类,它将用作动态语言中的主要类型,最终将允许 256 种不同类型的值(标头是无符号字节,实际只使用 20 个)。我现在想实现类型之间…
通常如何添加错误产生式?我遇到的问题是我的错误产生式太浅:当解析器开始弹出语句中错误的状态时,它会弹出,直到它遇到它所在部分的错误产生式,并…
我一直在学习编译器和工具课程(这学期)。我已经阅读了中间代码生成,并且还看到了 DAG 表示的最优性。编译器清楚的一件事是,无论生成什么中间代码…
定义达成问题是数据流分析中最基本的问题之一。给定一个包含变量定义和用途的控制流图,问题会导致计算哪些变量定义可以达到特定用途。 例如,考虑流…
我现在正在学习编译器课程,我们必须构建 CFG 才能实现优化。我不明白的一件事是一个程序有多少个 CFG?我见过的每个例子似乎都是一个简单代码段的 CG…
我正在考虑创建一种基于 C 的自定义(小型)编程语言(语法)。 我不明白苹果是如何使用 [testClass runThis:true]; 等运算符实现 Objective-C 的用那…
作为我硕士论文的一部分,我正在为我所在大学开发的面向对象语言编写一个编译器。目前编译器输出在虚拟机上运行的汇编程序。虚拟机处理堆栈操作、对象…
这些主要是编译器设计问题。当你的编译器编译它时,例如: int * pData = new int[256]; 内存是如何动态分配的?编译器是否调用为您分配内存的操作系…
我想到了一个我看不出有什么重大缺陷的 GC,我想知道为什么它没有被更广泛地使用,或者为什么我没有听说过它的使用。 该系统是: 所有对象都附有一个 …
编译器在什么时候构建语法树?在构建可执行文件时,它如何形成树并翻译树?…
(以下问题涉及 OCaml 语言,并在 OCaml 中有示例,但问题非常笼统,可能任何其他计算机语言的正确答案也能解决我的问题。因此,只需用您最喜欢的语言…
我在某处看到一个问题询问 LL(0) 和 LR(0) 解析器之间的区别。是否有 LL(0) 解析器之类的东西?如果是这样,他们如何在不查看任何标记的情况下进行解…
文章 0 评论 0
接受