首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >xtext importURI外部文件

xtext importURI外部文件
EN

Stack Overflow用户
提问于 2013-06-11 08:09:56
回答 2查看 1.6K关注 0票数 0

我对导入全局作用域的工作原理非常迷惑。我正在为一种结构良好的语言编写一个使用xtext的解析器,我不能依赖于工作空间或项目概念。在我的语言中,我有包含语句,这些语句可以具有另一个文件的相对或绝对路径。我需要能够引用这个文件中定义的对象。我试过使用importURI,但它不起作用。我所尝试的就是添加这个规则:

代码语言:javascript
运行
复制
Include:
    'INCLUDE' '='  importURI=STRING ';'
;

并在以下部分中更改了MWE2文件:

代码语言:javascript
运行
复制
   // scoping and exporting API
                 fragment = scoping.ImportURIScopingFragment {}
                // fragment = exporting.SimpleNamesFragment {}

                // scoping and exporting API
                fragment = scoping.ImportNamespacesScopingFragment {}
                fragment = exporting.QualifiedNamesFragment {}

但这在我的编辑器中没有任何效果。我仍然可以引用在每个具有相同扩展名的文件中定义的对象,而不需要使用include语句,并且我仍然不能包含项目之外的文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-18 05:51:10

解决方案是将这两个从工作流中删除。

代码语言:javascript
运行
复制
 // provides the necessary bindings for java types integration
 // fragment = types.TypesGeneratorFragment {}

 // generates the required bindings only if the grammar inherits from Xbase
 //fragment = xbase.XbaseGeneratorFragment {}
票数 0
EN

Stack Overflow用户

发布于 2013-06-11 16:19:54

您必须删除ImportNamespacesScopingFragment。它将语言配置为使用基于名称的作用域,而不是基于文件的作用域。

您可能还想深入研究IContainer.Manager,默认情况下,它使用基于Eclipse工作区和项目概念的实现进行配置。

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

https://stackoverflow.com/questions/17034734

复制
相关文章

相似问题

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