Расширение системы типов Xbase - PullRequest
0 голосов
/ 05 июля 2018

У меня есть этот простой DSL, вдохновленный примером мини-Java, но основанный на XBase. Смотрите ниже, чтобы быстро взглянуть на мою грамматику.

Package returns Package:
{Package}
'package'
name = QualifiedName
(importSection = XImportSection)?
(classifiers += Classifier)*
;

Classifier returns Classifier : 
Class 
| DataType 
| Enum
;

Class returns Class:
{Class}
((abstract?='abstract'? 'class') | interface?= 'interface') name = ID
('<' typeParameters+=JvmTypeParameter (',' 
typeParameters+=JvmTypeParameter)* '>')?
('extends' superType=JvmParameterizedTypeReference)?
'{'
   (members+=Member)*
'}'
 ; ...

Мой вопрос таков:

Как я могу расширить систему типов XBase для распознавания соответствия типов между суперклассом и подклассом, определенным с помощью этого простого DSL?!

Я потратил пару дней на поиски примеров, но я не мог взять в руки один четкий пример.

Заранее спасибо за любую подсказку, помогите!

Приветствия

1 Ответ

0 голосов
/ 06 июля 2018
...