<<
>>

Добавление записей

Конечно, заполнение таблицы напрямую – довольно плохая практика и она не сможет хорошо нам послужить в будущем. То, что нам нужно, это процедура, добавляющая записи в таблицу. В то же самое время мы знаем, что нам будет необходимо тестировать таблицу для проверки, что мы не объявляем повторно переменную, которая уже используется (что легко может случиться при наличии всего 26 вариантов!).

Для поддержки всего это введите следующие новые процедуры:

{–}

{ Report Type of a Variable }

function TypeOf(N: char): char;

begin

TypeOf := ST[N];

end;

{–}

{ Report if a Variable is in the Table }

function InTable(N: char): boolean;

begin

InTable := TypeOf(N) '?';

end;

{–}

{ Check for a Duplicate Variable Name }

procedure CheckDup(N: char);

begin

if InTable(N) then Abort('Duplicate Name ' + N);

end;

{–}

{ Add Entry to Table }

procedure AddEntry(N, T: char);

begin

CheckDup(N);

ST[N] := T;

end;

{–}

Теперь измените три строки в основной программе следующим образом:

AddEntry('A', 'a');

AddEntry('P', 'b');

AddEntry('X', 'c');

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

<< | >>
Источник: Креншоу Джек. Давайте создадим компилятор!. 1999

Еще по теме Добавление записей:

  1. 2.2.2. Налог на добавленную стоимость
  2. 1.5.2. Налог на добавленную стоимость
  3. 10.8.1. Техника записи импровизаций
  4. ЗАВЕДИТЕ ПРИВЫЧКУ К ЗАПИСИ
  5. Глава первая Познакомьтесь с Крайоном Начало записей...
  6. Репортаж в записи
  7. Дети о взрослых из записей Д.С.
  8. Полторы дыры из записей Д.С.
  9. Стирание записи изображения и звука
  10. Упражнение ЗАПИСИ ДЛЯ ИСПРАВЛЕНИЯ КОНТРАКТА ДУШИ
  11. Прослушивание магнитофонной записи своего голоса проявляет детскую боязнь оказаться недостаточно хорошим.
  12. Врата настежь - налог на удобство из записей доктора Кстонова
  13. Очищение Старых Лемурийских Записей На рассвете Новой Эры на Земле
  14. Рассказывает потомственный мастер-кузнец Иван Николаевич Мельников, доживший до 99 лет (по моей давней записи).
  15. § 3. Средства записи и средства связи
  16. § 8 Церковная форма брака в России. – Значение договора об обручении. – Венчание и предварительные формальности. – Оглашение и обыск. – Метрические записи. – Доказательства брака и брачного состояния. – Спор о незаконности брака.
  17. Статья 453. Использование исполнения
  18. §8. АКТЫ ГРАЖДАНСКОГО СОСТОЯНИЯ
  19. ПРИЛОЖЕНИЯ