Объявления
Очевидно на следующем шаге необходимо решить, что мы подразумеваем под объявлением. Я намереваюсь иметь два вида объявлений: переменных и процедур/функций. На верхнем уровне разрешены только глобальные объявления, точно как в C.
Сейчас здесь могут быть только объявления переменных, идентифицируемые по ключевому слову VAR (сокращенно "v").
::= ( )*
::= VAR
Обратите внимание, что так как имеется только один тип переменных, нет необходимости объявлять этот тип. Позднее, для полной версии KISS, мы сможем легко добавить описание типа.
Процедура Prog становится:
{–}
{ Parse and Translate a Program }
procedure Prog;
begin
Match('p');
Header;
TopDecls;
Main;
Match('.');
end;
{–}
Теперь добавьте две новые процедуры:
{–}
{ Process a Data Declaration }
procedure Decl;
begin
Match('v');
GetChar;
end;
{–}
{ Parse and Translate Global Declarations }
procedure TopDecls;
begin
while Look 'b' do
case Look of
'v': Decl;
else Abort('Unrecognized Keyword ''' + Look + '''');
end;
end;
{–}
Заметьте, что на данный момент Decl – просто заглушка. Она не генерирует никакого кода и не обрабатывает список... каждая переменная должна быть в отдельном утверждении VAR.
ОК, теперь у нас может быть любое число объявлений данных, каждое начинается с "v" вместо VAR, перед блоком BEGIN. Попробуйте несколько вариантов и посмотрите, что происходит.
Еще по теме Объявления:
- 3. Объявление гражданина умершим
- 9. Безвестное отсутствие. Объявление гражданина умершим
- Статья 1250. Объявление нотариусом секретного завещания
- Статья 1150. Право на объявление конкурса
- Статья 47. Правовые последствия объявления физического лица умершим
- Параграф 1. Публичное обещание вознаграждения без объявления конкурса
- 4. Последствия явки гражданина, объявленного умершим
- § 5. Признание гражданина безвестное отсутствующим и объявление умершим
- Объявление о «Полярной звезде»
- Статья 46. Объявление физического лица умершим
- § 7. Правоотношения из объявления публичного конкурса (п. 2543-2552)
- § 5. Признание гражданина безвестно отсутствующим и объявление умершим