語義分析時(shí)發(fā)現(xiàn)的運(yùn)算符與運(yùn)算對象類型不合法等錯(cuò)誤(書上的)
我對它例子的理解是:
程序語言中的一個(gè)數(shù)據(jù)類型一般包含兩個(gè)方面:類型的載體及其上的運(yùn)算
如果操作數(shù)類型與運(yùn)算不匹配,就會(huì)發(fā)生錯(cuò)誤
如:整除取余運(yùn)算符只能對整形數(shù)據(jù)進(jìn)行運(yùn)算
若其運(yùn)算對象中有浮點(diǎn)數(shù)就認(rèn)為是類型不匹配的靜態(tài)語義錯(cuò)誤
靜態(tài)語義分析:語義審查(靜態(tài)語義),包括上下文相關(guān)性、類型匹配、類型轉(zhuǎn)換
靜態(tài)語義錯(cuò)誤大概就是這些東西錯(cuò)誤了。
A、語法錯(cuò)誤 D、靜態(tài)的語義錯(cuò)誤 C、詞法錯(cuò)誤
如果錯(cuò)了編繹是不能通過的;)
動(dòng)態(tài)的語義錯(cuò)誤應(yīng)該是具體的語句的組合與它們間的關(guān)系不當(dāng),不過應(yīng)該不能包括數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤
一、編譯期通過不同:
(1)、語法錯(cuò)誤,在編程環(huán)境下,會(huì)在編譯期被發(fā)現(xiàn)。
在編譯語言中,語法錯(cuò)誤一定只在編譯期時(shí)出現(xiàn),編譯器要所有的語法都正確,才能正確編譯。不過解釋型語言中的語法錯(cuò)誤可能要到運(yùn)行期才會(huì)出現(xiàn),而且不一定容易區(qū)分語法錯(cuò)誤及語義錯(cuò)誤。
(2)、邏輯錯(cuò)誤,編譯期不會(huì)發(fā)現(xiàn)邏輯錯(cuò)誤。
二、錯(cuò)誤表現(xiàn)不同:
(1)、語法錯(cuò)誤,表現(xiàn)為編譯不通過。
(2)、邏輯錯(cuò)誤,唯一表現(xiàn)就是錯(cuò)誤的運(yùn)行結(jié)果。
三、錯(cuò)誤原因不同:
(1)、語法錯(cuò)誤,拼寫錯(cuò)誤、漏寫、多寫、不正確的算式等。
(2)、邏輯錯(cuò)誤,語句中出現(xiàn)了差錯(cuò)(比如公式寫錯(cuò))、算法中的錯(cuò)誤,甚至是選擇了錯(cuò)誤的算法。此外還有一些其它原因,如類型轉(zhuǎn)換錯(cuò)誤、變量作用域錯(cuò)誤、遺漏的代碼段、對問題或需求的理解有誤等等。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時(shí)間:1.980秒