Мне нужно реализовать компилятор (лексический, синтаксический и семантический анализаторы). Я уже реализовал лексику из flex++, синтаксис вручную (рекурсивный спуск) и знаю, что работаю над семантикой (добавляю семантические правила в существующий парсер). Мой вопрос: как мне реализовать атрибуты. Например, для производства:
TYPE -> integer
Мне нужно добавить семантическое правило:
TYPE.type = integer
Итак, здесь мне нужно создать некоторую структуру для TYPE и так далее для всех грамматических символов. Итак, как мне реализовать эти структуры? Нужно ли мне создавать некоторую структуру для каждого символа грамматики, и она должна быть глобальной для области действия файла?
p.s. возможно, это не лучшая реализация компилятора, это просто требование для назначения.