运行ParseTree时出错

时间:2016-12-05 03:03:33

标签: rascal

在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。

1 个答案:

答案 0 :(得分:0)

我认为可以解决这个问题:

parse(#start[TranslationUnit], |file:///teste.c|);

通过使用start non-terminal,您可以解析以空格或源代码注释开头和/或结尾的文件。另请参阅此问题的答案:Layout in Rascal

顺便说一下,这个语法将在应用处理器后解析c程序。

Eclipse错误是一个看似无关的问题,我们希望在github问题跟踪器上收到堆栈跟踪。