Parsing 这叫什么,怎么读?(方案解析)

Parsing 这叫什么,怎么读?(方案解析),parsing,scheme,Parsing,Scheme,目前,我正在学习如何用Java解析Scheme。下面是基本列表(我不知道它的正式名称是什么)编辑:语法 exp -> ( rest | #f | #t | ' exp | integer_constant | string_constant | identifier rest -> ) | exp+ [ . exp ] ) 我的问题是:这个列表叫什么,比如它的正式名称是什么?“解析列表”?编辑:根据评论,这叫做

目前,我正在学习如何用Java解析Scheme。下面是基本列表(我不知道它的正式名称是什么)编辑:语法

exp -> ( rest
     | #f
     | #t
     | ' exp
     | integer_constant
     | string_constant
     | identifier

rest -> )
     | exp+ [ . exp ] )
我的问题是:这个列表叫什么,比如它的正式名称是什么?“解析列表”?编辑:根据评论,这叫做语法

怎么读呢?我猜表达式位于左括号和右括号之间,例如:
(exp)

另外,我猜行
exp->(rest
rest->)
#f
#t
'exp
整数常量
字符串常量
标识符
代替前面示例中的表达式。例如:
(#t)

列表中的最后一项是
|exp+[.exp])
,我想这是第一个右括号右侧的另一个表达式,比如前面的例子:
((#t)exp)

最后,这个位
[.exp]
,括号中只是说它是可选的


如果我错了,请纠正我。

这叫做语法。写语法有很多不同的语法,但它们都非常相似

在这里,
->
可以被理解为“是”、
|
可以被理解为“或”、
+
可以被理解为一个或多个,
[]
可以被理解为“可选”。这里使用的其他符号只是代表它们自己。所以这个语法可以这样读:

  • 一个表达是:

    • 左括号后接“rest”(参见第2节)
    • 或者一个紧跟字母f的哈希标记
    • 或者一个紧跟字母t的散列标记
    • 或者一个单引号后跟一个表达式
    • 或整数常量(如
      123
    • 或字符串常量(如
      “foo”
    • 或标识符(如
      foo
  • “休息”是指:

    • 右括号
    • 或一个或多个表达式,可选后跟一个点和另一个表达式,后跟一个右括号

  • 所以
    foo
    是一个表达式(因为标识符是表达式),
    ()
    是一个表达式(因为
    是一个“rest”和
    (rest
    是一个表达式,
    (foo)
    是一个表达式(因为
    foo
    是一个表达式,
    exp)
    是一个“rest”和
    (rest
    是一个表达式)等等。

    它被称为“语法”。特别是,有一些程序(称为“语法分析器生成器”或“编译器编译器”),在给定语法的情况下,可以为您创建语法分析器。有趣的名称,谢谢!语法分析器生成器的观点很好,但我的语法推导正确吗?非常详细的帖子!我完全理解!