Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Задание 1. Построить дерево, содержащее информацию об идентификаторах анализируемой компилятором программы.
Каждая вершина дерева содержит следующую информацию об идентификаторе:
Имя идентификатора. Значение хеш-функции, вычисленной по имени идентификатора. Способ использования идентификатора – одно из значений перечислимого типа (CLASSES, CONSTS, VARS, METHODS). Информация о типе идентификатора – одно из значений перечислимого типа (int_type, float_type, bool_type, char_type, string_type, class_type). Если идентификатор является константой (способ использования CONSTS), то в вершине дерева необходимо хранить значение этой константы. Если идентификатор является методом (способ использования METHODS), то необходимо хранить информацию о линейном списке параметров метода: тип параметра, способ передачи параметра (по значению, по ссылке, out). Ссылки на левое и правое поддеревья.Вершины дерева упорядочиваются в зависимости от значения хэш-функции вычисленной по имени идентификатора.
Шаги выполнения задания:
Создать обобщенный класс/структуру «Бинарное дерево». Создать класс/структуру «Идентификатор». Создать 7-10 экземпляров класса/структуры «Дерево идентификаторов», содержащих информацию о различных идентификаторах. В качестве «бонуса» написать модуль, позволяющий выполнять парсинг файла, в котором описаны идентификаторы исходной программы. Пример структуры файла приведен ниже.Структура файла с описанием идентификаторов:
int a;
const float c = 10;
class MyClass;
string method1 (int x1, ref char x2, out float x3);
…
Пример дерева для данного фрагмента исходной программы представлен ниже:



