boost::spirit::longest_d как привязать semantic action?
От: _Winnie Россия C++.freerun
Дата: 16.10.04 23:38
Оценка:
        longest_d[
          int_p[&OnInteger] |
          real_p[&OnFloat]
        ]



Парсер поглощает более длинный кусок, но
Выполняются оба semantic action


Как сделать так, что бы выполнялось для более длинного(который и прочитался)?
Правильно работающая программа — просто частный случай Undefined Behavior
Re: boost::spirit::longest_d как привязать semantic action?
От: MaximE Великобритания  
Дата: 17.10.04 07:55
Оценка:
_Winnie wrote:

>
>         longest_d[
>           int_p[&OnInteger] |
>           real_p[&OnFloat]
>         ]
>

>
>
> Парсер поглощает более длинный кусок, но
> Выполняются оба semantic action

Оно и понятно:

The longest_d directive instructs the parser not to short-circuit alternatives enclosed inside this directive, but instead makes the parser try all possible alternatives and choose the one matching the longest portion of the input stream.


Тебе придется найти другой способ...

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 1.9 gamma
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.