0
我試圖寫一個語法來解析Media wiki's wiki syntax,之後Creole syntax too(遺憾的是existing Creole grammar在Antlr 3中不起作用)。ANTLR中的Mediawiki解析:處理'令牌
我現在的問題是能夠捕捉一個大膽的規則,當我已經在一個斜體規則,或反之亦然。例如
'' this text is bold '''now it's italic''' and just bold again''
我有很大的幫助,從this question但我堅持。目標是在語法中使用動作或可能的AST生成HTML - 我不確定哪個最好。
謝謝 - 你在mediawiki語法中找到了什麼地方嗎?我開始認爲即使是Antlr的LL(*)解析器也無法處理它的糟糕的標記設計,我應該用一些替換字符串將它變成克里奧爾語,併爲此建立一個語法。 – 2011-03-27 10:23:05
@Chris,是的,我差不多完成了。但是有太多含糊之處,我開啓了全球回溯(並且爲了提高性能,還啓用了記憶功能)。由於這個原因,ANTLR需要大約20秒才能創建詞法分析器和解析器,我必須將堆空間增加到256 MB。當然,在解析實際的Wiki源代碼時,我不需要太多RAM,只需要生成詞法分析器和分析器就需要相當多的堆空間。祝你好運! – 2011-03-27 10:33:59
聽起來像ANTLR不是維基引擎(或任何其他類似Gold解析器/ Grammatica的解決方案,但它們打破無效標記) – 2011-03-27 10:51:06