2015-12-27 6 views
1

Я работаю на гибкой программе, и я хочу сделать следующее:Flex лексический анализатор: помните, начиная с позиции

-Распознать линию, разделить его на лексемы, помните лексем (скажем, в array1) если число токенов равно числу токенов на следующей строке (которые были запомнены в массиве2), print array1 [i]: array2 [i];

Сначала я думал запомнить каждый из токенов в матрице, но это слишком много, чтобы распределять динамическую память и так далее. Я уверен, что есть простой способ, у меня просто нет опыта работы с flex. Спасибо.

+0

Насколько я знаю, в Flex нет встроенной функциональности для хранения последовательности токенов, чтобы вы могли печатать их позже. Так что просто делайте это в обычном коде. –

+0

Нормальный код означает C-матрицу и распределения? – Loki

+0

Да, обычный код C. Просто используйте два (возможно, malloced) массива. –

ответ

0

Насколько я знаю, в Flex нет встроенной функциональности для хранения последовательности токенов, чтобы вы могли печатать их позже. Так что просто делайте это в обычном коде. Просто используйте два (возможно, malloced) массива. - Thomas Padron-McCarthy

Вы можете попробовать реализовать простую векторную структуру самостоятельно и использовать это. Затем пусть flex возвращает специальное значение в новой строке. Просто проверьте это значение, и вы знаете, что все готово. - Shadowwolf

Смежные вопросы