Проверка правильности семантики и генерация кода требуют знания характеристик идентификаторов, констант, имён функций (библиотечных и внеших) и т.д.
Определение 5.1. Таблица символов - структура данных, которая применяется для хранения информации о характеристиках символов [1].
В этом разделе в качестве символов рассмотрим идентификаторы, организация которых в таблице символов представляет наибольший интерес.
Над таблицей символов должны выполняться как минимум две операции: вставка и поиск. Вставка добавляет новую запись в таблицу. Поиск возвращает индекс записи для искомой строки или признак отсутствия строки, если она не найдена.
Операция поиска требует большого внимания так как применяется многократно и может вызывать существенные затраты времени, снижая тем самым скорость компиляции.
Атрибутами или характеристиками для идентификаторов - имён переменных могут быть различные семантические категории, например:
· тип (int, real, char , …);
· вид (простая переменная , массив , структура и т. д.);
· адрес или ссылка на адрес переменной;
и другие.