2022年7月27日 星期三

ANTLR 第4版 的新功能

 編譯器上長歲壽的應該是 antlr 吧,自伊出版到這馬已經第4版了。而且第4版本身嘛咧欲十冬了。網路上揣著的資料真大部份猶是第3版,欲測試閣特別掠第3版jar檔案。第4版上重要吔是伊開始支援倒手爿遞廻,倒手爿遞廻是LL(k)上大的禁忌。伊會拍破這條規則,表示編譯知識愈來愈普及囉。欲自定編譯功能佮規


則,有2个模式會使用。分別是walker佮visitor。walker徛基佇listener,每一條ruleNode規則配合2个呼叫函式:enterRule、exitRule,家己寫的程式碼Walker只要繼承ProgBaseListener,而且寫好這2條函式程式碼,一切就OK了。visitor較麻煩,愛先落標簽,用#符號𤆬頭。然後愛閣寫真濟的函式佮Context觀念配合,算起來已經是專業程度才會曉。