簡體   English   中英

擴展Xbase類型系統

[英]Extending the Xbase type system

我有這個簡單的DSL,它是從mini-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定義的超類和子類之間的類型一致性?

我花了幾天的時間在外面尋找例子,但我無法動手做一個明確的例子。

預先感謝您的任何提示,幫助!

干杯,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM