程序员编写的源程序中往往会有一些错误,这些错误大致被分为静态错误和动态错误两类。
所谓动态错误,是指源程序中的逻辑错误,它们发生在程序运行时,如算法逻辑上的错误。
动态错误也被称为动态语义错误,如变量取值为0是被用作除数,引用数组元素时下标出界等。
静态错误又可以分为语法错误和静态语义错误。词法和语法错误是指有关语言结构上的错误,如单词拼写错误就是一种词法错误,表达式中缺少操作数、括号不匹配是不符合语法规则要求的语法错误等。
静态的语义错误是指分析源程序时可以发现的语言意义上的错误,如加法的两个操作数中一个是实型变量名,而另一个是数组名等。