微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CFG中的IO$,IF$,$是什么意思

如何解决CFG中的IO$,IF$,$是什么意思

解析表达式:IF i> i THEN i = i + i * i 使用以下 CFG 定义的小型编程语言,

S → ASSIGNMENT$| GOTO$| IF$| IO$
ASSIGNMENT$ → i = ALEX
GOTO$ → GOTO NUMBER
IF$ → IF CONDITION THEN S
    | IF CONDITION THEN S ELSE S
CONDITION → ALEX = ALEX| ALEX ≠ ALEX| ALEX > ALEX
          | CONDITION AND CONDITION
          | CONDITION OR CONDITION
          | NOT CONDITION
IO$ → READ i| PRINT i

提示

  1. ALEX 代表代数表达式
  2. 以 $ 结尾的名字是类
  3. 终端是{ = GOTO IF THEN ELSE ≠ > AND OR NOT READ PRINT }
  4. iALEXNUMBER 的定义中引入的任何终结符。

解决方法

在我看来,“$”是“STATEMENT”的缩写。例如,“IF$”表示“IF STATEMENT”。

但是不管它的“意思”是什么,为了练习的目的,你可以把它当作一个普通的字母来对待:“IF$”只是一个出现在语法中的非终结符的名字。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?