[英]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.