问题标签 [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.

0 投票
1 回答
63 浏览

haskell - 解释 GHC 堆配置文件中的悬崖边缘

我需要一些帮助来理解一些 GHC 堆配置文件。我正在为语法框架语言的现有编译器开发一种新的输出格式。

分析当前编译器版本的正常运行如下所示:

PGF 的堆配置文件

通过我所做的更改,它现在看起来像这样:

LPGF 的堆配置文件

所以这个新版本比前一个版本使用了更多的时间和内存,我的目标是尽可能减少这些。

  • 两张图的第一部分看起来一样,编译器的这个阶段(即读取二进制文件)没有被触及,因此我希望它看起来相同。
  • 之后,图表就大不相同了。我觉得图 #2 中巨大的悬崖边缘在告诉我一些事情,但我不太清楚是什么
  • 图 #2 (24956) 后半部分的蓝色区域是我新添加的代码。由于我没有积极优化该代码,我希望那里有改进的余地。但是这些不同的图表是否给出了关于懒惰/严格性或进一步调查的线索?
0 投票
1 回答
34 浏览

gf - VQ和V2Q之间的区别

要输出一个带有宾语的动词短语,那么 RGL 似乎只提供了两个功能:

而在这两个功能中,动词类型又分为两个不同的类别。但是该类型V2Q有一个参数,需要在句子中添加介词。为了生成句子Tell me who I am,我使用了以下代码:

上面的代码可以毫无问题地生成我想要的输出。所以我的问题是,介词被添加到动词有什么原因V2Q?或者这个输出是以错误的方式产生的?

0 投票
1 回答
40 浏览

gf - 从具体文件实现受限多态性

假设我想写一个打招呼的代码,但出于某种原因,我不想打招呼一个叫 John 的人,我想让 GF 生成这种句子。

抽象版

我知道这种结果可以从抽象文件中实现,例如:GreetingFromAbstract.gf

具体文件是这样的: GreetingFromAbstractEng.gf

但是,假设出于某种原因,我不想从抽象文件而是从具体文件中做到这一点。我希望写名字的人决定向哪个人打招呼,哪个不打招呼。

具体版本

根据我的问题,我写了这段代码:GreetingFromConcrete.gf

具体:GreetingFromConcreteEng.gf

问题

我的解决方案显然不是最好的解决方案,因为它会导致在使用 command 时生成 50% 的空句子gr | l,参数越大,情况越糟Relation

问题

1-有没有办法强制抽象只给出具体文件中匹配的参数?
2-或者是否有任何可能的方法要求抽象在与具体不匹配时提供另一个参数,而不是仅使用生成空行nonExist

0 投票
2 回答
46 浏览

gf - 记录生成大尺寸编译文件

我创建了一个包含不同类型类别的记录,但这导致 GFgfo在编译超过 10 分钟后生成巨大的文件 (150Mb) 甚至在某些语言中崩溃。我的记录只包含 9 个元素(8 个不同的类别)。

以下面的小例子为例,假设我想使用 GF 创建一个自我介绍文本。为了生成这样的文本,我创建了一条记录并将其命名为 Person。Person 记录将包含不同的信息,例如姓名、年龄、地址、爱好、人的特征等。仅创建这个小记录就使 GF 生成了一个 1.28 Mb 的gfo文件,编译它需要超过一秒钟的时间。

这是我的代码

摘要test.gf

混凝土TestSpa.gf

我注意到某些类别在添加到一个记录中时会导致运行时间变长,但其他类别不会产生太大影响。

问题

1-除了使用记录将不同的类别值保持在一起,但不使用抽象的依赖类型之外,还有其他方法吗?

2-有没有办法解决这个问题,让GF知道记录中的这些值都是需要的,但它们不会出现在每个句子中?

0 投票
1 回答
73 浏览

gf - 如何为最新版本的 GF 安装 RGL?

请问如何在Mac OS系统上安装最新版GF的RGL?我曾尝试学习 GFSS2021 课程,但没有找到解决方案。嗨,Inariksit,我刚刚在 Github 中尝试了这些方法,但失败了,我选择在终端的一个桌面文件中运行 setup.sh 文件,并将 Languages.csv 文件添加到同一个文件中,但我没有'不明白错误:

  • 将 --dest=... 标志传递给此脚本
  • 设置 GF_LIB_PATH 环境变量
  • 从 gf-core 存储库编译并安装 GF(必须与 gf-rgl 在同一目录中)如果我没有误解,我应该选择其中一种方法,但我仍然不知道如何安装此 RGL,并且我被困在这里。在此处输入图像描述

我已经尝试过你的方法,将 GF_LIB_PATH 添加到 .bash_profile 的文件中,但我仍然无法运行 ConstructionChi.gf 文件。你能帮我看看我添加路径的方式是否正确吗?

在此处输入图像描述

0 投票
1 回答
36 浏览

gf - 在 PGF 中计算混凝土

我有这两个文件在 GF shell 中运行得非常好

我的GF代码

测试.gf

测试工程.gf

我在 GF shell 中运行它们的方式如下:

这给出了预期的结果。

我的 PGF 代码

然后我使用 Linux 命令将该文件转换为 `.pgf' 格式

输出这两个文件Test.hsTest.pgf

问题

我的 Python 代码

测试.py

当我运行上面的代码时,我得到以下输出:

为什么python输出a [dog_N]而不是a dog

0 投票
1 回答
25 浏览

gf - GF中别名“@”是什么意思?

在此操作中,我在 RGL 中遇到了别名符号:

它是什么意思,它有什么用?

0 投票
1 回答
30 浏览

gf - GF 上动词短语的连词

问题

我正在尝试 It's sunny on Monday and rainy on Tuesday使用 RGL 在 GF 上生成句子。我在 RGL 页面上寻找了一种生成这句话的方法,但我找不到任何可能对此有所帮助的方法。在GitHubExtend.gf上查看了有关 GF 的更多信息,我发现了这三行:

乍一看,它们似乎很有希望,但是当我尝试在真实代码上实现它们时,似乎我误用了[VPS]. 我的代码:

但是我遇到了这个错误,这显然是定义变量和预期变量的问题。

问题

正确的使用方法是[VPS]什么?