问题标签 [gforth]

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 回答
278 浏览

forth - Word 类似于“parse-word”,但用于将整数压入堆栈

我想实现一个用于在套接字对象上设置端口号的DSL 。

我希望 DSL 遵循这个 API 来设置主机端口号:

如果这是一个字符串操作(例如host: localhost),我可以使用parse-word. 不过这并不理想,因为 Forth 非常擅长解析数字,而重新发明轮子是一件坏事。

Forth 中是否有任何标准单词获取输入字符串的第一项,将其解析为数字并将其压入堆栈?

0 投票
2 回答
468 浏览

computer-science - 如何在 Forth 中实现 Y-combinator?

Rosetta Code上,Forth 中没有 Y-combinator 的实现。

我怎样才能做到这一点?如何在 Forth 中使用 Y-combinator?为什么?

0 投票
1 回答
214 浏览

forth - 我如何“扩展”外部解释器?

在不同的 Forths 中,如何自定义解释器?

例如,在 SP-Forth 中,解释器总是写入堆栈内容,并且总是在打印之前生成 CR/LF:

我想看看:

通常,我希望能够定义新的数据输入,例如

然后解释器应该存储我在扩展中定义的数据。此外,在出现错误时,我希望重置软堆栈和变量。

有任何想法吗?

0 投票
0 回答
103 浏览

android - 如何在 Gforth for Android 中定义静态 JNI 类成员?

Gforth for Android 有一个 Unix/jni-helper.fs 文件,它定义了getclip?从剪贴板读取文本的单词。我想实现putclip将文本放在 Android 剪贴板上。为此,我需要访问静态 ClipData::newPlainText() 成员。如何在 Gforth 的对象系统中定义静态 JNI 成员?

0 投票
1 回答
201 浏览

forth - 在 Forth 中使用常量命名硬件地址

我在使用以下 Forth 代码时遇到了一些问题:

现在我想将“1”写入快门地址:

快门打开

这是我的错误:

我错过了什么吗?

0 投票
1 回答
262 浏览

recursion - 四、Hofstadter Q 序列与递归

我正在尝试使用递归定义来实现Hofstadter 的 Q 序列:

我得到了错误的结果n > 3。这是我到目前为止所拥有的:

在线尝试:http: //ideone.com/PmnJRO(编辑:现在有固定、正确的实现)

我认为它不起作用,因为在每次调用Qwhere nis greater than后都会向堆栈添加值2,从而-rot无法按预期工作。

是否有一个简单的调整来完成这项工作?还是我需要使用不同的方法,也许使用变量 for n

OEIS:A005185

0 投票
1 回答
275 浏览

forth - Forth 中用于大排序数组的快速排序问题

我使用 Quicksort 对整数进行排序,这些整数是由堆栈上的条目表示的集合中的元素。它可以正常工作,除非它必须对碰巧已经排序的更大(大约 10,000 个元素)集合进行排序。

它会在返回堆栈中溢出吗?程序几乎不可能跟踪数组何时排序,那么如何解决这个问题呢?

0 投票
0 回答
149 浏览

forth - Gforth 中的 pthread 在哪里?

我正在尝试在 Gforth 中加载PThreads模块。它似乎不可用。

我正在运行 Gforth 0.7.0。我需要做些什么来加载它吗?它仅在较新版本中可用吗?

经过一番谷歌搜索,似乎它的版本可能高于 0.7.0

0 投票
1 回答
1150 浏览

forth - 如何在 Forth 中列出当前的单词集

是否可以获得当前在 Forth 中定义的所有单词的列表(例如在Gforth中)?

0 投票
0 回答
100 浏览

tail-call-optimization - Gforth 是否优化了正确的尾调用?

我有以下(有点低效)代码:

据我了解,RECURSEs inrand-n-bitsones-recshould 都是正确的尾调用。然而,当我要求 Gforth 做 时10 rand-n-bits,我溢出了返回堆栈。Gforth 是否没有优化正确的尾调用,或者我只是没有正确执行此操作?