compiler-theory

compiler-theory

文章 0 浏览 4

如何删除 FOLLOW 集中的循环依赖

考虑一个简短的语法, S -> Bc | DB B -> ab | cS D -> d | epsilon 第一组就 FIRST(S) ={a,c,d} FIRST(B) = { a,c } FIRST(D)= { d, epsilon } 在其…

自演自醉 2024-12-06 10:31:01 1 0

将不应该存在的节点放入解析树中

我正在为一种语言编写一个解析器,并且扫描器被设计为 要么返回不需要的终端(例如空格),要么 不这样做 根据布尔标志 。现在,在解析器中,我不想用…

天气好吗我好吗 2024-11-28 13:53:49 2 0

帮助编译器设计

可能的重复: 学习编写编译器 我需要想出一种类似于 SQL 的虚拟语言,它具有功能非常有限。我以前从未做过任何编译器或解析工作。任何人都可以让我知…

孤君无依 2024-11-27 00:17:14 2 0

在 Linux 中生成可执行文件(与实现编译器有关)

对于我的大学最后一年的论文,我将为 C 编程语言的骨架形式实现一个编译器,然后对其进行扩展,直到它类似于带有数组边界检查、类型检查等功能的 Java…

醉态萌生 2024-11-18 14:06:30 2 0

识别后缀公式的语法

我正在尝试创建一个后缀到中缀转换器,但无法创建后缀公式的语法。我也一直在寻找它一段时间但没有成功。 我可以使用什么语法来识别有效的后缀表达式…

葬シ愛 2024-11-17 22:25:27 3 0

构建 IDE 时该从什么开始?

我彻底阅读了这个问题,然后想到了构建IDE的想法令我震惊。 我是一名应届毕业生,想了解构建 IDE 时要采取的概念和实际步骤。 在发布这个问题之前我没…

悲凉≈ 2024-11-15 11:28:02 3 0

LLVM 中的实时值

假设我的 CFG(以及其他)中有两个基本块 A 和 B,其边缘从 A 到 B。我需要执行以下操作: 获取实时值的集合 S 该边缘(它可以是 过度近似,即可能 包…

别把无礼当个性 2024-11-15 04:39:37 3 0

解析树和抽象语法树(AST)有什么区别?

它们是由编译过程的不同阶段生成的吗?或者它们只是同一事物的不同名称?…

愁杀 2024-11-06 08:17:21 7 0

动态调度实现

我目前正在寻找各种方法来实现动态调度。 据我所知,有两种“简单”的方法来实现这一点: 虚拟函数表,就像在 C++ 消息调度程序中一样,就像在 SmallT…

池木 2024-11-05 23:24:55 7 0

变体转换系统

我编写了一个变体类,它将用作动态语言中的主要类型,最终将允许 256 种不同类型的值(标头是无符号字节,实际只使用 20 个)。我现在想实现类型之间…

尐籹人 2024-11-05 04:21:12 6 0

将错误产生式添加到语法中的策略是什么?

通常如何添加错误产生式?我遇到的问题是我的错误产生式太浅:当解析器开始弹出语句中错误的状态时,它会弹出,直到它遇到它所在部分的错误产生式,并…

夜巴黎 2024-11-05 02:39:01 2 0

如何用编译器优化这个函数?

我一直在学习编译器和工具课程(这学期)。我已经阅读了中间代码生成,并且还看到了 DAG 表示的最优性。编译器清楚的一件事是,无论生成什么中间代码…

宁愿没拥抱 2024-11-01 16:54:06 6 0

到达定义数据流问题的特例

定义达成问题是数据流分析中最基本的问题之一。给定一个包含变量定义和用途的控制流图,问题会导致计算哪些变量定义可以达到特定用途。 例如,考虑流…

悸初 2024-11-01 00:27:50 5 0

程序的控制流程图

我现在正在学习编译器课程,我们必须构建 CFG 才能实现优化。我不明白的一件事是一个程序有多少个 CFG?我见过的每个例子似乎都是一个简单代码段的 CG…

疑心病 2024-10-31 08:28:23 7 0

创建编程语言问题

我正在考虑创建一种基于 C 的自定义(小型)编程语言(语法)。 我不明白苹果是如何使用 [testClass runThis:true]; 等运算符实现 Objective-C 的用那…

梦情居士 2024-10-31 07:07:29 4 0
更多

推荐作者

胡图图

文章 0 评论 0

zt006

文章 0 评论 0

z祗昰~

文章 0 评论 0

冰葑

文章 0 评论 0

野の

文章 0 评论 0

天空

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文