标签: forth

是Fortran,Cobol,Basic和Forth高级编程语言吗?

是Fortran,Cobol,Basic和Forth高级编程语言吗?

如果没有,第一个高级编程语言在哪里?

哪个是第一个面向对象的语言?

fortran basic terminology forth high-level

3
推荐指数
1
解决办法
7187
查看次数

如何划分两个整数并在Forth中得到浮点数?

我正在寻找一种能够在单精度和双精度之间进行转换的方法.一个例子是划分2个整数并获得浮动结果.怎么可能?

math floating-point forth floating-point-precision

3
推荐指数
2
解决办法
1744
查看次数

最适合作为交互式C程序测试人员

我愿意使用交互式语言来测试遗留项目中的一些C代码.我知道一点点,但我还没有在现实世界的项目中使用它.我现在正在看pForth.

使用交互式Forth解释器来测试C程序中某些函数的行为是否合理?这个C代码有很多结构,指向结构的指针,句柄和C中的其他常见结构.

我想我必须编写一些胶水代码来处理参数传递,并且可能在Forth方面进行一些结构分配.我想要有这方面经验的人的估计.这值得么?

testing interactive forth

3
推荐指数
1
解决办法
729
查看次数

如何比较Forth中的两个字符串?

我可以在一个if语句中执行此操作,还是应该创建一个帮助器布尔变量?这是我到目前为止的代码.顺便说一下,IOX@是从用户那里获得输入.

: var
compile: VARIABLE
complile: ;

: lock
compile: var realPass$
compile: realPass$ "password" !
compile: ." Enter Password: "
compile: var pass$
compile: IOX@ pass$ !
compile: var match
compile: realPass$=pass$ match ! Unknown token: realPass$=pass$
Run Code Online (Sandbox Code Playgroud)

string forth string-comparison

3
推荐指数
1
解决办法
953
查看次数

Forth堆栈注释与返回堆栈

当返回堆栈发挥作用时,堆栈注释应该是什么样的?

: FOO  ( d2 d1 tos -- sum flag ) 
   ... ;
Run Code Online (Sandbox Code Playgroud)

这个词需要5个单元格并返回2个单元格,但是当使用返回堆栈时,括号之间会是什么?例如,堆栈注释如何查找:

: BAZ  ( d2 d1 tos -- d )
   BASE @ >R >R   ( d2 d1 )
   2SWAP D-   ( d ) 
   R> DUP
   R@ BAR
   R> BONK ;
Run Code Online (Sandbox Code Playgroud)

forth

3
推荐指数
1
解决办法
282
查看次数

3
推荐指数
1
解决办法
318
查看次数

Forth阵列中的连续内存?

我知道variable test 5 cells allot不能保证分配一个连续的内存块,同时create test 1 , 2 , 3 , 4 , 5 ,肯定会创建一个连续的内存块.

variable 被定义为 : variable create 0 , ;

是否有allot更多的单元格变量不能保证连续扩展内存块,因为create每个单词只能调用一次?

例:

create test 1 , 2 , test 3 , 4 , 5 , <<<<这不一定会连续扩展阵列,对吗?

我的假设是否正确?

forth

3
推荐指数
1
解决办法
232
查看次数

如何在数组中指定第8个命名空间?

第8个使用命名空间而不是词汇表.每个命名空间都有自己的整数表示.

ok> ns:a . cr ns:n . cr
4
2
Run Code Online (Sandbox Code Playgroud)

因此,2表示数字命名空间,4表示数组.

我想构建一个包含命名空间的数组,然后我可以将它放在TOS(堆栈顶部).

但是,如果我只写这个

ok> [ ns:a , ns:n ]
Exception: invalid JSON array: at line 1 char 3 in ....: cr (G:;;; +000004c2)
Exception: can't find: :a: at line 1 char 6 in (null): cr (G:??? +00000029)
Exception: can't find: ,: at line 1 char 8 in (null): cr (G:??? +00000029)
Exception: can't find: ]: at line 1 char 15 in (null): n (G:??? +00000029)
Run Code Online (Sandbox Code Playgroud)

forth 8th

3
推荐指数
1
解决办法
123
查看次数

第四,带有递归的Hofstadter Q序列

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

Q(1) = 1
Q(2) = 1
Q(n) = Q(n - Q(n-2)) + Q(n - Q(n-1)) for n > 2
Run Code Online (Sandbox Code Playgroud)

我得到的错误结果n > 3。这是我到目前为止的内容:

: Q recursive
    dup 3 <
    if
        drop 1
    else
        dup dup 2dup 2 - Q - Q -rot 1- Q - Q +
    then ;
Run Code Online (Sandbox Code Playgroud)

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

我认为这是行不通的,因为每次调用Qwhere n大于之后,都会向堆栈中添加值2,从而使-rot行不通。

是否有一个简单的调整即可完成这项工作?还是我需要使用其他方法,也许将变量用于n

OEIS:A005185

recursion forth sequence gforth oeis

3
推荐指数
1
解决办法
139
查看次数

gforth是否包含网络套接字功能?

通常,在学习语言时,我会编写某种服务器.gforth是否有能力使用网络套接字?

我在手册中没有看到任何关于套接字的信息.

sockets ip networking forth gforth

3
推荐指数
1
解决办法
721
查看次数