102得票5回答
实现类型推断

我看到这里有一些关于静态和动态类型的有趣讨论。我通常更喜欢静态类型,因为它可以进行编译时类型检查,代码文档化程度更高等等。但是,如果像Java那样实现,它们确实会使代码变得混乱。 所以,我即将开始构建自己的函数式语言,类型推断是我想要实现的其中之一。我确实明白这是一个大主题,我并不想创造以前...

100得票9回答
如何开始创建一个JVM编程语言?

我使用Lex和Bison在C中创建了一个编译器,用于支持循环、函数声明内函数、递归调用等动态类型编程语言。我还创建了一个虚拟机来运行编译器生成的中间代码。 我正在考虑将其编译为Java字节码而不是我的自有中间代码。 我看到已经有人提问如何创建JVM语言,但我觉得答案不够详细。 所以这里是...

100得票3回答
为什么这个条件语句 (null || !TryParse) 会导致 "使用未赋值的本地变量" 的错误?

下面的代码会导致“未分配本地变量"numberOfGroups"的使用”的结果: int numberOfGroups; if(options.NumberOfGroups == null || !int.TryParse(options.NumberOfGroups, out number...

98得票6回答
我应该对代码施加哪些模式,以便更容易地将其翻译成另一种编程语言?

我打算开始一个旨在将一种编程语言的代码翻译成另一种语言的副业项目。我开始使用的语言是PHP和Python(从Python到PHP应该更容易入手),但理想情况下,我希望能够相对容易地添加其他语言。计划如下: 这是针对Web开发的。原始代码和目标代码将位于框架之上(我还必须编写这些框架)。这些...

98得票2回答
将两个使用GCC编译的.o目标文件合并成第三个.o文件

如何将两个由GCC编译的.o目标文件合并为第三个.o文件?$ gcc -c a.c -o a.o $ gcc -c b.c -o b.o $ ??? a.o b.o -o c.o $ gcc c.o other.o -o executable 如果您可以访问源文件,则-combine GC...

96得票14回答
使用Xcode 4(及其依赖项)编译、构建或归档问题

这个问题在过去几周逐渐演变成更一般的与xcode4相关的问题(以及从旧版xcode升级项目)。 然而,许多问题可以通过遵循相同的指令来解决。 如果你有以下任何问题,请尝试接受答案中的方法: Xcode 4无法归档应用程序 Xcode 4创建了一个无法使用的存档 Xcode 4未创建.ipa文...

96得票14回答
为什么这段Java代码能够编译?

在方法或类作用域中,下面的代码行可以编译(带有警告):int x = x = 1; 在类作用域中,变量获得其默认值的位置,以下内容会导致“未定义引用”错误:int x = x + 1; 第一个 x = x = 1 不应该最终出现相同的“未定义引用”错误吗?或者第二行 int x = x + 1...

96得票11回答
Java类文件的创建过程是确定性的吗?

当使用相同的JDK(即相同的javac可执行文件)时,生成的类文件是否总是相同的?根据操作系统或硬件不同可能有差异吗?除了JDK版本,是否有其他因素会导致差异?是否有编译器选项可以避免差异?在相同的输入和编译器选项下,Oracle的javac实际上会生成不同的类文件吗? 更新1:我对生成的编...

94得票2回答
我在哪里可以学习编写词法分析器的基础知识?

我想学习如何编写词法分析器。我的大学课程有一项任务,我们必须编写一个解析器(并配合一个词法分析器),但是没有任何指导或反馈(除了成绩),所以我没有从中学到太多东西。 在搜索此主题时,我只能找到相当高级的文档,重点放在我觉得比我所处的阶段要高出几步的领域上。我想讨论编写非常简单语言的词法分析器...

93得票7回答
我如何编译由GCC生成的汇编代码?

我正在测试一些汇编代码,有些东西让我感到困扰。 我编译这个:#include <stdio.h> int main(int argc, char** argv){ printf("Hello World\n"); return 0; } 使用gcc file.c -S ...