Если вы имеете в виду, что во время компиляции yacc использует стандартный синтаксис комментариев C /* */
.
Если вы имеете в виду, что во время выполнения вам все равно придется работать с имеющимися таблицами, поэтому им нужновключите всю грамматику с необязательными фразами.
Так что я бы предложил сделать поддельный символ терминала.Правилам, которые являются необязательными, должен предшествовать поддельный терминал.Вы бы вернули этот терминал, только если бы вы включали дополнительные произведения.
Вариант этого подхода будет включать определение двух версий реального терминала, который действительно существует.Это работает только для грамматик, которые ведут строки с терминалами, но если у вас есть такой ввод, то один терминал может означать один набор правил, а другой терминал может появляться в двух наборах правил, а именно:
T_A dynamic_phrase_in_grammar;
always_on static_phrase_in_grammar;
always_on: T_A | T_B;
Так, чтобы включить динамическую фразу, реальный терминал возвращается как T_A, чтобы отключить его, вернуть как T_B.