2011-06-04 36 views
2

我挖掘了整個documentation,但找不到示例。所有的例子或者解析字符數據或者使用Spirit.Lex。原諒我,如果我錯過了什麼。使用Boost.Spirit.Qi和自定義詞法分析器

有人可以給我一個例子,或指向一個教程,如何使用Boost.Spirit.Qi與我的自定義詞法分析器?例如:

vector<MyTokenType> tokens = GetTokens(); 
// use boost spirit to work with MyTokenType on per-token granularity 

回答

3

你將不得不做sevaral事情:

一)露出了令牌序列作爲一系列迭代器,這將有被傳遞到解析/ phrase_parse B)添加一個默認的轉換運營商的令牌類型暴露的令牌標識

struct token 
{ 
    operator int() const { return id; } 
}; 

,允許使用qi::char_(ID)作爲一個解析器組件與相匹配的令牌標識ID令牌。

集成屬性(令牌值)涉及更多,請看Spirit.Lex如何完成。

相關問題