我正在Emacs Lisp中編寫解析器。它是文本文件 尋找這樣的解析器:在Emacs Lisp中解析
rule:
int: 1, 2, 3, ...
string: and, or, then, when
text:
----------
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque
in tellus. In pharetra consequat augue. In congue. Curabitur
pellentesque iaculis eros. Proin magna odio, posuere sed, commodo nec,
varius nec, tortor.
----------
more: ...
rule:
...
我真的不關心鍵(INT,字符串,...)。我想要 值。因此,對於上面的文件int值爲「1,2,3,...」,字符串 「,或者,然後,當」和文本「Lorem ...」(不包括破折號)。
我在考慮兩種不同的解決方案,但我不會使用哪一種解決方案。我應該:
創建一個簡單的分析程序,通過所有行和每個 線迴路與一些正則表達式匹配,然後組我想出來的零件?
用詞法分析器和解析器做更復雜的解析器嗎?
眼下文件是非常簡單的,我想我並不需要做什麼 作爲推進作爲第二選擇。但是這些文件可能會更復雜一點,所以我想讓它更容易擴展。
你會如何解決這個問題?
看起來你正在重塑YAML。 – myfreeweb 2010-02-09 11:04:37
我沒有發明任何東西。它們是來自風站的日誌文件。雖然他們看起來有點像YAML。 – rejeep 2010-02-09 11:24:16