- 81 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 22:14:02 ]
- spiritのast_treeの質問なんですが、
//型名など一部省略してます spirit::rule intp, expp; intp = leaf_node_d[int_p]; expp = int_p >> *(root_node_d[ch_p(L'+')] >> int_p); 上記のようなルールで、スキップパーサにblank_pを指定して 1 + 2 を構文解析させたとき、スキップ指定しているにもかかわらず、 2つ目の値のツリーの結果に、+から2までの間のスペースが' ''2'といった 感じに含まれてしまうのですが、leaf_node_dはそういう仕様なんでしょうか? (1つ目の値はスペースは含まれていない) リーフノードにスペースを含まないようにするには、スキップパーサを指定してても intp = no_node_d[*blank_p] >> leaf_node_d[int_p]; の様に、ルール側でもスペースを飛ばすしか方法がないのでしょうか?
|

|