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