Реализация языка программирования Оберон на базе PascalABC.NET: Основные этапы разработки: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Juliet (обсуждение | вклад) |
Juliet (обсуждение | вклад) |
||
Строка 20: | Строка 20: | ||
MODULE Decls | MODULE Decls | ||
BEGIN | BEGIN | ||
END Decls. | |||
// Встречено ':=', а ожидалось '=' | |||
MODULE Decls; | |||
CONST | |||
A := 789; | |||
BEGIN | |||
END Decls. | END Decls. | ||
'''Правильная''' программа: | |||
MODULE Decls; | MODULE Decls; | ||
CONST | CONST |
Версия от 13:08, 28 июля 2010
Знакомство
Знакомство с архитектурой PascalABC.NET.
Текст_программы -> Синтаксическое_дерево -> Семантическое_дерево -> ... -> код
Прочтение этой статьи.
Разбор существующего кода (oberon00.lex and oberon00.y)
Тестирование и разбор основ
Описания
Проверка и корректировка сообщений об ошибках на примере различных ошибочных программ.
Несколько таких программ:
// Dls не совпадает с именем модуля MODULE Decls; BEGIN END Dls. // Встречено BEGIN, а ожидалось ';' MODULE Decls BEGIN END Decls. // Встречено ':=', а ожидалось '=' MODULE Decls; CONST A := 789; BEGIN END Decls.
Правильная программа:
MODULE Decls; CONST A = 789; VAR a, b: INTEGER; f: BOOLEAN; BEGIN END Decls.