Разбор YAR построен на восходящем синтаксическом анализаторе. И при использовании
символов < и > для указания параметров типов создаются конфликты в состояниях анализатора. После некоторых манипуляций в синтаксический анализатор YAR добавлен механизм для устранения таких конфликтов. То есть выражения вида TList < tlist < t,z,u >,TList < t,z,tlist < z > > > и A < 5 будут успешно разрешены.
Механизм проверки типов также корректно проверят unbound параметры, считая их только самосовместимыми.
function abc < t,u,z >(a:integer;b:U):Z;
c,d:T;
e:Z;
f:U;
begin
c:=d;
f:=b;
result:=e;
end;
Кодогенератор и BackEnd для .NET будет расширен, как только будет закончена работа в front-end части.
Комментариев нет:
Отправить комментарий