Embedded 从哪一个开始移植?

Embedded 从哪一个开始移植?,embedded,language-design,forth,retro-computing,Embedded,Language Design,Forth,Retro Computing,我正在寻找开发一个新的系统,旨在使游戏开发更容易在一个或可能几个复古控制台平台。我是一个Forth初学者,需要您帮助决定从哪个Forth代码库开始移植 我基本上是在寻找特定优势对彼此的优缺点。我已经阅读了来源以及对它的赞扬和批评,以及关于ANS forth的讨论,不幸的是,我感到相当困惑。据我所知,第四个社区似乎在标准遵从性问题上存在相当残酷的分歧,两个阵营都提出了非常好的理由,解释为什么标准既是好的,也是糟糕的。然而,我似乎找不到关于标准究竟发生了什么变化的好的实用建议,除了一种普遍的感觉,即

我正在寻找开发一个新的系统,旨在使游戏开发更容易在一个或可能几个复古控制台平台。我是一个Forth初学者,需要您帮助决定从哪个Forth代码库开始移植

我基本上是在寻找特定优势对彼此的优缺点。我已经阅读了来源以及对它的赞扬和批评,以及关于ANS forth的讨论,不幸的是,我感到相当困惑。据我所知,第四个社区似乎在标准遵从性问题上存在相当残酷的分歧,两个阵营都提出了非常好的理由,解释为什么标准既是好的,也是糟糕的。然而,我似乎找不到关于标准究竟发生了什么变化的好的实用建议,除了一种普遍的感觉,即它使事情变得比可能需要的更复杂和臃肿


我希望能让程序员和爱好者更容易地进行开发,因为他们现在害怕用汇编或C语言开发,所以我倾向于使用更简单的Forth,但我对Forth的了解还不够,无法做出明智的决定。

我有点像你现在这样。我已经随便阅读了一段时间了,并且认为它有很大的潜力——也许在脚本方面也是如此。然而,我离权威还差得远,但以下是我的想法

首先,Forth似乎是最终的可编程编程语言——甚至比lisp还要多。为此,我不确定需要编写多少C或汇编代码。我更倾向于发展Forth本身的词汇。毕竟,它应该是这样使用的

其次,在我尝试过的实现中,我最喜欢Gforth和Pforth

你用的是哪一种

最后,这里是我发现的在线复读列表:

  • 你找到其他的了吗?

    基本的Forth系统非常小,可以很快实现。我认为以下页面将对您非常有用:“”。这是一个关于引导第四系统的线性教程

    确保实现定义字(编译时执行的字)。这就是自由的力量来自哪里;使其真正可扩展

    我还没有真正尝试过,但我曾经满足于它,因为它是为数不多的拥有开源许可证的Forths之一。并积极维护,;例如,今年早些时候发布了一个版本

    在过去的几年里我收集了很多。有些东西很难找到

    关于标准会谈:这是一个有20年历史的讨论。我认为更重要的是实际做点什么,而不是说话:实施软件,提供杀手级的例子,编写文档,邀请其他人参与,等等。查尔斯·摩尔(Charles Moore)从那时起就开始行动,完成了,并且。如果您在带注释的链接列表中搜索“machineForth”和“ColorFORTH”,可能会找到一些有趣的文章和陈述。
    查尔斯·摩尔也有一个“现在”。

    我建议找艾弗斯,丁写道。在某些方面,这是一种现代的无花果。他有一个用C编写的内核,但之前的内核/系统已经移植到许多平台/CPU,大多数都有汇编内核/内核。然而,有一种很酷的叫做因子。它最初是“只是游戏”,最终进入编程语言世界的一个荒谬有趣的角落

    < p>你可能想尝试的第一步是用java、C++、python等高级语言编写第四个解释器。它将缺少机器级的主要好处:速度和紧凑性。但是,通过编写自己的虚拟机,您将了解不同类型的线程等,这些线程用于不同的Forth

    大多数新的Forth实现基本上都是从将CPU视为虚拟机开始的——因此,当需要从解释版本转换为机器代码版本时,创建显式虚拟机并不是浪费知识。此外,在构建机器版本时,您将拥有自己代码的蓝图以供交叉引用

    但是,如果您对机器代码非常非常熟悉,那么您可以跳过上面的步骤,直接移植其中一个标准

    至于标准,我会选择一些标准,但从最低标准开始。如果您需要在用户定义词以外的其他方面超越标准,那么您可以根据实现需要朝着标准或非标准的方向发展。Forth最酷的一点是,它非常简单,你可以重新编写整个编译器,而不是重新编写将在其上运行的一些Forth代码,哈哈。

    ,一个位于Arduino之上的游戏开发平台,内部运行着最小的Forth CPU(J1 Forth)

    除了的Verilog源代码,还有一个PC模拟器,一个由Serge Zaitsev用google go编写的编译器


    J1已经在Xilinx FPGA中实现。也可以在任何现代MCU上“模拟”J1 CPU

    关于ANSI兼容性,如果您在自己的应用程序中使用Forth,您可以省略任何不需要的内容,甚至可以更改不喜欢的内容。间接线程Forth是16位处理器上最紧凑的处理器之一(64比特处理器上不再有)。因此,这可能是一条路要走

    被称为无花果福斯的间接螺纹福斯家族仍然是有教育意义的材料。琼斯福斯是福斯的一个例子,也是如此。我自己是《ciforth》的作者,这是jonesforth和yourforth的灵感之一,这可能值得你花点时间,因为它试图解释按原样设计事物的原因。 丁氏前额(全世界)