Реализация языка программирования Оберон на базе PascalABC.NET: Основные этапы разработки: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Строка 38: Строка 38:
  BEGIN  
  BEGIN  
  END Decls.
  END Decls.
=== Типы ===

Версия от 12:23, 30 июля 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.

Типы