问题标签 [compiler-construction]

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 投票
7 回答
1733 浏览

compiler-construction - 构建有效的外部 DSL

我有什么工具可以构建一个真实的、诚实的外部 DSL。不,我不是在谈论滥用 Ruby、Boo、XML 或其他现有语言或语法,我的意思是一种真正的外部 DSL——我自己的语言用于我自己的目的。

我知道有一些语言工作台正在开发中,而且我听说过诸如 .NET 的“讽刺”之类的东西。当然,还有 ANTLR、Lex/Yaac 等,但恐怕这些对于我想要做的事情来说太复杂了。

请谈谈您可能使用或听说过的 DSL 构建器工具,以及您对它的帮助和缺点的印象。

0 投票
5 回答
703 浏览

c++ - 我想告诉 VC++ 编译器编译所有代码。可以做到吗?

我将 VS2005 VC++ 用于非托管 C++。我有 VSTS 并且正在尝试使用代码覆盖率工具来完成关于单元测试的两件事:

  1. 看看我有多少被测试的引用代码正在执行
  2. 查看我的测试代码中有多少方法(如果有)根本没有经过单元测试

设置 VSTS 代码覆盖工具(请参阅链接文本)并完成任务 #1 非常简单。然而#2对我来说是一个令人惊讶的挑战。这是我的测试代码。

当这两种方法都在上面的类中定义时,编译器会自动从 obj 文件中删除 ThisMethodDoesNotRun()。如果我将它的定义移到类之外,那么它会包含在 obj 文件中,并且代码覆盖率工具显示它根本没有被执行过。在大多数情况下,我希望编译器为我完成这种消除,但对于代码覆盖工具,它会破坏大部分价值(例如,寻找未经测试的方法)。我已经尝试了很多方法来告诉编译器停止对我聪明并编译所有东西,但我很难过。如果代码覆盖工具能弥补这一点会很好(我想通过扫描源代码并将其与链接器输出匹配),但我没有发现任何迹象表明它有一个特殊的模式可以打开。

在此先感谢克格勃

0 投票
14 回答
15854 浏览

compiler-construction - 有哪些 Fortran 编译器?

当今时代有哪些 Fortran 编译器,您会推荐哪些?请列出它支持的 Fortran 版本、它工作的平台(例如 *nix / Windows)以及它是否需要花钱。

(标准操作系统每个答案一个等)

0 投票
3 回答
5228 浏览

java - Xcode:“-source 1.3 不支持泛型”编译器错误?

只是一个简单的问题:

我是一名 CS 本科生,只使用过 Eclipse 和 Net Beans IDE。我最近买了一台 Macbook,想用 Xcode 重新编译一个最近的学校项目,只是为了测试一下。在我声明 ArrayList 的新实例的那一行之后:

我收到以下错误:-source 1.3 不支持泛型

我只是想知道是否有人可以就问题所在提供建议。同一项目在同一台机器上的 Eclipse 中编译。我正在使用 Java 1.5.0_13 运行 OSX 10.5.4。

谢谢你。

0 投票
10 回答
54648 浏览

macos - 有没有办法在不安装 Xcode 的情况下在 OSX 中安装 gcc?

我已经用谷歌搜索了它,似乎没有安装 Xcode(至少需要 1.5GB 空间)就无法在 OS X 上安装 gcc。我所需要的只是 gcc 而不是 Xcode 附带的其他垃圾。在这一点上,我将采用任何其他类型的 C 编译器。

我知道我可以简单地安装 Xcode,但这并不重要,因为我既没有原始安装光盘,也没有快速的互联网连接。

那么……有人有什么建议吗?

编辑:对不起,如果我不清楚,但我也需要标题。我目前正在通过 fink 安装 gcc4,它也在下载共享库。我会更新进展。

编辑 2:好的,所以我使用 fink 成功安装了 gcc。但是,它几乎没用:“错误:C 编译器无法创建可执行文件”。谷歌搜索后,我发现没有安装 Apple 的开发者工具是错误的原因。可能是因为我需要所有只能通过 Xcode 获得的库、头文件等。

0 投票
22 回答
452625 浏览

c - Windows 的 C 编译器?

我很好地使用 gcc 作为我的 C 编译器在 Linux 上工作,但我想要一个 Windows 解决方案。有任何想法吗?我看过Bloodshed 的 Dev-C++,但正在寻找更多选择。

0 投票
5 回答
4908 浏览

c++ - Visual C++ 2008 和 2005 之间的区别

我在 Microsoft 的网站上找不到任何有用的信息,所以这里有一个问题:Visual C++ 2008 中的编译器自 2005 版本以来是否得到了显着改进?我特别在寻找更好的优化。

0 投票
5 回答
6860 浏览

c++ - 如何设置共享 ccache

如何设置共享 ccache 而不会陷入权限问题?

我想运行具有最新更改的每晚或 CI 构建,并使用大型 ccache 存储库在整个研发过程中共享所有创建的二进制文件。

0 投票
7 回答
4194 浏览

c++ - 在哪里可以找到适用于全屏模式的 Windows Vista 的免费编译器?

我需要知道在哪里可以获得适用于 Windows Vista 的 C 和 C++ 编译器的免费版本。我尝试过的许多版本都不能在全屏模式下工作。

0 投票
6 回答
1314 浏览

c# - C# 编译器错误地优化代码

我有一个在远程 Web 服务器上运行的 ASP.NET 应用程序,我刚开始收到此错误:

我反汇编了 DLL 中的代码,似乎编译器错误地优化了代码。(请注意,Set 是一个实现一组唯一对象的类。它继承自 IEnumerable。)这一行:

编译成这一行:

CalendarModule 类是一个完全不相关的类!!以前有没有人注意到 .NET 错误地编译了这样的代码?

更新 #1:这个问题似乎是由 Microsoft 的ILMerge工具引入的。我们目前正在研究如何克服它。

更新 #2:到目前为止,我们找到了两种解决此问题的方法。我们不太了解根本问题是什么,但是这两个都解决了它:

  1. 关闭优化。

  2. 在另一台机器上将程序集与 ILMerge 合并。

所以我们想知道构建机器是否以某种方式错误配置(考虑到我们已经使用该机器构建版本已经一年多了,这很奇怪)或者是否是其他问题。