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