Bison: Как игнорировать токен, если он не соответствует правилу

Я пишу программу, которая обрабатывает комментарии, а также некоторые другие вещи. Если комментарий находится в определенном месте, моя программа что-то делает.

Flex передает токен при нахождении комментария, а затем Bison проверяет, соответствует ли этот токен определенному правилу. Если это так, то выполняется действие, связанное с этим правилом.

Вот в чем дело: вводимые мной данные могут содержать комментарии в неправильных местах. В таком случае, Я просто хочу проигнорировать комментарий, а не отмечать ошибку .

Мой вопрос:
Как я могу использовать токен, если он соответствует правилу, и игнорировать его, если нет? Могу ли я сделать токен «необязательным»?

(Примечание: единственный способ, который я могу придумать прямо сейчас, - это разбросать токен комментария во всех возможных местах во всех возможных правилах. ДОЛЖНО быть лучшее решение, чем это. Может быть какое-то правило с участием рута?)

7
задан Jonathan Leffler 6 May 2013 в 20:42
поделиться