2016-12-05 73 views
0

在流氓的外殼,這樣做:錯誤運行分析樹

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傑西,甲骨文的Java 1.8.0_112,x86_64的。

回答

0

我認爲它可以固定與此:

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

通過使用啓動非終端可以解析其開頭的文件和/或用空格或源代碼註釋結束。又見這個問題的答案:Layout in Rascal

順便說一句,該處理器已經應用在此之後的語法將解析C程序。

Eclipse的錯誤是一個看似不相關的問題,對此我們很樂意收到關於GitHub的問題跟蹤一個堆棧跟蹤。

+0

只有非常簡單的方案被接受。 | prompt:/// |(78,4,<1,78>,<1,82>):ParseError(| project://rascal-C/src/main.c |(0,1,<1,0>,<1,1>)) at parse(| prompt :/// |(78.4,<1,78>,<1,82>)) 在某處*** ***(|提示:/// |(78.4,<1,78>,<1,82>)) 在分析(|提示:/ // |(78.4,<1,78>,<1,82>)) –

+0

什麼行不通: 「#包括」,多的printf(我想沒有多串上)和多變量多的初始化(例如:INT I = 0,\ nj = 0,\ nk = 0)。 –

+0

如果我設法解決一些錯誤,我發佈它們。 –