我正在閱讀Scala 規范,鏈接到 2.13。用于表達規范的確切元語法(我認為這是術語)是什么?我相信它是巴科斯-瑙爾形式的擴展,但我不能完全弄清楚每個組件。
注意:我不是編程理論方面的專家,所以如果我使用了一些不正確的術語,我希望你道歉,我的目標只是了解規范是如何定義的。
uj5u.com熱心網友回復:
我相信這是巴庫斯-瑙爾形式的延伸
我相信“巴科斯-瑙爾形式的擴展”是你能得到的最接近的。
BNF 的各種擴展、擴充、變體和修改在編程語言規范中得到了如此廣泛的使用,以至于大多數作者都懶得具體說明它們,因為每個人都習慣于一直閱讀它們,以至于他們可以直觀地理解它們。
第 13 章 –語法摘要,第 13.1 節 –詞法語法說以下 [粗體強調我的]:
Scala 的詞法語法由以下EBNF 形式的語法給出
但這仍然是模棱兩可的。最初,EBNF是由Niklaus Wirth設計的,Martin Odersky 使用它是有道理的,因為他在 Wirth 學習。
然而,Wirth 的 EBNF 在廣泛使用中有許多細微的變化,此外,BNF 的其他“擴展版本”也被稱為“EBNF”,所以這也不能真正告訴你任何事情。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/508574.html
下一篇:使用ScalagroupBy(),來自方法fetchUniqueCodesForARootCode()。我想獲取從rootCodes到uniqueCodes串列的映射
