【问题标题】:Extending the Xbase type system扩展 Xbase 类型系统
【发布时间】:2018-07-05 15:46:03
【问题描述】:

我有这个简单的 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 定义的超类和子类之间的类型一致性?!

我花了几天时间寻找那里的例子,但我无法找到一个明确的例子。

提前感谢您的任何提示,帮助!

干杯,

【问题讨论】:

  • 类型一致性是什么意思
  • 超(子)类之间的类型一致性是指子类型。我的 DSL 无法将子类 A 及其超类 B 识别为类型一致。

标签: xtext type-systems xbase


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多