返回

文章详情

Gforth 1.0

Hacker News2026年10月27日 10:23

在此文档中,以下许多单词只是提到,没有太多指示它们的功能。您可以通过点击文档的网页版本中的单词,或在 Gforth 中输入 "help",或者通过点击单词索引中的单词来获取更多信息。本文提到了一些在文档中首次出现的单词;其中一些早期已可用,但未被记录。现在已记录哪些单词计划永久支持,哪些不支持;请参见稳定目标。文本解释器可以识别更多内容:在源代码中书写字面量的附加方式:浮点数的缩放表示法(6k5,23%);字符串("string"),xts(`word),nts(``word),主体地址(<word> <word+8>)。请参阅源代码中的字面量;您可以指定单词的词汇(或多个),例如,forth:and 与 assembler:and。用于处理值味和延迟味单词的非解析语法(v 和 d 在以下示例中):->v 为到 v;+>v 为 +to v;'v 为 addr v;@>d 为 action-of d;=>d 为 is d。请参阅 rec-to。环境变量的内容:${LANG}。您可以使用更多识别器扩展文本解释器:recs rec-name rec-local rec-scope rec-number .-is-dcell? rec-float rec-complex rec-string rec-to rec-dtick rec-tick rec-body rec-env rec-meta rec-forth rec-sequence:get-recs set-recs rec-none translate-name translate-cell translate-dcell translate-float translate-complex translate-string scan-translate-string translate-env translate-to rec-filter rec-forth-nt? translate:解释、编译、推迟?rec-found IDE 特性:显示字的源代码(定位浏览)。显示单词的用法(在哪里 nw bw ww)。回溯显示源位置并可以浏览(nt bt tt);如有需要使用编辑器(edit g gg whereg);其他单词:fancy-after-l xt-locate l n b before-locate after-locate ll short-where expand-where prepend-where unused-words "Smart .s : ... 猜测堆栈项的意义并适当地显示它们。 .s 本身保持无知。终端底部的状态行显示 BASE、堆栈和搜索顺序。-status +status 多任务处理在多个核心或硬件线程上:newtask task newtask4 stacksize stacksize4 initiate execute-task kill-task kill stop stop-ns stop-dns thread-deadline halt sleep wake restart pause auser uallot up@ user' 's mutex lock unlock critical-section atomic!@ atomic+!@ atomic?!@ barrier 消息队列(类似于演员模型)提供了一种将通信与任务同步相结合的方法:send-event ?events event-loop Cilk 对分配工作到任务中非常有用:cores cilk-init spawn spawn1 spawn2 cilk-sync cilk-bye C 接口增强,包括回调:c-value c-variable c-funptr c++-library-name c++-library add-libpath add-framework add-incdir add-cflags add-ldflags c-callback c-callback-thread callback# 词典现在可以有多个部分,每个部分都有自己的词典指针,这允许在不影响其他部分的情况下分配,分配可用于嵌套定义。请参阅部分。单词:next-section previous-section extra-section .sections 推迟多个单词使用 ]] ... [[ 。值味和延迟味字段:value: cvalue: wvalue: lvalue: scvalue: swvalue: slvalue: 2value: fvalue: sfvalue: dfvalue: zvalue: $value: value[]: $value[]: defer: 每任务值和延迟:uvalue udefer 闭包:带数据的代码的执行令牌:free-closure [n:l [d:l [f:l [n:d [d:d [f:d [n:h [d:h [f:h [n:h1 [d:h1 [f:h1 [{: :}l :}d :}h :}h1 :}xt >addr <{: ;> 新单词头布局,并基于此:修改单词的行为:set-does> set-compsem set->int set->comp set-name>string set-name>link;使用代码地址而不是 xt:set-execute;新的代码地址为:dovalue: dodoes: doabicode:用户定义到等:to-table: n/a to-class: >uvalue set-to 修改单词的实现:set-optimizer 对喜欢非后缀语法的用户:compsem: intsem: opt: 从模板创建单词:create-from reveal reveal! noname-from 对早期定义的单词应用 set-does> 等:make-latest 反射:.hm immediate? 性能可与 SwiftForth 相比 IP-update 优化将循环主导程序的速度提高了 2 倍 字面量堆栈允许常量折叠和其他优化 许多这些单词仍在 Gforth 1.0 中,但可能在未来会被移除。您可以以解释方式使用返回堆栈(除了将数据传入或传出 INCLUDED、EVALUATE 等)。help 显示单词的文档或文档节点。提供信息的其他单词:authors license。

阅读全文 →

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