[英]CSS "escape" syntax diagram confusion
查看轉義語言的語法圖:
我閱讀了第二組轉換如下:
如果下一個符號不是換行符或十六進制數字語言(或者換句話說,是除換行符或十六進制數字語言之外的任何語言),由
\\
符號轉換到的狀態可以轉換到接受狀態。
如果下一個符號是十六進制數字語言,由\\
符號轉換到的狀態可以轉換到不同的狀態。
這不是自相矛盾嗎?
鐵路圖是模棱兩可的,並不矛盾。 但請注意該部分的第一行,它說:
本節是非規范的。
然后繼續准確地解釋這意味着什么:鐵路圖不完整,僅提供信息; 它們旨在讓您直觀地掌握語法。 這些圖不用作參考材料,並且它們不嘗試定義每個標記的語義。
顯然,通過鐵路的不止一條路徑可能適用於給定的代幣。 但是由於鐵路圖沒有語義,所以這無關緊要。 此外,許多鐵路圖並沒有告訴您令牌的終點; 圖中沒有任何內容表明有必要接受最長的可能匹配(通常是這種情況)。
明確的標記化算法以英文寫成的程序形式提供,它不像鐵路圖那樣容易理解。 由於這些算法是規范的和語義的,歧義將是一個問題。 但我想你會發現它們都是確定性的。 例如,這里是如何 轉換轉義序列(一旦初始\\
已被消耗)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.