詞法和正則的文法

2018-06-16 13:57 更新

第 7 章給出了 ECMAScript 的 詞法文法 (lexical grammar)。作為此文法的終結(jié)符字符(Unicode 代碼單元)符合第 6 章定義的 SourceCharacter 的規(guī)則。它定義了一套產(chǎn)生式,從目標(biāo)符 InputElementDiv 或 InputElementRegExp 起始,描述了如何將這樣的字符序列翻譯成一個輸入元素序列。


空白和注釋之外的輸入元素構(gòu)成 ECMAScript 語法文法的終結(jié)符,它們被稱為 ECMAScript 的 tokens。這些 tokens 是,ECMAScript 語言的保留字,標(biāo)識符,字面量,標(biāo)點符號。此外,行結(jié)束符雖然不被視為 tokens,但會成為輸入元素流的一部分,用于引導(dǎo)處理自動插入分號( 7.9 )??瞻缀蛦涡凶⑨寱缓唵蔚膩G棄,不會出現(xiàn)在語法文法的輸入元素的流中。如果一個 多行注釋 (MultiLineComment)(即形式為“/ ... /”的注釋,不管是否跨越多行)不包含行結(jié)束符也會簡單地丟棄,但如果一個 多行注釋 包含一個或多個結(jié)束符,那么,注釋會被替換為一個行結(jié)束符,成為語法文法輸入元素流的一部分。


15.10 給出了 ECMAScript 的 正則文法 (RegExp grammar)。此文法的終結(jié)符字符也由 SourceCharacter 定義。它定義了一套產(chǎn)生式,從目標(biāo)符 Pattern 起始,描述了如何將這樣的字符序列翻譯成一個正則表達(dá)式模式。


兩個冒號“::”作為分隔符分割詞法和正則的文法產(chǎn)生式。詞法和正則的文法共享某些產(chǎn)生式。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號