问题标签 [gf]
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.
gf - 应用 Predef.eqStr:需要一个字符串类型的值
我试图编写一个带有不确定数量参数的操作,因此如果用户选择不填充其中一个参数,那么操作员会更改其功能。
但是用这种方法编写每个新的未确定参数都会产生大量的重载。所以我用了这个方法
当我尝试第二种方法时,程序继续报告: Applying Predef.eqStr: Expected a value of type String, got VP (VGen 1 []) (LIdent(Id{rawId2utf8 = "mdfir"}))
有没有办法解决这个问题,或者有更好的方法来处理不确定数量的参数?
谢谢
gf - 英语中的随机短语生成和性别/人类一致性
我正在尝试为莫尔斯电码培训师生成随机的英语练习短语。我想弄清楚如何用英语处理性别协议。我希望能够生成诸如“他是儿子”、“她是母亲”、“这是一扇门”之类的短语,但要避免诸如“他是母亲”、“她是一扇门”之类的词组, “这是一个父亲”。“他是母亲”混合了性别,“她是一扇门”和“它是父亲”这样的句子混合了人类/非人类。似乎在 rgl 中,人类和非人类都有Gender
类型。
有时这种事情是可以接受的,例如“没有人是一座孤岛”这句话。而且,出于某种原因,性别揭露派对经常使用诸如“它是男孩!”之类的短语。但是,我只是想生成训练数据,所以我试图专注于常见用法。
我对语法框架很陌生,所以我可能完全错误地处理这个问题。这是我到目前为止所拥有的,
在Agreement.gf
在AgreementEng.gf
如果我将其加载gf
并运行generate_random | linearize
,它会起作用,但会忽略性别和人性。
我看到DictEng
代词有一些性别/非人类标记,
虽然不是大多数名词,
虽然有些确实有性别标记,
你会如何处理这个问题?
我愿意接受有关本准则任何方面的建议——不仅仅是性别问题。我的总体目标是生成越来越复杂、含糊不清的英语短语。想想 Duo Lingo——但对于摩尔斯电码。我将有一堆训练级别,这些级别建立在以前的级别之上,添加新词汇、更长的句子等。
目前,我不关心非英语语言——这对未来的我来说是个问题。我也不需要支持DictEng
. 潜在的单词和短语列表将被手工整理。
使用目前显示的内容,我将从训练单个单词开始,“他”、“她”、“它”、“是”、“儿子”等。
然后是简单的短语“他是”,“她是”,“它是”。
然后最后像“他是儿子”这样的完整句子。
然后我会添加复数,“我们”,“他们”,“是”,“儿子”等。然后我会单独训练新词。然后是“我们是”,“他们是”等短语。然后是“我们是父亲”的句子。然后我会混合单数和复数的句子。
因此,在语法文件中,我需要生成这些不同类型的训练短语的粒度。
谢谢!
(不确定这是否重要,但我有几十年的 Haskell 经验,并且涉足 Idris 之类的东西。所以我认为我对语法框架语言很好——我的麻烦更多在于理解库(rgl)和大局)。
gf - 在 GF 中扩展限定词
我之前问了一个关于扩展 which_RP 记录的问题,以及在此问题下将相对子句“that”更改为“which”。
最近我开始研究意大利语,每当我使用函数someSg_Det或somePl_Det时,我分别得到以下结果。
根据我对意大利语的了解,我知道对于单数名词qualche albero
是正确的,但对于复数名词,我们必须使用alcune
或alcuni
取决于名词的性别。因此,我尝试将函数somePl_Det扩展为somePlM_Det和somePlF_Det,如下所示:
但是GF编译器一直报这个错误:
扩展缺少变量DiffIta.Case。搜索后,我发现 param Case位于文件DiffRomance.gf中。即使我找到了 DiffRomance.Case但我仍然无法扩展此功能。
您能否解释一下DiffRomance.Case的用法以及扩展此功能的正确方法是什么。谢谢~
gf - GF 中带有限定词的专有名词
我正在尝试在 GF 中生成以下句子:
Jack wants to listen to a Taylor song
但正如我在 RGL 中看到的那样,PN -> NP
这是获得正确名称的唯一解决方案。如何让 GF 输出带有限定词和宾语的专有名词。
另外我想知道为什么在 RGL PN中被称为专有名称而不是专有名词?
gf - mkNP 在 GF 中包含额外的限定符
我正在尝试用意大利语输出以下句子,un anno e mezzo
其中句子是名词短语列表。我的代码:
但是上面代码的输出是un anno ed il mezzo
. 为什么我的il
输出中有确定器?我找不到这个问题背后的原因。谢谢!
gf - 在 GF 中使用分数
我正在尝试将小数和两位数的小数添加到 RGL 中,同时保留mkNumeral或mkDigits之后的名词的原始单数/复数规则。我尝试使用多个名词作为
但是这种方法不适用于所有语言,因为德语eineinhalb
之间没有空格,并且使用aPl_Det
来获取名词的复数可能适用于英语和德语,但不适用于其他语言,例如实际上有一个真实的 aPl_Det
.
因此我尝试扩展一个 NP 并将多个字符串添加到它的 s中,例如跟随
我得到的错误信息如下。符号 (...) 表示还有其他 mkDet 实例,但它们对于这个问题并不重要。
值类型 Str 是什么意思以及如何解决这样的问题?
gf - GF 中西班牙语的虚拟语气
GF 中用于生成西班牙语句子的正确语法树是什么:
a) 包含虚拟语气。
b) 主语也是句子。
一个例子:
me gusta que mi jefe no trabaje hoy
gf - 尝试在 GF 中使用依赖类型时出现语法错误
我正在尝试使用依赖类型,但我陷入了一个似乎找不到原因的语法错误。这是我在具体语法中的第一个 lin 定义。
对于上下文,我一直在阅读 Inari 的嵌入式语法教程,并且我对制作可以从外部调用但实际上不会用于线性化的函数感兴趣,除非我从 Haskell 手动执行。如果您知道实现此目的的更好方法,请告诉我。
我的抽象语法:
具体的:
是因为这是不可能的,还是我做错了我无法找到的事情?
java - 在 Android 中使用外部非 Android Java 库:找不到 .so 文件等
我正在尝试使用语法框架的 Java 绑定构建模板 Android 应用程序(但是,我认为我使用的 Java 代码实际上并不重要。假设我正在尝试使用一些外部非 Android Java Android 应用程序中的代码)。
经过一些试验和错误后,我按照以下步骤使用此外部代码成功构建了一个应用程序:
.jar
为我要使用的库生成一个文件(它被称为jpgf.jar
- 将其复制到
app/libs
- 将其添加为库并验证是否
build.gradle
已更新 - 将它导入我的应用程序
MainActivity
并编写一些使用它的代码
然而,在 Android 开发中,没有什么是容易的。所以我的应用程序,经过很好的编译,在启动时崩溃并出现以下错误:
简而言之,有些.so
文件找不到。现在,我不是 Java 或.so
文件专家,但我知道当我jpgf
使用 dedicated 在我的机器上安装系统范围时Makefile
,会生成一个.so
文件并将其复制到某个位置。我可能幼稚的尝试是获取该.so
文件并将其移动到jniLibs
. 我知道我将它放在正确的文件夹中,因为通过这种方式我设法更改了错误消息,但没有解决问题:此时抱怨是libjpgf.so
64 位而不是 32 位。你打赌,我的机器是 64 位的。
因此,为了帮助我,您可以回答以下两个问题:
- 如何
.so
在 64 位机器上编译 32 位版本的文件?我尝试了一些gcc
选择,但没有帮助 - 我真的需要那个预建
.so
文件吗?我看到其他人只是导入 JAR。我可以不只是这样做(甚至以某种方式导入源代码),并让 Android Studio 以它想要的方式生成它想要的所有资产吗?