蜜桃无码视频,国产精品 17c,5g-天天看天天奭免费入口,乱亲女H秽乱长久久久

歡迎來(lái)到 常識(shí)詞典網(wǎng) , 一個(gè)專業(yè)的常識(shí)知識(shí)學(xué)習(xí)網(wǎng)站!

[ Ctrl + D 鍵 ]收藏本站

您所在的位置:首頁(yè) > 教育學(xué)習(xí) > 百科

百科

計(jì)算機(jī)語(yǔ)言中的變量名都不能以數(shù)字開(kāi)頭呢?

分類: 百科 常識(shí)詞典 編輯 : 常識(shí) 發(fā)布 : 08-24

閱讀 :372

為什么計(jì)算機(jī)語(yǔ)言中的變量名都不能以數(shù)字開(kāi)頭呢?14 個(gè)答案

答案 1:

最近剛好在上編譯原理,應(yīng)該算是詞法分析的問(wèn)題。因?yàn)槊看屋斎搿邦^符號(hào)”后要判斷該符號(hào)是數(shù)字還是字符,如果是數(shù)字,則可以直接跳入數(shù)字處理的模塊,若是字符則按變量名來(lái)處理。如果允許變量名以數(shù)字開(kāi)頭,則以后每次輸入一個(gè)符號(hào)都要做一次“是否為數(shù)字”的判斷,直到符號(hào)出現(xiàn)非數(shù)字再轉(zhuǎn)成變量名,而禁止以數(shù)字開(kāi)頭只需要判斷一次,很顯然“每一次都要判斷”是一種極大的浪費(fèi)。另外變量名以數(shù)字開(kāi)頭對(duì)程序員而言也沒(méi)有任何的幫助,反而降低了編譯器的性能,畢竟O(1)和O(n)還是差距不小的。這是我自己做完編譯原理詞法分析實(shí)驗(yàn)后的一些看法,水平有限,希望各位指正。

答案 2:

主要是工程折衷。程序語(yǔ)言的分析分詞法和語(yǔ)法兩部分。詞法分析主要用的是正規(guī)文法,也就是三型文法。這類文法主要采用正則表達(dá)式分析。正則文法分析器的特點(diǎn)是它是不回溯的,所以實(shí)現(xiàn)很簡(jiǎn)單。如果一個(gè)變量以數(shù)字開(kāi)頭,那么分析器就必須在遇到第一個(gè)或第二個(gè)英文字符的時(shí)候回溯來(lái)確定是否是數(shù)字、變量名還是詞法錯(cuò)誤,這時(shí)候就變成了二型文法。二型文法分析器的好處是支持回溯和遞歸語(yǔ)法(所以語(yǔ)法分析是靠它的),但是缺點(diǎn)是狀態(tài)機(jī)相比正則文法狀態(tài)大大增加,而且代碼寫(xiě)起來(lái)更困難。考慮到詞法分析部分只是用來(lái)斷字,我們實(shí)在是沒(méi)有為了支持變量名以數(shù)字開(kāi)頭這么一個(gè)小功能而讓整個(gè)詞法分析部分用二型文法寫(xiě)。故,最后大家都默認(rèn)了變量要避免用數(shù)字開(kāi)頭。

答案 3:

如果以數(shù)字開(kāi)頭,這個(gè)變量就可能是純數(shù)字了,這樣語(yǔ)言的編譯器(或解釋器)就分不清當(dāng)前的是數(shù)字還是變量名了。即使不是純數(shù)字,如100000L在有些語(yǔ)言中表示長(zhǎng)整型,還是會(huì)有歧義的。

答案 4:

編譯的過(guò)程中,源文件先根據(jù)正則表達(dá)式規(guī)則掃描、分割成tokens(這一步叫做詞法分析 lexical -ysis),然后根據(jù)tokens和保留字的順序和編程語(yǔ)言的規(guī)范組成語(yǔ)法分析樹(shù)(這一步叫做syntax -ysis),最后才是句法分析(se-ntic -ysis)。其中有很多優(yōu)化,也盡量合并步驟,目標(biāo)是使得盡量少的掃描原文,減少時(shí)間復(fù)雜度。一門語(yǔ)言既要考慮符合人類的習(xí)慣,又要考慮適當(dāng)?shù)囊?guī)范使得編譯器能夠非??斓膾呙?。所以說(shuō)一個(gè)token是變量還是常量(數(shù)字),應(yīng)該在越早的時(shí)候就確定下來(lái),而變量第一個(gè)符號(hào)規(guī)定不能為數(shù)字而是字母,一是符合人類習(xí)慣(你看到一個(gè)數(shù)字打頭的東西比如123l23也許也會(huì)感覺(jué)是數(shù)字,而且有研究表明人類對(duì)單詞的詞首和詞尾更-),二是方便正則表達(dá)式掃描的時(shí)候在一開(kāi)始就區(qū)分開(kāi),一舉兩得,這個(gè)規(guī)定是有意義的。

答案 5:

