讓xml和yaml進行分析工作
作者:佚名 時間:2012-06-20 分享到:
如果你覺得需要一個分析器,那么還有另外一個吸引人的實現(xiàn)方法就是,采用xml或者是yaml來定義你的新語言。如果你選擇這種做法的話,就可以使用ruby安裝時自帶的xml或yaml解析庫來處理分析工作,這個主意聽上去近乎完美,你能獲得一個完整的解釋器的民有靈活性和可擴展性,而又不需要擔心分析器的細節(jié),那誰會抱怨這種實現(xiàn)手段呢?
遺憾的是,你的用戶可能會抱怨,雖然xml和yaml是用于表達數(shù)據(jù)的首選方式,但是它們都無法完美地來表達程序,必須牢記構建一個解釋器的目的是,為了向你的用戶提供一個用于表達處理過程的自然途徑。如果分析器的工作核心是可以自然而然地通過xml或yaml來表達,那就無須猶豫,直接使用這些數(shù)據(jù)格式并享用現(xiàn)成的分析器所提供的所有優(yōu)勢,但是如果你設計的語言無法被xml或yaml自然表達(我認為大多數(shù)的解釋器模式語言無法通過數(shù)據(jù)模型自然表達),那么請不要勉強,不要為了省下一點編碼時間而南轅北轍。