Если предупреждение относится к сгенерированной части кода бизона / лекса (не к вашим действиям).Вероятно, единственным решением является модификация скелета.
Но, скорее всего, предупреждение относится к части действия в исходном коде bison / lex, вам просто нужно изменить действие.Помните, что bison не анализирует содержание вашего действия (т. Е. Весь код внутри фигурных скобок.
Предположим, что вы используете функцию, возвращающую unsigned int
, и используете ее в одном действии, например:
rule : foo { $$ = some_function_returning_an_unsigned_int($1); }
^-------------------------------------------------^
here : bison only expand the $'s to the correct c expression
Если ожидаемым типом токена для правила является int, вы получите предупреждение ac.
Без строки исходного текста (1772: 34) и контекста трудно дать точныйответ на ваш вопрос.