标签:compiler-construction
-
我收到此警告:com.sun.org.apache.xml.internal.serialize.OutputFormat是Sun专有的API,将来的发行版中可能会删除它。 - java
我的代码是 OutputFormat wOf = new OutputFormat( "XML", "ISO-8859-1", true ); 帮助我解决此警告...。 提前致谢 参考方案 一种解决方案是不使用该类。 另一个解决方案是忽略警告。看课时,我怀疑这是唯一可行的解决方案……如果您坚持使用Sun XML堆栈 […]
-
有Java字节码生成指南吗? - java
Improve this question 我们正在从 Pascal 到 JVM字节码编写某种编译器。并且我们已经实现了表达式树的生成,因此下一步应该是创建.class文件。您能否建议至少如何从某些静态数据生成任何.class文件的任何指南/教程?因为我已经搜索了2个小时并且已经阅读了JVM规范,但是我确实需要一些甚至最简单的示例来开始开发整个程序。 参考方 […]
-
使用Python构建编译器或解释器 - java
Improve this question 现在,我正在写我的博士学位提案,为Java的新规范语言(参见JML或C#的SpeC#)构建语言处理器,并且需要确定一种实现工具以开始开发。语言的研究方面(语法,语义,理论结果)与我选择的实现正交,因此出于自身原因,我想使用Python(2.6+)。最终产品将是能够验证用Java编写的程序的某些指定属性的编译器或解释 […]
-
字段初始化程序访问“this”:在C#中无效,在Java中有效? - c#
Improve this question 一,简介: 这段代码: class C { int i = 5; byte[] s = new byte[i]; } 无法编译,并出现以下错误: 字段初始值设定项不能引用非静态字段,方法或属性“C.i” Resharper说类似的话:无法在静态上下文中访问非静态字段i。 这与C# spec says一致-字段初始值 […]
-
Java中的别名分析 - java
有人可以给我指出Java别名分析的框架或实现。我查看了asm框架,但它仅提供数据流分析和控制流分析。 更新:只是好奇,但是有人知道Findbugs是否进行别名分析吗? 参考方案 我知道三个带有Java别名分析的开源程序分析框架: WALA(免责声明:我是WALA的维护者)。 Soot Chord 请注意,在这些框架中实际实现的是points-to analy […]
-
Java 7中通用类的变量访问权限的更改 - java
这是一些使用Java 6编译但未在Java 7中编译的代码的简单示例。 public class Test<T extends Test> { private final int _myVar; public Test(int myVar) { _myVar = myVar; } public int get(TestContainer<T […]
-
Ant编译:未封闭的字符文字 - java
当我使用ant编译Web应用程序时,会收到以下编译器消息: unclosed character literal 令人反感的代码行是: protected char[] diacriticVowelsArray = { 'á', 'é', 'í', 'ó', 'ú […]
-
为什么MSFT C#对固定的“指针衰减数组”和“第一个元素的地址”的编译方式不同? - c#
.NET c#编译器(.NET 4.0)以一种非常特殊的方式编译fixed语句。这是一个简短但完整的程序,向您展示我在说什么。 using System; public static class FixedExample { public static void Main() { byte [] nonempty = new byte[1] {42}; by […]
-
如果不在类文件中,则将已编译的代码存储在何处 - java
最近,我在阅读THE STRUCTURE OF THE JAVA VIRTUAL MACHINE时遇到了一个查询 在第5页上。 2, Java虚拟机要执行的编译代码为 使用与硬件和操作系统无关的二进制文件表示 格式,通常(但不是必须)存储在文件中,称为 类文件格式。 那个括号但是不一定是原因。 问题是 在那种情况下,编译后的代码将不会存储在类文件中?如果它不 […]
-
由于多余的括号,“作业的左侧必须是变量” - java
我知道为什么以下代码无法编译: public class Main { public static void main(String args[]) { main((null)); // this is fine! (main(null)); // this is NOT! } } 我想知道的是为什么我的编译器(Javac 1.6.0_17,Windows版 […]