问题标签 [xbase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
132 浏览

xtext - 如何使用 JvmModelInferrer 为 Xbase XExpression 生成 Java 代码?

我正在尝试做我能想到的最简单的示例来使用 Xbase 和 JvmModelInferrer,而不是编写代码生成器。我已经减少了 JVM 语言教程,但我无法从 XExpression(或 XBlockExpression)获得正确的 Java 代码。我看过这样的答案:-

如何从 XExpression 获取 JvmModelInferrer 方法体并附加样板代码

我目前得到的具体错误是对于像 2+2 这样的表达式,我生成的代码是:-

return 2./* name is null */;

我的语法是:-

我的 JvmModelInferrer 是:-

对于输入: -

生成的代码是:-

我是在犯一些完全基本的错误还是有一些基本的误解?

我正在使用 Windows 10、Eclipse 2019-12、Xtext 2.20.0、Coretto JVM

任何帮助,将不胜感激。

0 投票
1 回答
65 浏览

decimal - 将变量转换为十进制 XBASE

有一个包含“000000017733”之类的值的变量。- 需要将其转换为 '000000177,33' - 然后与其他变量相加。- 然后再次将其转换为看起来像(例如)'000000008921'的字符串

XBASE

任何人都可以帮忙吗?

类似于:**变量 VGCA = 77,33 TOT = '000000017733'

** 将 TOT 转换为 177,33

** 做需要的操作 FINALV = TOT - VCGA

** 将 FINALV 从 100,00 重新转换为 000000010000

0 投票
0 回答
60 浏览

xtext - 困惑如何用 xbase 支持数组

我希望可以正常使用数组,例如:a [1]。 xbase 似乎不支持数组语法,所以我自己定义了这个。但是这个任务压倒了我的头脑。谢谢。

错误(211):../org.eclipse.xtext.example.domainmodel/src-gen/org/eclipse/xtext/example/domainmodel/parser/antlr/internal/InternalDomainmodel.g:576:2:[致命]规则由于可从 alts 2,3 访问递归规则调用,ruleXExpressionOrVarDeclaration 具有非 LL(*) 决策。通过左分解或使用句法谓词或使用 backtrack=true 选项来解决。

0 投票
1 回答
110 浏览

xtext - Xtext:在 DSL 文件中使用生成的类,缺少类型的问题

问题:我如何配置 Xtext 和 Xbase 以便在我的 DSL 文件(具有 DSL 扩展名的文件,“.myx”)中使用 JvmModelInferrer 尚未生成的类?

这是语言语法:

这是我想要达到的目标(test.myx):

所以 dsl 文件看起来像是为 Resource 类定义了一个静态方法。但实际上,必须有额外的参数应该传递给 Resource,在我的例子中它们纯粹是样板,这就是为什么我不想每次都将它们传递给“create”。我希望生成的文件如何实现:

这样我就有点作弊了。我有一个具有类名称的变量,并且在客户端代码中,当他们实际上只是使用一个命名为类的构建器时,它们看起来像是使用静态方法。这是制作外观相似的文件的 JvmModelInferrer:

我用这种方法面临的问题:

显示错误的编辑图片

所以似乎有些链接失败了,但我不明白我应该做什么来解决这个问题,我应该覆盖哪些绑定以及如何覆盖。

任何帮助,将不胜感激。

UPD。用可编译的 ModelInferrer 更新了描述(对不起)。当我尝试使用 watch 块的 XBlockExpression 为 Model 类中的方法生成 Java 代码时,就会出现问题。所以如果我有这样的 DSL 文件:

并且还使用 Inferrer 中的 Anime 分支,就会发生所描述的问题。如果我有相同的文件并且不使用 Anime 分支(这样注释掉):

那么没有问题,但我需要生成该方法。

0 投票
0 回答
23 浏览

xtext - 无法解析 JvmTypeReference

我正在使用 XText 创建一个适用于 Java 类的 DSL。我创建了一个元模型,其中包含对现有 Java 类的 JvmTypeReference(我只对类感兴趣,但我尝试过 JvmType 和 JvmGenericType,但无济于事)。在验证器(其超类型是 XbaseValidator)中,我可以解析这些对 LightweightTypeReferences 的引用,然后以这种方式访问​​它们的属性(超类型、qualifiedName 等)。但是,在代码中的其他任何地方我都不能这样做,即将 JvmTypeReference 解析为有用的资源,因为我无法访问 XbaseValidator 方法。

在 XbaseValidator 的子类之外的任何地方使用 JvmTypeReferences 的预期方式是什么?

0 投票
0 回答
21 浏览

c# - Thinstuff多用户activex操作问题

我们公司使用 Alaska Xbase 编程语言,我们正在使用一个 activex 控件在我们的软件中显示 pdf 文件(activex 是用 C# 编写的,但它是闭源的,开发人员不再维护它)。

当我们的一位客户通过 Thinstuff 使用我们的软件,而更多人使用 pdf 查看器时,我们的软件会因 Windows 错误而崩溃。

错误类型1:SPdf.ocx(这是activex的文件)中的模块错误,错误代码是c0000005,这是一个访问冲突错误。

错误类型2:shell.dll中的模块错误,这是一个bex类型的错误,意味着缓冲区溢出。

错误类型3:当windows刚刚说应用程序停止运行时

这都与pdf查看器相关联,我们相信也与thinstuff相关联(因为这个问题无处不在)。

他们通过 Thinstuff 使用一台服务器机器(一次 8-9 个用户)和所有运行我们软件的用户(每个用户都是不同的实例),当他们更频繁地使用 pdf 查看器 activex 时,应用程序会因上述错误而崩溃.

我想问题可能是thinstuff多次加载activex?或者只是通常Windows多次加载activex。或者一次,但是当 2 个软件想要访问它一次时,它会给出错误。我们无法调试 activex,它是闭源的。我们能做什么?请给出一些想法。

谢谢!

0 投票
1 回答
18 浏览

python-3.x - sqlite插入函数重复id错误

我正在尝试将 dbf 数据库复制到 sqlite 数据库中我有以下代码

这会加载记录,但无法在 ID 列上插入数据类型不匹配的数据,因为传入的行具有类似的格式

ID:文本字段1:文本

这个函数

表=db['table1']

似乎为表假设一个 int id。有什么方法可以使用表格中的文本 ID 进行插入?

0 投票
2 回答
28 浏览

xml - 如何在 Xbase 中声明一个函数

嗨,这可能是一个奇怪的问题,但我想知道如何在 Xbase 中声明一个函数。

有人告诉我这是如何:

我这样做了:

但它一直说我有语法问题

期待表达。

0 投票
1 回答
28 浏览

curl - 从 CURL 切换到 HTTPIE。等效于 CURL -T

我正在使用集成到 xBase 程序中的 CURL。

我的 curl 命令行包含选项 -T 以将本地文件下载到 CalDAV 日历。我试图在 HTTPIE 中找到它,但没有找到等效的命令。HTTPIE 在 CURL 中有诸如 -T 之类的选项吗?