语义分析时发现的运算符与运算对象类型不合法等错误(书上的)
我对它例子的理解是:
程序语言中的一个数据类型一般包含两个方面:类型的载体及其上的运算
如果操作数类型与运算不匹配,就会发生错误
如:整除取余运算符只能对整形数据进行运算
若其运算对象中有浮点数就认为是类型不匹配的静态语义错误
静态语义分析:语义审查(静态语义),包括上下文相关性、类型匹配、类型转换
静态语义错误大概就是这些东西错误了。
A、语法错误 D、静态的语义错误 C、词法错误
如果错了编绎是不能通过的;)
动态的语义错误应该是具体的语句的组合与它们间的关系不当,不过应该不能包括数据结构错误
一、编译期通过不同:
(1)、语法错误,在编程环境下,会在编译期被发现。
在编译语言中,语法错误一定只在编译期时出现,编译器要所有的语法都正确,才能正确编译。不过解释型语言中的语法错误可能要到运行期才会出现,而且不一定容易区分语法错误及语义错误。
(2)、逻辑错误,编译期不会发现逻辑错误。
二、错误表现不同:
(1)、语法错误,表现为编译不通过。
(2)、逻辑错误,唯一表现就是错误的运行结果。
三、错误原因不同:
(1)、语法错误,拼写错误、漏写、多写、不正确的算式等。
(2)、逻辑错误,语句中出现了差错(比如公式写错)、算法中的错误,甚至是选择了错误的算法。此外还有一些其它原因,如类型转换错误、变量作用域错误、遗漏的代码段、对问题或需求的理解有误等等。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:1.980秒