簡體   English   中英

boost :: spirit組成語法的語法

[英]boost::spirit composing grammars from grammars

我已經想出如何使用精神 - 也就是說,我寫了一個中等復雜的語法。 我總是采用增長程序的方法 - 一次一個子系統。 我已經為復雜模型編寫了數據結構,該模型在最高級別有4種類型。

我想使用由規則方法組成語法一次解析一個類型的頂級類型 - 即,我想用一個頂級語法編​​寫4個語法。 如果這是可能的(我開始懷疑),有人可以發布片段或對這樣做的項目的引用。

一個頂級語法具有50+(可能更多)規則(用於正確的錯誤處理)聽起來不是很有趣(TMP代碼易失/慢編譯,並提供無用的錯誤消息)。

從實際程序簡化, Qi應該像Karma一樣工作。

template<class Iter>
struct subgrammar_1
: karma::grammar<Iter, ...>
{
    ...
}

template<class Iter>
struct top_level_grammar
: karma::grammar<Iter, ...>
{
    top_level_grammar() : top_level_grammar::base_type(start)
    {
        start %= r1 | r2;
    }
    karma::rule<Iter, ...> r1;
    subgrammar_1<Iter> r2;
    ...
}

暫無
暫無

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

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