2016-10-06 12 views
-1

Boost.Spiritを使用して実装されたプログラミング言語(full project here)を使用していますが、次の問題で苦労しています。それは、単に2つのトークン次々を有するが、いくつかの時点でBoost.Spiritを使用して正しく解析できない

function_body_rule %= 
    identifier_rule 
    >> lit(L":=") 
    >> lit(L"(") 
    >> -parameter_declaration_rule % ',' 
    >> lit(L")") 
    //>> lit(L"->") // epic fail if you uncomment this 
    >> type_specification_rule 
    >> lit(L"{") 
    >> *(assignment_statement_rule) 
    >> lit(L"}"); 

:私は関数(this fileにおける線77)については、次の宣言を持っています。 2番目のトークンのコメントを外すと、正しいシーケンスを入力すると関数が正しく解析されなくなります。私がトークンにコメントすると、すべては問題ありません(ただし、明らかに->を含めることはできません)。

あなたは何が起こっているのか理解できますか?

+0

@jv_コメントした行のコメントを外していませんでした。コメントを外して '...:string) - > string ... 'としてみてください。 –

+0

私は誤って以前のバージョンをコピーしました。 [この1つ](http://melpon.org/wandbox/permlink/71LKZpNfqrn9TP8y)はコメントを外しています。 – llonesmiz

+0

@jv_は私のために失敗します(ブースト1.59) –

答えて

1

答えを見つけました - キーボード入力はダッシュを - (マイナス)に書き換えました。

関連する問題