2014-02-27 49 views
0

我正在尋找一種工具,可以驗證給定的文本\段落是否符合特定格式。
例如:
我可以檢查文本如下:軟件用於檢查語法格式的工具

xxx{ 
    sss:aaa; 
} 
yyy(); 

最好的開源工具,可以方便地規則集,如XML或東西。
通過文本我的意思是我從fgets()或任何從文件中讀取的函數獲得的字符串。

回答

0

對於這樣的事情,我會建議一個解析器(例如,請參閱What is Parse/parsing?)。您可以使用Yacc等解析器生成器或其免費的GNU等效Bison或任意數量的other parser generators解析器生成的語言定義語言,其中許多語言也可以免費使用。

大多數解析器用於將符合語法的文本轉換爲其他形式(例如中間語言或機器代碼),但這不是必要的 - 在您的情況下,解析器可以簡單地說(至少)如果文本符合給定的語法,則爲「是」。

簡單語法的解析器可以手動構建,但如果您有可用的工具,則使用解析器生成器會更容易,更穩定。

此外,您顯示的文本類似於用C語言編寫的代碼的一部分(接近結構聲明後跟一個函數調用),因此您可以重新使用部分您需要從現有的Yacc語法中獲得語法,例如this one