簡體   English   中英

Boost.Spirit.Qi - 規則開頭的錯誤

[英]Boost.Spirit.Qi - Errors at the beginning of a rule

如何在規則開始時檢測到錯誤? 例如,考慮文檔中包含的Mini XML示例 如果我為解析器提供類似的東西:

<element>this is an error<element>

然后我得到:

錯誤! 期待這里:“”

錯誤! 期待這里:“”

解析失敗了。

那很好,但后來考慮喂它:

element>this is an error</element>

我得到的非常通用,不太有用:

解析失敗了。

如何修改規則以信息方式報告錯誤?

需要在文檔根級別要求一個元素。

其他消息由失敗的期望點生成。 你會想要一個額外的期望點 我這樣做:

  1. 將舊的xml規則重命名為element
  2. 創建一個新xml具有在期望點元素的規則:

      xml = qi::eps > element; 
  3. [別改變別的]

  4. 利潤!

輸出變為:

Error! Expecting <element> here: "element>this is a test</element>
"
-------------------------
Parsing failed
-------------------------

在這里看到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM