Структура компилятора PascalABC.NET презентация

Синтаксическое дерево программы 161 класс на языке C# for i:=0 to 10 do begin writeln(i); z:=z+1; end; for_node cycle_type==to ident name==i int_const value==0 init_value loop_variable statement_list body procedure_call assign

Слайд 1Контроллер парсеров
Parsers.dll
Структура компилятора PascalABC.NET
Синтаксическое дерево
 SyntaxTree.dll
Семантическое дерево
 SemanticTree.dll
Контроллер генераторов кода
CodeGen.dll
PascalABC.NET
PascalABCParser.dll

Конвертор синтаксического
дерева

в семантическое
TreeConverter.dll

Интерфейс ТС

Конвертор

Таблица символов(ТС)

доступ к .NET


Oberon2
Oberon2Parser.dll

.NET
dotNETGen.dll

WIN32
Win32Gen.dll

Ткачук А.
группа 4.1

Водолазов Н.
магистр 1 год

Бондарев И.
магистр 1 год




Управляющий блок
 Compiler.dll

Алгоритм компиляции модулей



Консольная оболочка
PABCNETC.exe

Визуальная оболочка
PascalABC.exe

Контроль ошибок


Слайд 2Синтаксическое дерево программы
161 класс на языке C#
for i:=0 to 10 do

begin
writeln(i);
z:=z+1;
end;

for_node
cycle_type==to

ident
name==i

int_const
value==0

init_value

loop_variable

statement_list

body

procedure_call

assign

ident
name==writeln

deref_value

parametrs

expression_list

int_const
value==0

finish_value

ident
name==i

ident
name==z

to

from

bin_expr
oper==plus

ident
name==z

int_const
value==1

left

right



Слайд 3GOLD Parser Builder Grammar Oriented Language Developer. http://www.devincook.com/GOLDParser/
ANSI C
C#
C++
Delphi

Pascal
Java
Python
Visual Basic
All .NET

languages

поддерживаемые языки

Особенности языка PascalABC.NET
Модули могут быть описаны без ключевых слов interface implementation
Тела методов могут быть описаны как в классе так и вне класса
В языке принята структурная эквивалентность типов, поэтому типы можно описывать в заголовках методов и объявлениях переменных
Добавлено ключевое слово using позволяющее подключать пространства имен из .NET
Добавлена возможность перегрузки всех операторов
Убраны ключевые слова message и низкоуровневые конструкции такие как absolute


Слайд 5Результатами моей работы являются:

Создание иерархии классов синтаксического дерева.
Модификация процесса создания парсеров

в системе GOLDParserBuilder
Генерация синтаксического дерева по коду программ написанных на языках PascalABC.NET и Oberon2.
Адаптация грамматики языка Delphi7 под язык PascalABC.NET
Модификация таблицы символов компилятора для проекта PascalABC.NET
Алгоритмы поиска в таблице символов

Алгоритм компиляции модулей в стиле Delphi

Результат работы


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика