首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成的xtext方法在生成器中出错。

生成的xtext方法在生成器中出错。
EN

Stack Overflow用户
提问于 2018-08-30 12:01:59
回答 1查看 67关注 0票数 0

早上好,我是新来的xtext。我为我的dsl编写了语法,在genrator中,在模型中生成的方法给出了错误的结果:错误的语法片段是:特性:

代码语言:javascript
复制
'Feature' name=ID '{'
    'verb' verb= [Activity]
    'objects' '('(classes+=[Class] (','classes+=[Class])*)?')'
    'common' '('(common+=[Feature] (','common+=[Feature])*)?')'     
    'optional' '('(optional+=[Feature] (','optional+=[Feature])*)?')'
    'variabilities' '(' (variabilities+=[FeatureVariability] (','variabilities+=FeatureVariability])*)?')'  
    'generalization' '('(generalization+=[Feature] (','generalization+=Feature])*)?')'      
 '}';

然后具有以下特性的have模型:

特征f2{

代码语言:javascript
复制
         verb act1
         objects (C4, C3)
         common()
         optional(f32, f31)
         variabilities()    
         generalization()
        }

特征f3{

代码语言:javascript
复制
         verb act1
         objects (C1, C2, C3)
         common()
         optional(f31, f32)
         variabilities()    
         generalization()
    } 

Feature f31{


         verb act2
         objects (C3)
         common()
         optional()
         variabilities()    
         generalization()
    }


Feature f32{
         verb act1
         objects (C1, C2, C3)
         common()
         optional()
         variabilities()    
         generalization()
    }

特征f4{

代码语言:javascript
复制
         verb act1
         objects (C1, C2, C3)
         common()
         optional(f32, f31)
         variabilities()    
         generalization()
    }

特征f1{

代码语言:javascript
复制
         verb act1
         objects (C1, C4)
         common(f2)
         optional(f31)
         variabilities()          
         generalization()}    

当我显示功能名称时,common‘size,可选

大小选项大小,选项包含,我有以下结果:

特征名称:F2,通用大小:2通用featuresf32,f31

特征名称:F2,大小可选:2个可选的featuresf32,f31

特征名称:f3,通用大小:2通用featuresf31,f32

特征名称:f3,大小可选:2可选featuresf31,f32

特征名称:f31,通用大小:0

特征名称:f31,可选大小:0可选功能

特征名称:f32,通用大小:0

特征名称:f32,可选大小:0可选功能

特征名称:f4,通用大小:2通用featuresf32,f31

特征名称:f4,大小可选:2可选featuresf32,f31

特征名称:f1,通用大小:2通用featuresf2,f31

特征名称:f1,大小可选:2个可选的featuresf2,f31

但当我用Junit测试的时候,一切都没问题。谢谢你的帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-31 15:11:36

如果您使用验证器和生成器中的功能列表,请确保不实际执行model2model转换。

feature.common + feature.optional

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52096597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档