不嚴(yán)謹(jǐn)來(lái)說(shuō),一個(gè)程序?qū)懗鰜?lái),本身是一個(gè)大字符串,編譯器對(duì)它進(jìn)行詞法掃描,把這個(gè)“字符串”變成一個(gè)“詞串”。在這一輪掃描中,為了實(shí)現(xiàn)簡(jiǎn)單,要求其輸入符合正規(guī)文法,也就是說(shuō),逐個(gè)字符掃描,不能走回頭路。如果遇到數(shù)字,自動(dòng)機(jī)就進(jìn)入掃描數(shù)值的狀態(tài),如果遇到字母,則進(jìn)入其它的狀態(tài)。若是允許變量以數(shù)字開(kāi)頭,那當(dāng)編輯器掃描到一個(gè)數(shù)字時(shí),就無(wú)法判斷它是數(shù)字還是字母,就需要進(jìn)入一個(gè)待定狀態(tài),后面再去判斷到底是變量還是數(shù)字。這倒不是不能實(shí)現(xiàn),只是沒(méi)有必要費(fèi)這個(gè)勁。

答案 6:

除了樓上們說(shuō)的,還有一個(gè)原因是:即便允許數(shù)字開(kāi)頭,那也必需再加一句:“但不能只包含數(shù)字?!?

答案 7:

在不降低可用性的前提下,簡(jiǎn)化詞法分析器的實(shí)現(xiàn),避免不必要的復(fù)雜性。

答案 8:

如7樓所說(shuō)的,其實(shí)有些語(yǔ)言的變量名是可以用數(shù)字開(kāi)頭的,只是不能完全是數(shù)字,如1a在C語(yǔ)言當(dāng)中就是非法的,但是在Common Lisp里面就是可用的~

答案 9:

1.主要還是習(xí)慣,數(shù)學(xué)變量通常是x_1, x_2,下標(biāo)都寫(xiě)在右側(cè),計(jì)算機(jī)語(yǔ)言沿襲這一些管是很正常的事情;2.詞法解析一般是從左到右的,10000L遇到L可以很自然作為一個(gè)終結(jié)符,但如果允許1000Le-ian,那么L就沒(méi)辦法作為終結(jié)符,需要從e開(kāi)始判斷。這樣需要記住一個(gè)像L這樣的字節(jié)作為Buffer,判斷起來(lái)就不是很簡(jiǎn)潔。

答案 10:

如樓上所言,容易產(chǎn)生歧義,除了 1000000L 之外,還有 102- 表示 -ex 等。

答案 11:

如果以數(shù)字開(kāi)頭,16進(jìn)制與變量就出現(xiàn)混淆了,如0x10, 0xFF

答案 12:

在《javascript權(quán)威指南》上剛好看到了一句:P26.數(shù)字不允許作為首字符出現(xiàn),這樣javascript就可以輕易的區(qū)別開(kāi)標(biāo)識(shí)符和數(shù)字了;或許能這樣解釋 :)

答案 13:

這是考慮計(jì)算機(jī)沒(méi)那么智能的識(shí)別關(guān)鍵字,編譯器的詞法分析器的分析能力也是有限的

答案 14:

就好像不少網(wǎng)站都不準(zhǔn)使用純數(shù)字作為用戶名(變量名)一樣,為了和用戶ID(數(shù)值)區(qū)分開(kāi)來(lái)……

下一篇:同樣是侵權(quán),人們不討厭 VeryCD 卻痛恨-(文庫(kù))? 下一篇 【方向鍵 ( → )下一篇】

上一篇:暴風(fēng)影音有哪些問(wèn)題?存在哪些痛處? 上一篇 【方向鍵 ( ← )上一篇】

老司机熟妇67184| 亚洲中文字幕17p| 婷婷六月亚洲中文字幕不卡| 成人无码视频中文字幕| 日本视频网站一区二区www| 亚洲欧美综合一区在线观看| 激情人妻另类人妻伦| 伊人精品久久久大香线蕉| 国产欧美日韩黄片| 特级全黄久久久久久久久| 夜精品一区二区| 久久中文精品无码中文字幕| 日日av色欲香天天综合网站| 美女自慰18p| 四虎影视成人永久免费观看视频| av影视东京久久| 免费观看精品久久久| 狠狠操天天日狠狠操| 色爱 av| 九九超碰色中文字幕超清| 久久久性色精品国产免费观看| 国产精品99久久久久久夜夜嗨| 亚洲av无码av男人的天堂不卡| 歐美日韓中文| 中文字幕在线播放等等.| 国产青春草在线观看| 国产精品美女久久久久网| 亚洲自拍一道本| 日韩中文字幕剧情av| 亚洲欧美一区二区视频| 久久无码高清视频| 开心色| 91精品国产美女福到在线不卡 | 色激情综合久久| 国产不卡在线免费视频| 国产精品欧美品日韩| 亚洲国产成人精品激情在线| 国产天天看视频在线| 洛浦县| 国产一区二区三区无码免费 | 奇米久久99|