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

2023-12-09

有没有一个EBNF描述 Forth 无限循环或 if 语句的规则?


EBNF用来描述syntax。无限循环或其他循环通常不属于它所描述的范围。因此,您将查看 EBNF 的无限循环,如下所示:

indefinite_loop ::= 'BEGIN' statements cond 'UNTIL'

通常情况下cond将把 0 或 1 压入堆栈以确定是否继续循环(0表示继续循环,1表示退出)。因此,如果您只是插入一个0直接地,循环将永远执行:

: infinite_loop BEGIN do_whatever 0 UNTIL ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Forth 语言 EBNF 规则用于无限循环或 if 语句 的相关文章

  • Ebnf – 这是 LL(1) 语法吗?

    我发现了以下内容EBNF在维基百科上 描述了 EBNF letter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z digit 0 1 2 3 4 5 6 7 8 9 symbol
  • Scala 解析器标记分隔符问题

    我正在尝试为下面的命令定义语法 object ParserWorkshop def main args Array String ChoiceParser todo link todo to database ChoiceParser to
  • PEG (Grako) 的选项解析不足?

    我的同事 PaulS 问了我以下问题 我正在为现有语言 SystemVerilog IEEE 标准 编写一个解析器 并且该规范中有一条结构与此类似的规则 cover point data type identifier coverpoint
  • Forth 语言 EBNF 规则用于无限循环或 if 语句

    有没有一个EBNF描述 Forth 无限循环或 if 语句的规则 EBNF用来描述syntax 无限循环或其他循环通常不属于它所描述的范围 因此 您将查看 EBNF 的无限循环 如下所示 indefinite loop BEGIN stat
  • 如何使用 GDB 调试 jonesforth?

    jonesforth 通常按如下方式启动 cat jonesforth f jonesforth 有什么好的调试方法jonesforth 在Ubuntu上 如果您使用的是 Ubuntu 请允许gdb附加到正在运行的进程 echo 0 gt
  • 如何使用 W3C EBNF-Notation 并生成解析器生成器?

    在整个 RDF 规范中 EBNF NOTATION XML 规范用于指定文档的语法 所以我想知道如何使用 Antlr bison yacc 也许这些工具中的一些标志我不知道如何搜索 或者我还不知道的其他工具 来使用这些规范并生成解析器供我在
  • EBNF 转义字符

    我正在尝试为基于 python 的伪语言制作字符串的语法表达式 我想知道如何执行以下操作 字符串以 或 开头或结尾 它可以包含除 n 之外的任何字符 仅当另一个反斜杠开头时才能包含这些字符 例如 Mark said Boo n 公认 我只能
  • 从 ANTLR 生成 EBNF

    有人知道从 ANTLR 生成 EBNF 的工具吗 ANTLR 已经接近 EBNF 但出于文档目的 我希望有一个干净的 EBNF 描述 中间没有代码 有了antlrworks 就可以得到语法图了 java cp antlrworks 1 1
  • 如何在 Forth 中创建数组?

    我知道 这个问题过去经常被问到 也许之前的 Stack Overflow 帖子中已经给出了这些信息 但学习 Forth 是一项非常复杂的任务 重复有助于理解串联编程语言相对于 C 等替代语言的优势 我从 Forth 教程中学到的是 Fort
  • LOGO 编程语言的 EBNF 或 BNF

    有谁知道我在哪里可以获得 BNF 或 EBNFLOGO http en wikipedia org wiki Logo 28programming language 29编程语言 BNF 语法在某些情况下可能不太有用 编写一个与现有 历史实
  • gforth 是否包含网络套接字功能?

    通常 在学习语言时 我会编写某种类型的服务器 做gforth https github com forthy42 gforth有能力使用网络套接字吗 我没有看到任何有关套接字的信息手册 https www complang tuwien a
  • C# 5.0 EBNF 语法

    我正在寻找 5 0 版编程语言 C 的 EBNF 语法 这个语法应该是机器可读的 所以我可以用这个 EBNF 语法做一些处理 直到现在我才发现Visual Studio的安装中包含了C 的语言规范文档 PROGRAMFILES x86 Mi
  • 如何在用 C 编写的类似 FORTH 的语言解释器中实现 LOOP

    我正在用 C 编写一种简单的基于堆栈的语言 并且想知道应该如何实现某种类型的循环结构和 或前瞻符号 由于此页面的代码有点长 超过 200 行 所以我将其放入GitHub 存储库 https github com tekknolagi Sta
  • 如何在 Forth 中比较两个字符串?

    我可以在if声明还是我应该创建一个辅助布尔变量 这是我到目前为止的代码 顺便一提 IOX 是从用户那里获取输入 var compile VARIABLE complile lock compile var realPass compile
  • 不用Gforth 就可以编译Gforth 吗?

    当我尝试编译 Gforth 0 7 0 时 出现以下错误 configure make compiling Undefined symbols main referenced from start in crt1 10 6 o ld sym
  • 语法写作工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试用 EBNF 编写语法 除非有很好的理由 否则它必须是 EBNF 并且正在寻找一些实用程序 如果有一个 GUI 界面可以制作一个
  • 将焦点更改回控制台窗口

    我对Windows编程的了解接近于零 但现在我已经制作了一个从 Windows 控制台运行的 Forth 程序 它打开一个原始的图形窗口 问题是我想通过按键来控制程序 但是当程序启动时 焦点没有在控制台窗口上 而是在图形窗口上 如何改变后焦
  • 在 TinyPG 中使用 BNF 中的现有语言?

    我该如何使用这些 BNF 语法 http www devincook com GOLDParser grammars index htm哪些在GOLD 元语法 http www devincook com GOLDParser doc me
  • 实现类 Markdown 语言的解析器

    我有类似于 markdown 和 SO 使用的标记语言 遗留解析器基于正则表达式 维护起来简直是噩梦 因此我提出了自己的基于 EBNF 语法的解决方案 并通过 mxTextTools SimpleParse 实现 但是 某些令牌可能存在相互
  • 从终端输入缓冲区加载到参数堆栈

    为什么这段代码不起作用 TIB 10 ACCEPT TIB SP 1 cells 10 cmove 在该代码中 我尝试输入一个字符串并将其存储在终端输入缓冲区中 然后将其存储在参数堆栈中 但对于 S 我发现这不起作用 参数堆栈向内存不足方向

随机推荐