ДОБАВЛЕНИЕ ЗАПИСЕЙ
Конечно, заполнение таблицы напрямую - довольно плохая практика и она не сможет хорошо нам послужить в будущем. То, что нам нужно, это процедура, добавляющая записи в таблицу. В то же самое время мы знаем, что нам будет необходимо тестировать таблицу для проверки, что мы не объявляем повторно переменную, которая уже используется (что легко может случиться при наличии всего 26 вариантов!). Для поддержки всего это введите следующие новые процедуры:
Code: |
{ 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');
и запустите программу снова. Работает? Тогда у нас есть подпрограммы таблицы идентификаторов, необходимые для поддержки нашей работы с типами. В следующем разделе мы начнем их использовать на практике.
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!