我已经开始使用Eclipse,我还是一个初学者。所以我想从这里得到一些帮助。我使用Xtext读取DSL。然后我想用我已经用GMF定义的图来展示这个实例。但是Xtext中的ecore(MFilesystem)和GMF中的ecore(Filesystem)是不同的。因此,我使用Xtend更改模型并创建EObject(文件系统)。但是我不知道GMF是如何使用Xtent中的资源来创建一个图的。我在这里表明我的问题:
1:我已经在xtext(grammar)中定义了ecore:
grammar org.xtext.Filesystem with org.eclipse.xtext.common.Terminals
generate filesystem "http://www.xtext.org/Filesystem"
MFilesystem:
(mfiles+=MFile | mfolder+=MFolder)* ;
MFile:
'myfile' name=ID ';'
;
MFolder:
'myfolder' name = ID ';'
;
2:我已经定义了基因改造食品中的ecore
package org.xtext.generator
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.xtext.generator.IFileSystemAccess
import org.eclipse.xtext.generator.IGenerator
import org.gmf.filesystem.filesystem.Filesystem
import org.gmf.filesystem.filesystem.FilesystemFactory
import org.gmf.filesystem.filesystem.impl.FilesystemFactoryImpl
import org.xtext.filesystem.MFile
import org.xtext.filesystem.MFolder
class FilesystemGenerator implements IGenerator {
Filesystem myfilesystem
FilesystemFactory myfilesystemFactory
override void doGenerate(Resource resource, IFileSystemAccess fsa) {
//TODO implement me
val ast = resource.contents.get(0)
myfilesystemFactory = new FilesystemFactoryImpl()
myfilesystem = myfilesystemFactory.createFilesystem()
val fi = myfilesystemFactory.createFile()
var astFi = (ast.eContents.get(0)) as MFile
fi.name = astFi.name
val fo = myfilesystemFactory.createFolder()
var astFo = (ast.eContents.get(1)) as MFolder
fo.name = astFo.name
}
}
多谢了。
Xtext指令
generate filesystem "http://www.xtext.org/Filesystem"
生成新的元模型,而不是导入现有的元模型。相反,请指定
import "platform:/resource/org.gmf.filesystem/model/filesystem.ecore"
引用您的GMF编辑器正在使用的元模型。更多信息请看这篇文章。
我正在尝试使用xText和xtendbuilding与gradle创建第一个项目。 我按照xText文档中的指导创建了语法,还创建了xtend生成器。 在eclipse中,代码按预期生成到src-gen文件夹。 当我创建gradle脚本时,也遵循http://xtext.github.io/xtext-gradle-plugin/xtext-builder.html来构建我的代码,而不是在它生成的
我是Xtext和Xtend的新手,正在尝试使用Xtext文档中的Xtext教程学习Xtext。我正在使用Xtext 2.14在Java10下运行Eclipse光子。我刚开始学习扩展教程,很早就遇到了一个问题。以下是我尝试使用代码生成器的代码: 这是我的语法文件: 我的问题是Eclipse说@Inject注释有问题,它说,这是在一个Eclipse Xtext项目中根据教程中的说明生成的。 我该如何从
我已经用Xtext 2.12编写了一个DSL,我的Xted2.12代码生成器从中产生了Java8的代码。我正在使用Eclipse Oxygen.3a。我从创建一个Xtext项目作为Eclipse插件开始,一切都很好,但是我现在希望一切都由Gradle构建。为此,我已经将Gradle性质添加到我的Xtext项目中,并启动了“gradle init”来生成build.gradle和settings.g
到目前为止我得到的是: 知道我做错了什么吗?谢谢!
使用具有以下初始化的创建的等效版本是什么?
问题内容: 我正在运行一个网站,并且有一个计分系统,可为您提供玩游戏次数的积分。 它使用散列来证明http请求评分的完整性,因此用户无法更改任何内容,但是正如我担心的那样,有人发现他们不需要更改它,他们只需要获得高分并复制http请求,标头和所有。 以前,我被禁止防御此攻击,因为它被认为不太可能。但是,既然已经发生,我可以。http请求源自Flash游戏,然后由php验证,然后php将其输入数据库