Структура компилятора PascalABC.NET

Слайд 2

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

Синтаксическое дерево программы
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

Слайд 3

GOLD Parser Builder Grammar Oriented Language Developer. http://www.devincook.com/GOLDParser/ ANSI C C#

GOLD 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

Слайд 4