2
最近我一直在玩boost :: spirit :: qi,並一直試圖寫我自己的(非常非常簡單)它將解析的腳本語言。當我掌握腳本中的if語句時,遇到了麻煩。如果函數調用返回,我需要解析器跳過部分輸入。例如,我將令牌定義爲接受變量名(a-zA-Z_)並將比較集設置爲接受「>」或「<」。代碼示例如下。如果函數調用返回,跳過boost :: spirit :: qi中的輸入部分
comparison_statement = token >> comparison >> token;
statement = lit("if ") >> comparison_statement[&compare] >> "then";
qi::phrase_parse(first, last, script, space); // This call the parser
如果函數比較返回true,我該如何跳過下一節?
這正是在[小量解析器](http://www.boost.org/libs/spirit/doc/html/spirit/qi/reference/auxiliary/eps .html)是爲了;你試過了嗎? – ildjarn 2011-12-20 03:43:40
不,我是Boost新手,從未見過這個。我查看了文檔,但有點令人困惑,您能否給我一個如何使用它的例子?謝謝:) – Codahk 2011-12-20 04:03:06
「語義謂詞」段是相關的例子。 – ildjarn 2011-12-20 04:03:55