編譯原理中的關鍵字和標識符
㈠ 關鍵字跟標識符是什麼關系
我的理解是,關鍵字肯定是標識符,標識符不一定是關鍵字,還有可能是用戶自定義標識符,比如name,sorce,home等等。
㈡ 舉例說明詞法分析中關鍵字,運算符及標識符的詞法二元組的描述(編譯原理)問題
ANSI C中的標識符定義是:以字母開頭的,字母、數字以及下劃線的組合。
用正則表達式表示就是:[a-zA-Z]+[a-zA-Z0-9_]*
根據這個正則表達式畫出它的NFA,轉換成DFA,化簡為最簡DFA。最後根據這個最簡的有限狀態機就可以寫出標識符的匹配演算法了。
㈢ c語言中關鍵字與預定義標識符有什麼差別
關鍵字是被系統定義過的,不能挪作他用.而預定義標識符有些是你只要不包含頭文件,這個標識符就不會被定義,你就可以用作別的用處.如:sleep函數.這個函數你不包含頭文件編譯器會報錯(至少VC++6.0是這樣)這樣你只需要定義它,你就可以把它當作一個別的東西來用.
㈣ 簡述C語言中標識符和關鍵字的概念與區別
標識符是在程序中使用的變數名、函數名、標號等統稱為標識符。除庫函數的函數名由系統定義外,其餘都由用戶自定義。C 規定,標識符只能是字母(A~Z,a~z)、數字(0~9)、下劃線()組成的字元串,並且其第一個字元必須是字母或下劃線。
在使用標識符時還必須注意以下幾點:
(1)標准C不限制標識符的長度,但它受各種版本的C 語言編譯系統限制,同時也受到具體機器的限制。例如在某版本C 中規定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。
(2)在標識符中,大小寫是有區別的。例如BOOK和book 是兩個不同的標識符。
(3)標識符雖然可由程序員隨意定義,但標識符是用於標識某個量的符號。因此,命名應盡量有相應的意義,以便閱讀理解,作到「顧名思義」。
關鍵字你看一看這一個
㈤ c語言中標識符里關鍵詞和預定義標識符的區別
預定義宏本身是按宏的流程被編譯的,除了在是在編譯代碼之前就被定義以外和普通宏沒有區別。關鍵字是程序語法相關的東西,有些接近於標識符,些和標識符完全不同。
並且,要知道,宏的優先順序大於關鍵字。
#define if for
你就可以寫if (int a = 0; i < 10; i++)
㈥ 關鍵字和一般標識符的區別
一、主體不同
1、關鍵字:屬於保留字,是整個語言范圍內預先保留的標識符。
2、一般標識符:用戶編程時使用的名字,用於給變數、常量、函數、語句塊等命名,以建立起名稱與使用之間的關系。
二、特點不同
1、關鍵字:不能聲明與關鍵字同名的標識符。
2、一般標識符:由字母和數字以及其它字元構成。
三、規則不同
1、關鍵字:經過預處理後,關鍵字從預處理記號(preprocessing-token)中區別出來,剩下的標識符作為記號(token),用於聲明對象、函數、類型、命名空間等。
2、一般標識符:長度是由機器上的編譯系統決定的,一般的限制為8字元。
㈦ 簡述關鍵字與標識符的區別
我把幾本教材找出來了,一個一個字打出來的啊,多辛苦的,所以你應該把分給我啊!!
關鍵字:每個值能夠唯一地標識一個記錄時,則可把這個數據項作為記錄的關鍵數據項,簡稱關鍵項,關鍵項中的每一個值稱做所在記錄的關鍵字.-----<數據結構>
再看一下JAVA,
用來標識類名\變數名\方法名\類型名\數組名\文件名的有效字元序列稱為標識符.簡單地說,標識符就是一個名字.
關鍵字就是JAVA語言中已經被賦予特定意義的一些單詞.不可以把這類詞作為名字來用.
所以我想,我已經能夠把區別說得很明顯了.
呵呵,我以前是從來不學習的,今天我自己還學到了這個知識點,謝謝你和你的分數呵呵
HAPPY啊
㈧ c中的標識符 和 關鍵字 都是什麼啊
標識符就是名字的意思,比如關鍵字的名字,變數的名字,等等,一個單獨的字串。
關鍵字是編譯器定義的標識符,比如int define for if 之類的
㈨ C語言中關鍵字和標示符什麼區別
關鍵字是標識符的一種.
標識符是指: 可以當作變數名, 函數名等的.
而關鍵字為什麼不能當作變數名或函數名?
因為關鍵字它有自己的用處, 比如int, 它是用來定義變數等的, 如果它用來當作變數名, 就會造成混淆.
如:
int int = 10;
int i = (int+10);
這樣就會造成混淆, 因為(type)是強制類型轉換, 但是這里的意思是要把int的值加上10, 然後再賦給i. 編譯器不知道這到底是干什麼的, 肯定會出錯.
標識符是無數個(其實不是無數的, 但它非常多, 好像說C語言支持最長的標識符是32個)
但是關鍵字只有32個.
㈩ 編譯原理的名字與標識符的區別是什麼
不太明白樓主想問什麼,先幫你查這么多,如果還不明白,請繼續詢問網路和谷哥。
標識符
是用戶編程時使用的名字。我們指定某個東西、人,都要用到它,他或她的名字;在數學中解方程時,我們也常常用到這樣或那樣的變數名或函數名。同樣的道理,在電腦語言中,對於變數,常量,函數,語句塊也有名字,我們統統稱之為標識符。我們在給人起名字時有一定的規矩,比如,頭一個字為父親或母親的姓氏,後面一般為一個或兩個字。所以,您可以想當然地認為電腦語言里的標識符也有一定的命名規則,如果您這樣想,那您就想對了!
保留字(reserved word)
保留字又稱關鍵字。
指在高級語言中已經定義過的字,使用者不能再將這些字作為變數名或過程名使用。
每種程序設計語言都規定了自己的一套保留字。
例如:BASIC語言規定不能使用LIST作為變數名或過程名,因為LIST是一個BASIC語言專用於顯示內存程序的命令。
C有22+10 = 32個關鍵字
C++ 有22+10+11+20 = 63 個關鍵字
JAVA 有22+ 9+ 17 = 48 個關鍵字