目前,我正在學習如何解析Java中的Scheme。這裏是基本列表(我不知道它的正式名稱是什麼)編輯:語法!你叫什麼以及如何閱讀? (解析方案)
exp -> (rest
| #f
| #t
| ' exp
| integer_constant
| string_constant
| identifier
rest ->)
| exp+ [ . exp ])
我的問題是:那個名單叫什麼名字,比如說它的正式名稱是什麼? 「解析列表」?編輯:根據評論,它被稱爲語法。
如何閱讀?我的猜測是表達式在左右括號之間,例如:(exp)
。
另外我想任何線exp -> (rest
和rest ->)
,#f
,#t
,' exp
,integer_constant
,string_constant
之間的對象的,identifier
去代替在前面的示例實施例的表達。例如像:(#t)
而名單上的最後一個項目是| exp+ [ . exp])
,我想是另一種表達到第一右括號的右側,例如與前面的例子:((#t) exp)
?
最後,這位[ . exp]
,支架只是說它是可選的?
如果我錯了,請糾正我。
它被稱爲「語法」。特別是,有些程序(稱爲「語法分析器生成器」或「編譯器編譯器」),在給定語法的情況下,可以爲您創建分析器。 – 2014-09-13 19:44:48
有趣的名字,謝謝!關於解析器生成器的好處,但是我的語法推導正確嗎? – Life 2014-09-13 20:37:46