LINUX.ORG.RU

Уж не знаю как это делается в бусте. Но принято использовать состояния при токенизации потока.

anonymous
()
Ответ на: комментарий от anonymous

Вот в примере и сделано на состояниях. Но он не работает.

knkd
() автор топика
Ответ на: комментарий от AST-PM-105

Проблема в том что не вырезает.

knkd
() автор топика

Я где-то читал, что юзать буст спирит - это плохо, он перегруженный, медленный и т.п., надо типа юзать lex + bison и не понтовацца.

kiverattes ★☆
()
Ответ на: комментарий от kiverattes

Я где-то читал что Папа Римский - женщина.
Но вопрос не об этом.

knkd
() автор топика
Ответ на: комментарий от kiverattes

Не сказал бы, что он медленный (ни для чего серьезного его не юзал), но с его синтаксисом для чего-нибудь серьезного он абсолютно неюзабельный. Не видел пока ничего лучше lex + bison (хотя они далеко не идеальны).

Вопрос к ТС: можно ссылку на этот пример?

Deleted
()
Ответ на: комментарий от malbolge

ANTLR

Нисходящий парсер? А он справляется с левой рекурсией?

Синтаксис на вид более приятный, чем у бизона.

Deleted
()
Ответ на: комментарий от malbolge

ANTLR

Конечно интересно, но он работает с крестами через три медных таза.

knkd
() автор топика
Ответ на: комментарий от Deleted

lex + bison

Почему-то Бизон не работает под оффтопиком+MinGW.
Жалуется что не опознанная опция "--gnu" и прочее.
К сожалению это важно для меня...

knkd
() автор топика
Ответ на: комментарий от cattail

Мне она и не упала, она возникает сама когда работает магия бизона.

knkd
() автор топика
Ответ на: комментарий от anonymous

Левая рекурсия в бизоне как-то никогда не создавала проблемм. И конфликтов из-за нее никогда не было. А переписывать абсолютно очевидные, простые и рабочие правила в кучу неочевидного г*вна только ради не-леворекурсивной (а значит, более труЪ) грамматики не вижу особого смысла.

Deleted
()
Ответ на: комментарий от anonymous

Дядя, я процитирую руководство по Bison:

Any kind of sequence can be defined using either left recursion or right recursion, but you should always use left recursion, because it can parse a sequence of any number of elements with bounded stack space. Right recursion uses up space on the Bison stack in proportion to the number of elements in the sequence, because all the elements must be shifted onto the stack before the rule can be applied even once.

Begemoth ★★★★★
()

Советую на stackoverflow спросить, там Hartmut Kaizer мониторит и обязательно ответит, тем более, речь о баге в экзампле.

ratatosk
()
Ответ на: комментарий от ratatosk

Создал для смеху. С моим то англицким...

knkd
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.