我喜歡靜態分析和編譯時檢查,這幾乎是錯誤,但我大部分時間都在Objective-C中工作。爲了解決這個問題,我希望能夠編寫我自己的分析工具,以便在Objective-C項目上運行。解析用於靜態分析的Objective-C代碼
但是在互聯網上搜索表明,人們很難整合一個完整的Objective-C語法。 One site基本上建議放棄。
我確實找到了一個語法on the ANTLR website,但是當我解僱它時,我根本無法解析任何東西。例如,它迴應了行:
void x();
與src/main/resources/somecode.m line 1:0 no viable alternative at input 'void'
:(
我把在語法仔細一看,發現以下令人沮喪免責聲明:
it's a work in progress, most of the .h file can be parsed
但是我需要能夠解析接口和實現的東西。
在那裏有一個完整的Objective-C 2.0語法嗎?我更喜歡可以與Scala一起工作的東西(所以任何與Java兼容的東西,比如ANTLR,都是完美的),但是現在我願意爲其他解析器工具包設計一些東西。
gcc可以編譯Objective-C程序(假設你沒有使用Apple的API),所以在gcc源代碼中應該有一個語法,如果沒有? - 哦,我看到你的第一個鏈接就這個問題進行了討論。 – JAB