【问题标题】:What means IO$,IF$,$ in CFGCFG 中的 IO$,IF$,$ 是什么意思
【发布时间】:2021-09-10 13:05:58
【问题描述】:

解析表达式: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 的定义中引入了任何终端。

【问题讨论】:

  • 这是从哪里获取的?你能给我们看看原件吗?

标签: parsing context-free-grammar finite-automata context-free-language automata-theory


【解决方案1】:

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

但是不管它“意味着”什么,你可以把它当作一个普通字母来做练习:“IF$”只是语法中出现的非终结符的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 2018-05-02
    相关资源
    最近更新 更多