问题标签 [intermediate-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3155 浏览

c# - 如何访问已编译的 .NET 程序集的 MSIL 代码?

VB.NETC#(以及其他语言)编译器生成 MSIL 代码。我怎样才能看到那个代码?

那个文件里有什么?该文件驻留在哪里,我如何访问它?

第二个问题:

如何从cmd提示中编译 C# 程序,以及如何检查使用该编译器创建的每个文件?

0 投票
1 回答
936 浏览

java - Java的中间代码生成器

是否有为 java 文件生成中间代码的工具?或者是否有任何资源可以帮助生成一个?谢谢。

0 投票
1 回答
2804 浏览

compiler-construction - 基于堆栈的字节码或无限寄存器机器的优点

编译器通常选择基于堆栈或无限寄存器的中间表示 (IR)。这些优于表达式树的优点是什么?

0 投票
1 回答
2322 浏览

llvm - 什么是 LLVM 中间表示?

我已经从链接http://llvm.org/demo/尝试了 LLVM 演示, 这是什么类型的 IR?HIR、MIR 还是 LIR?我认为,SSA 表示通常用于 MIR。那么,它是 MIR 吗?但它可以存储信息以进行依赖性分析。因此它可以成为 HIR 吗?

什么文件扩展名实际上代表 LLVM IR、.ll 或 .bc?

如何获取 LLVM 中使用的符号表?

0 投票
2 回答
85 浏览

java - 我们怎么知道设置堆有多大?

我正在尝试将 Java 转换为中间语言,并且正在弄清楚中间语言是如何工作的。

我有原始的 Java 代码:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/Factorial.java

我有中间代码表示(VAPOR):http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/Factorial.vapor

这是另一组:在 Java 中:http ://cs.ucla.edu/classes/spring11/cs132/cs132/mj/BubbleSort.java

在 VAPOR 中:http ://cs.ucla.edu/classes/spring11/cs132/kannan/vapor-examples/BubbleSort.vapor

我的问题是,所有的 VAPOR 代码都有t.0 = HeapAllocZ(x)(在哪里xint。我想知道转换器如何确定堆大小需要为 size x。在Factorial.vapor中,它设置为4。在BubbleSort.vapor中,它设置为12

谢谢!

0 投票
7 回答
49442 浏览

language-agnostic - 回补是什么意思?

是什么backpatching意思?请用一个简单的例子来说明。

0 投票
0 回答
189 浏览

linux - 如何为不同的架构制作 Linux 内核中间文件 (.i)?

我正在尝试在 x86_64 上针对 Linux 3.10 运行命令:

问题是这个文件要建立在与我自己不同的 MPIS 架构上。如何配置我的构建环境,以便为该特定 c 文件生成中间文件?

0 投票
1 回答
140 浏览

c - 是否有 GCC 选项将 foo() 视为 foo(void)?

我正在为将 GNU C 作为中间代码输出的语言创建编译器。(是的,我知道做 IR 有更好的方法,但我很懒,无论如何我都会将其重写为自托管)。

目前,如果我创建一个没有参数的函数,我的编译器会生成

这与所需的行为不同:

但是,我希望 GCC 将前者视为后者(否则我必须在我的代码中做一个特殊情况)。

GCC 是否有这样做的标志?

0 投票
0 回答
67 浏览

php - 映射http请求的中间文件

我有这个 htaccess 代码将每个传入的请求重定向到名为“parse.php”的中间文件。

我想记录来自传入请求的许多参数以进行进一步处理,但障碍是如何将请求的“URI”映射到其目的地,即如果请求的 URL 是“localhost/stack/overflow.html”,那么目前,我无法进一步通过这个对文件系统的请求当然不能转发给客户端。我也希望这个过程透明。

我尝试在“parse.php”中使用“meta refresh”和“header”函数,但由于htaccess 中的规则,这会创建一个无限循环,因此手头没有任何东西。

我肯定有人已经使用过这个概念,一个像防火墙一样的集中式 php 文件。我不知道如何进行?

我可以请求 Stackoverflow 的成员在这件事上帮助我吗!

问候
日太郎

0 投票
1 回答
4384 浏览

parsing - 自动伪代码到c语言转换器

我正在尝试为 c 语言的伪代码编写翻译器。编译器的哪些阶段是必要的?我尝试了词汇、语法、语义、中间代码就足够了,或者机器代码是必要的。我在上述阶段尝试了 flex,bison。这是对的吗?