語(yǔ)法文法

2018-06-16 13:58 更新

第 11,12,13,14 章給出了 ECMAScript 的 語(yǔ)法文法 。詞法文法定義的 ECMAScript tokens 是此文法的終結(jié)符( 5.1.2 )。它定義了一組起始于 Program 目標(biāo)符的產(chǎn)生式,描述了語(yǔ)法正確的 ECMAScript 程序應(yīng)該怎樣排列 tokens。


當(dāng)一個(gè)字符流被解析為 ECMAScript 程序,它首先通過(guò)詞法文法應(yīng)用程序反復(fù)轉(zhuǎn)換為一個(gè)輸入元素流;然后再用一個(gè)語(yǔ)法文法應(yīng)用程序解析這個(gè)輸入元素流。當(dāng)輸入元素流沒(méi)有更多 tokens 時(shí),如果 tokens 不能解析為 Program 目標(biāo)非終結(jié)符的單一實(shí)例,那么程序在語(yǔ)法上存在錯(cuò)誤。


只用一個(gè)冒號(hào)“:”作為分隔符分割語(yǔ)法詞法的產(chǎn)生式。


事實(shí)上第 11,12,13 和 14 章給出的語(yǔ)法語(yǔ)法,并不能完全說(shuō)明一個(gè)正確的 ECMAScript 程序能接受的 token 序列。一些額外的 token 序列也被接受,即某些特殊位置(如行結(jié)束符前)加入分號(hào)可以被文法接受。此外,文法描述的某些 token 序列不被文法接受,如一個(gè)行結(jié)束符出現(xiàn)在“尷尬”的位置。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)