问题标签 [forth]

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

ebnf - 用于 while 循环的 Forth 语言 EBNF 规则

可能重复:
用于无限循环或 if 语句的 Forth 语言 EBNF 规则

是否有任何描述 Forth while 循环(或任何其他循环)的EBNF规则?

0 投票
2 回答
1645 浏览

ebnf - Forth 语言 EBNF 规则,用于无限循环或 if 语句

是否有描述 Forth 无限循环或 if 语句的EBNF规则?

0 投票
2 回答
2143 浏览

math - 如何在 Forth 中将两个整数相除并得到浮点数?

我正在寻找一种能够在单精度和双精度之间进行转换的方法。一个例子是将 2 个整数相除并得到一个浮点结果。这怎么可能?

0 投票
4 回答
4795 浏览

c - 如何在用 C 编写的类似 FORTH 的语言解释器中实现 LOOP

我正在用 C 编写一种简单的基于堆栈的语言,并且想知道我应该如何实现某种循环结构和/或前瞻符号。由于此页面的代码有点长(超过 200 行),我将其放在GitHub 存储库中。

编辑:主程序在文件中stack.c

编辑:代码只接受输入words,有点像 FORTH。它scanf从左到右使用和工作。然后它使用一系列ifs 和strcmps 来决定要做什么。就是这样。

0 投票
1 回答
3281 浏览

c - 用 C 从头开始​​编写编译器

可能重复:
如何用 C 编写编译器?

我将如何开始在 C 中从头开始编写编译器(没有FlexBisonLexYacc)?我有一种语言,我为其编写了解释器,它有点像Forth。有点。它使用堆栈接收符号并一次解释一个符号。

我将如何制作编译器?

这不是一个特别垃圾的位。只是为了向人们展示语法和简单性。

http://github.com/tekknolagi/StackBased

0 投票
4 回答
1009 浏览

java - Java 虚拟机语言是否不可知?

可以肯定地说 Java 虚拟机“最初”是为 Java 编程语言设计的,但现在,其他开发人员已经能够编写编译为 Java 字节码的编程语言,如 Scala、Jython 和 JRuby。

Java 字节码中仍然存在“面向对象”的引用,例如接口、方法、字段。例如,invokespecial 是对“对象”方法的调用。

它不是具有纯语言无关指令集的纯堆栈虚拟机。例如,纯 FORTH 实现将只有堆栈操作。

问题是,JVM 语言是否不可知?

0 投票
3 回答
553 浏览

forth - 返回堆栈操作在 Gforth 0.7 中生成“无效的内存地址”

我在这里学习 Forth,我已经开始返回堆栈操作。

因此,在 Ubuntu 11.04 x64 上使用控制台我试图将 TOS 放到返回堆栈上,但会发生这种情况:

我在这里做错了什么?

0 投票
1 回答
140 浏览

segmentation-fault - gforthmi 分段错误

我在 Linux 上使用Gforth 0.7.0。每次我尝试运行gforthmi时,无论我使用什么参数,它都会因分段错误而窒息,如下所示:

我在 32 位和 64 位机器上都试过了,结果完全一样。

我错过了什么/做错了什么?我将不胜感激任何帮助/想法。TIA,

——
巴曼

0 投票
1 回答
492 浏览

android - Dalvik VM 如何访问 I/O?

我最近对​​Dalvik VM产生了兴趣。从 Wikipedia 和一些幻灯片中,我了解了有关 Dalvik VM 的基本信息。还有一些我不知道的事情,我无法轻松找到文档,例如:

Dalvik VM 如何访问 I/O?

我没有看到任何调用本机方法的操作码。那些以前缀“OP_INVOKE”命名的操作码似乎都调用了 .dex 文件(Dalvik 可执行文件)中的方法。也许我检查了错误版本的操作码描述?)

顺便说一句,Android 上是否有任何用户友好的 Forth 实现?

我试过不支持的AndroidForth dup

0 投票
2 回答
830 浏览

arrays - 如何实现字符串数组?

当在 Forth 的堆栈上给定一个数字时,我尝试实现一个从数组中生成字符串的单词。

我第一次天真的尝试是:

这被接受了,但它没有按预期工作——myarray @ type产生不一致的输出(而不是我天真的期望它可能会打印“Alpha”)。

在网上搜索时,我在Gforth 文档中发现使用创建的字符串s"的生命周期有限,这意味着我的 ansatz 从一开始就注定会失败。另一方面,根据Len 的 Forth 教程中的Forth 部分的数组,即使是常规对象的数组似乎也没有标准化。

<Update>显然,这对 Forth 来说不是一个小问题。网络上有一些库实现了缺少的字符串功能:FFLstr 模块)和Bernd Paysan 的字符串函数。这是一个很好的起点,尽管从那里到字符串数组仍然需要工作。</更新>

那么如何实现一个从给定数组返回字符串的单词呢?