Громадянам України

Що таке таблиця символів у асемблері?

Таблиця символів містить інформацію для пошуку та переміщення символьних визначень і посилань. Асемблер створює розділ таблиці символів для об'єктного файлу. Він робить запис у таблиці символів для кожного символу, який визначено або на який посилається у вхідному файлі та необхідний під час зв’язування.

Таблиця символів — це важлива структура даних, створена та підтримувана компіляторами для зберігання інформації про виникнення різних сутностей, таких як імена змінних, імена функцій, об’єктів, класів, інтерфейсів тощо. Таблиця символів використовується як для аналізу, так і для синтезу частини компілятора.

Символ може представляти такі речі, як початкова адреса функції, змінної, розділу або абсолютного цілого числа (наприклад, розмір стопки). Символи визначаються в асемблері шляхом додавання мітки або директиви, наприклад . встановити . екв.

Таблиця символів є життєво важлива структура даних, створена та підтримувана компілятором для відстеження семантики змінних. Таблиця символів зберігає інформацію про область і необхідні деталі про імена та екземпляри кількох сутностей, наприклад імена змінних і функцій, класів, об’єктів тощо.

У MARIE кожна змінна є 16-бітним цілим числом. Наприкінці проходу 1 асемблер зазначив адреси, які потрібно призначити кожній «змінній» і. зареєстрував імена у своїй таблиці символів, яка є використовується як частина проходження 2 для пов’язування кожної мітки. зі своєю унікальною адресою.

Таблиця символів є зазвичай скомпільований у виконуваний бінарний файл. Двійковий файл зазвичай має формат ELF (для систем Linux). Таблиці символів включені до двійкового файлу ELF, спеціально для зіставлення адрес із назвами функцій та іменами об’єктів.