在Rascal shell中,执行此操作:
import lang::c90::\syntax::C;
import ParseTree;
parse(#TranslationUnit, |file:///teste.c|);
我进入稳定的独立罐子:
|prompt:///|(24,93,<1,24>,<1,117>): ParseError(|file:///home/rafael2k/files/UnB/static_analysis/eclipse-workspace/rascal-C/c-source/teste.c|(47,0,<4,0>,<4,0>))
at parse(|prompt:///|(24,93,<1,24>,<1,117>))
at *** somewhere ***(|prompt:///|(24,93,<1,24>,<1,117>))
at parse(|prompt:///|(24,93,<1,24>,<1,117>))
在Eclipse中,我收到一条巨大的消息错误:
(...)
public AbstractStackNode<IConstructor>[] FloatingPointConstant() {
return FloatingPointConstant.EXPECTS;
}
public AbstractStackNode<IConstructor>[] StructDeclarator() {
return StructDeclarator.EXPECTS;
}
}
Advice: |http://tutor.rascal-mpl.org/Errors/Static/JavaCompilation/JavaCompilation.html|null
任何提示?
顺便说一下,运行Debian Jessie,Oracle Java 1.8.0_112,x86_64。
答案 0 :(得分:0)
我认为可以解决这个问题:
parse(#start[TranslationUnit], |file:///teste.c|);
通过使用start non-terminal,您可以解析以空格或源代码注释开头和/或结尾的文件。另请参阅此问题的答案:Layout in Rascal
顺便说一下,这个语法将在应用处理器后解析c程序。
Eclipse错误是一个看似无关的问题,我们希望在github问题跟踪器上收到堆栈跟踪。