char всегда меняется с помощью flex

Я пытаюсь научиться использовать flex, и у меня есть некоторые проблемы:

  • каждый раз, когда токен найден, я хочу, чтобы он хранился в созданном мной токене, эта часть работает просто отлично!
  • проблема начинается, когда он переходит к следующему токену, например, если я написал: «a bcd», он должен идентифицировать его как токен a, а затем как токен bcd, вместо этого я получаю следующее:

    токен a(при первом сканировании),
    и при втором сканировании я получаю 2 токена:
    токен a
    токен a bcd.

Что мне не хватает? (Когда он распознает bcd, он по какой-то причине просто меняет токен a на bcd).


person secret    schedule 12.04.2017    source источник
comment
Код является текстом, пожалуйста, включите его как таковой. Изображения не могут быть скопированы в редакторы и не могут быть найдены. В общем, создайте минимальный, полный и проверяемый пример. Это не обязательно должен быть ваш код дословно. Вы можете создать отдельный небольшой пример, демонстрирующий вашу проблему.   -  person Ilja Everilä    schedule 12.04.2017
comment
добавил код как просили....   -  person secret    schedule 12.04.2017
comment
На баглете: в printfs есть лишние аргументы без формата, atoi(yytext). Вы включили все предупреждения от вашего компилятора?   -  person Jens    schedule 12.04.2017
comment
@Jens, проблема не в этом, я исправил ее, но проблема остается прежней ...   -  person secret    schedule 12.04.2017


Ответы (1)


Проблема заключалась в том, что поскольку yytext обновляется, вам нужно скопировать его на новый символ, чтобы он работал.

person secret    schedule 12.04.2017