问题标签 [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.
variables - 接受用户输入的变量
因此,对于以前使用过 FORTH 的任何人来说,这应该是一个简单的问题,但我是一个试图学习如何编写这种语言的新手(这与 C++ 有很大不同)。
无论如何,我只是想在 FORTH 中创建一个名为“Height”的变量,并且我希望用户能够在调用某个单词“setHeight”时为“Height”输入一个值。但是,我尝试的一切似乎都失败了,因为我不知道如何设置变量,也不知道如何获取用户输入并将其放入变量中。
我希望这是一个容易解决的问题,任何帮助将不胜感激。先感谢您。
forth - 自定义解释器
我正在尝试在Gforth中编写解释器,但它不起作用。我得到的只是一个无限的列表 num num num ...
forth - 如何定义 VALUE 和 TO
我想在 RPC/8( Minecraft mod中的模拟计算机)VALUE
上实现 Forth 单词。只要我在编译时不使用它们,我的最佳尝试就会让我得到一组可以正常工作的单词。更具体地工作,但没有。TO
VALUE
TO
我已经尝试了我能想到的一切来让它工作,我最好的尝试让我做到了:
请注意,处理器不是纯 6502,而是65EL02,65816的自定义变体。
编辑#1:不知何故,我忘记了对 CREATE 的调用。它应该一直在那里。编辑#2:我也得到3
并+
切换到...哎呀。它应该一直是相反的方式。
forth - 在 Mac 上编译 Gforth 的问题
我从官网下载了Gforth/Applications
0.7.0,把文件夹放在里面,把它的别名放在/usr/local/bin
. 编译后使用:
制作时,得到结果:
我不知道这里有什么问题。我尝试 了 Stack Overflow 问题的答案Compiling Gforth without Gforth? ,但它也没有工作。我在MacBook Air上运行 Mac OS X v10.8 (Mountain Lion) 。
performance - 算法复杂性分析:实际使用 Knuth 的普通操作 (oops) 和内存操作 (mems) 方法
在实现大多数算法(排序、搜索、图遍历等)时,通常可以在减少内存访问方面做出权衡,但代价是额外的普通操作。
Knuth 有一个有用的方法来比较各种算法实现的复杂性,方法是将其从特定处理器中抽象出来,并且只区分普通操作 (oops) 和内存操作 (mems)。
在已编译的程序中,通常让编译器组织低级操作,并希望操作系统能够处理数据是保存在高速缓存中(更快)还是虚拟内存中(更慢)的问题。此外,编译器封装了指令的确切数量/成本。
使用 Forth,不再有这样的封装,而且更接近机器,尽管可能更接近在寄存器处理器之上运行的堆栈机器。
忽略操作系统的影响(因此没有内存停顿等),并假设目前是一个简单的处理器,
(1) 谁能建议 Forth 中的普通堆栈操作(例如 dup、rot、over、swap 等)与 Forth 的内存访问 fetch (@) 或 store (!) 的成本相比如何?
(2) 是否有一个经验法则可以用来决定有多少普通操作来权衡保存内存访问?
我正在寻找的是“内存访问成本高达 50 个普通操作,或 500 个普通操作,或 5 个普通操作”之类的东西,Ballpark 绝对没问题。
我试图了解 fetch 和 store 与 rot、swap、dup、drop、over、正确到一个数量级的相对成本。
windows - 如何在 GForth (GNU Forth) 的文件名中包含空格?
当我尝试在 Unix(和 Windows)上包含一个文件时,它在包含空格时将不起作用。例如,这些将不起作用:
那么..有没有办法使这项工作?谢谢!
testing - Forth 作为交互式 C 程序测试人员
我愿意使用交互式语言来测试遗留项目中的一些 C 代码。我知道一点 Forth,但我从未在现实世界的项目中使用过它。我现在正在看 pForth。
使用交互式 Forth 解释器来测试 C 程序中某些函数的行为是否合理?这段 C 代码有很多结构、指向结构的指针、句柄和其他 C 中常见的结构。
我想我必须编写一些胶水代码来处理参数传递,也许还有一些 Forth 端的结构分配。我想从在这个领域有经验的人那里得到一个估计。这值得么?
string - 如何在 Forth 中比较两个字符串?
我可以在if
语句中执行此操作,还是应该创建一个辅助布尔变量?这是我到目前为止的代码。顺便说一句,IOX@
就是从用户那里得到输入。
cloud - 云中的第四个程序?
我有一个复杂的程序,用 Forth 编写,在 DOS 下运行。我使用DOSBox在 Windows 7 下运行它。
有没有办法让这个程序在云上运行,这样我就可以从任何支持 Internet 的计算机上以完整的 I/O 访问它?
code-formatting - Forth 代码格式化指南
我正在尝试通过 Project Euler 练习来自学 Forth。我查看了几个教程,但我找不到任何关于如何定位关键字/控制结构的明确指南。Emacsforth-mode
似乎对代码应该如何格式化有一些想法,但我对我所看到的并不真正相信:) 所以,例如,下面的代码:
这样格式化有意义吗?你把条件放在哪里了?如果有任何类型的样式指南/示例集合,您认为格式正确,您能否请我参考那个示例?