[英]What do you call this and how to read this? (Parsing for Scheme)
目前,我正在學習如何用Java解析Scheme。 這是基本列表(我不知道它的正式名稱是什么)編輯:語法!
exp -> ( rest
| #f
| #t
| ' exp
| integer_constant
| string_constant
| identifier
rest -> )
| exp+ [ . exp ] )
我的問題是:該列表叫什么名字,例如它的正式名稱是什么? “解析列表”? 編輯:根據評論,它稱為語法。
以及如何閱讀? 我的猜測是該表達式位於左括號和右括號之間,例如: ( exp )
。
另外,我猜這行之間的任何對象exp -> ( rest
and rest ->)
,# #f
,# #t
, ' exp
, integer_constant
, string_constant
, identifier
都代替了前面示例中的表達式。 例如: ( #t )
列表上的最后一項是| exp+ [ . exp] )
| exp+ [ . exp] )
| exp+ [ . exp] )
,我想是第一個右括號右邊的另一個表達式,例如前面的例子: ((#t) exp)
?
最后, [ . exp]
[ . exp]
,括號只是說這是可選的?
如果我錯了,請糾正我。
這稱為語法。 寫下語法有許多不同的語法,但是它們彼此非常相似。
在這里->
可以讀作“是”, |
表示為“或”, +
為一個或多個,而[]
為您懷疑,為“可選”。 這里使用的其他符號僅代表自己。 因此,該語法可以這樣讀取:
表達式是:
123
) "foo"
) foo
) “休息”是:
因此foo
是一個表達式(因為標識符是表達式), ()
是一個表達式(因為)
是一個“ rest”,而( rest
是一個表達式, (foo)
是一個表達式(因為foo
是一個表達式, exp )
是一個“休息”和( rest
是一個表達式”)等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.