詞法

2018-06-16 14:13 更新

ECMAScript 程序的源文本首先轉(zhuǎn)換成一個(gè)輸入元素序列;tokens,行終結(jié)符,注釋,空白構(gòu)成輸入元素序列。從左到右掃描源文本,反復(fù)獲取作為下一個(gè)輸入元素的盡可能長的字符序列。


詞法文法有兩個(gè)目標(biāo)符。InputElementDiv 目標(biāo)符用在允許除法 (/) 或除賦值 (/=) 運(yùn)算符開始的語法文法上下文中。InputElementRegExp 目標(biāo)符用在其他語法文法上下文。


注:沒有允許除法或除賦值運(yùn)算符開頭,同時(shí)又允許 RegularExpressionLiteral 開頭的語法文法上下文。這不會(huì)被分號插入(見 7.9)影響;如下面的例子:


a = b /hi/g.exec(c).map(d);


其中 LineTerminator 后的第一個(gè)非空白,非注釋字符是斜線(/),并且這個(gè)語法上下文允許除法或除賦值運(yùn)算符,所以不會(huì)在這個(gè) LineTerminator 位置插入分號。也就是說,上面的例子解釋為:

a = b / hi / g.exec(c).map(d);


語法:


InputElementDiv :: 
WhiteSpace 
LineTerminator 
Comment 
Token 
DivPunctuator


InputElementRegExp :: 
WhiteSpace 
LineTerminator 
Comment 
Token 
RegularExpressionLiteral


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號