C + + 的語彙基元
語彙基元是對編譯器有意義的 C++ 程式的最小元素。 C + + 的剖析器可以辨識這類的語彙基元: 識別項、 關鍵字、 常值、 運算子、 標點符號及其他分隔符號。 這些語彙基元資料流構成轉譯單位中。
語彙基元通常隔開 「 白色空間。 泛空白字元可以是一或多個:
空白
水平或垂直索引標籤
新行
Formfeeds
註解
下列因素會被視為語彙基元:
keywordidentifierconstantoperatorpunctuator
下列被應該前置處理的語彙基元:
標頭-nameidentifierpp-numbercharacter-constantstring-literaloperatorpunctuator 每個非泛空白字元,不可以是上述其中一個項目
剖析器會藉由建立使用在從左到右掃描的輸入的字元的最長語彙基元可能將輸入資料流中的語彙基元。 請考慮這個程式碼片段:
a = i+++j;
程式設計人員撰寫程式碼可能會想在兩陳述式的其中一個:
a = i + (++j)
a = (i++) + j
剖析器會建立最長的語彙基元可能從輸入資料流,因為它會選擇第二個的解譯方式,進行語彙基元i++, +,以及j。