compiler-construction 相关问题

标记编译器构造应该应用于有关编译器编程的问题或有关编译器详细内部工作的问题。请勿使用*使用*特定编译器或编译错误的问题。

从类型表到符号表的引用[关闭]

我们都知道符号表到类型表总是存在引用,但相反的情况也可能发生。意味着可以将表引用键入回符号表?

回答 1 投票 0

为什么词法分析器通常将 var 定义为不能以数字开头?

令牌 _123jh 和 123jh 之间有什么区别,使得大多数词法分析器不包含以数字开头的标识符?我想一个原因可能是纯数字标记可能会令人困惑,...

回答 1 投票 0

我应该使用哪种位集实现来获得最大性能?

我目前正在尝试在即时(JIT)编译器中实现各种算法。许多算法都在位图(通常称为位集)上运行。 在 C++ 中,有多种方法

回答 3 投票 0

编译器级别的分支预测

我一直在阅读有关分支预测的内容,但我发现的唯一实现主要是在计算机的硬件方面。处理器似乎负责大部分预测。我的问题是...

回答 1 投票 0

计算行政范式

管理范式是代码的中间表示形式,适合编译器使用,逻辑上等同于单静态赋值,但有一些优点。例如,

回答 1 投票 0

何时应用ANTLR跳过?

ANTLR 是等待找到与应该跳过的标记相匹配的最长字符串,还是一旦匹配该标记就跳过它? 假设我们的语法中有两个标记,如下所示: 测试: ...

回答 1 投票 0

返回元素比通过引用发送元素并在那里修改慢吗?

假设我有一个函数可以生成一个大结构(在本例中是一个巨大的 std::vector),以及一个重复调用它的循环: std::vector 渲染(int w,int h,int time){ std::vec...

回答 3 投票 0

使用递归下降解析扩展 lambda 演算

我正在用 C 语言编写基于简单 lambda 演算的语言的解释器。语言的 EBNF 是 S ::= E E ::= 'fn' var '->' E | T {'+' T} | T {'+' T} | T {'-' T} T ::= F {'*' F} | T ::= F {'*'F} | F {'/' F} F ::= P {P} P ::= v...

回答 1 投票 0

GNU 语句表达式的编译器支持

哪些现代编译器支持 Gnu 语句表达式(C 和 C++ 语言)。我应该在什么版本中使用语句表达式? 语句表达式类似于 ({ code; code; retva...

回答 3 投票 0

将 C- 语法转换为 LL(1)

我目前正在构建一个C-编译器。我目前正在研究解析器,由于某种原因,我似乎无法解决源自表达式的第一组冲突(终端 id)

回答 2 投票 0

LL(1) 语法转换问题 – 解析器生成器错误

我正在努力将语法转换为 LL(1) 形式,但是当我尝试使用在线 LL(1) 解析器生成器时,它报告错误。我已经按照标准程序进行了转换,b...

回答 1 投票 0

如何通过类型推断处理前向引用

为oop语言制作一个编译器,与语言相同。编译器当前遍历 ast 4 次,前两次用于解析类型链,第三次用于填充

回答 1 投票 0

如何在 Haskell 中编写上下文无关语法?另外,我制作这个编译器的方向正确吗?

作为参考,我正在学习《编译器原理:技术与工具》(又名“龙书”)这本书。 我正在创建一种语言,您可以在其中添加两个自然数...

回答 1 投票 0

有没有可以编译C++或C的库

我来这里问这个问题是因为这个网站过去对我非常有用,似乎有非常知识渊博的用户,他们愿意讨论一个问题,即使它是形而上学的......

回答 5 投票 0

让 GCC 编译而不插入对 memcpy 的调用

我目前正在使用 GCC 4.5.3,为 PowerPC 440 编译,并且正在编译一些不需要 libc 的代码。我没有任何对 memcpy() 的直接调用,但编译器似乎正在插入一个......

回答 5 投票 0

调试信息是否会显示 C++/MSVC 中的代码?

如果我们分发包含调试信息/符号的已编译的 C++ 可执行文件,这是否能让第三方比 de...

回答 3 投票 0

scala 编译器阶段的顺序是什么?

我想加深对 scala 编译阶段的了解。我知道编译器中必须发生某些事情,但并不真正知道它们发生的顺序以及顺序如何......

回答 4 投票 0

如何优雅地放置一个大常数矩阵而不使其基本上不可读?

我正在为学校编写一个编译器项目,我需要将预先计算的值表放入我的代码中。问题是它不可读。我应该如何解决这个问题? 到目前为止我正在做...

回答 1 投票 0

我的 C++ 编译器会优化我的代码吗?

在使用现代C++编译器(包括MSVC、GCC、ICC)时,我怎么说它有: 并行化代码 对循环进行向量化(或使用其他特定处理器指令) 展开循环

回答 4 投票 0

LLVM 描述 ISA 指令的接口在哪里?

我对 LLVM 和编译器开发总体来说是新手,但我已经读完《工程编译器第三版》,并得出结论,编译器对我来说确实可能是一个非常有趣的领域,值得我专攻,...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.