什么是语法错误

在计算机科学中 , 语法错误是指程序的词法有误 , 编译器或解译器在词法分析时没法把它转换成适度的编程语言 。

什么是语法错误

文章插图
介绍在编译语言中 , 语法错误一定只在编译期时发生 , 编译器要每一个词法都恰当 , 才能恰当编译 。但是解释型语言里的语法错误可能需到运行期才会出现 , 并且不一定容易区别语法错误及词义错误 。
初期 8 位家用电脑的操作界面是 BASIC 编译器 , SYNTAX ERROR 错误信息常导致客户的困扰 , 只需编译器无法识别客户的键入 , 就会出现此一信息 。
若计算器中导出不恰当算式 , 会出现语法错误 , 比如算式含有左括号但没有右括号、或者一个数字含有多个小数位等 。
在 Java 语言中 , 以内的程序是正确的:
以内的程序有误:
第二个程序本质上要显示的是称为 Hello World 的变量 , 而非 Hello World 这个字 , 且 Java 语言的变量名称中不可有空缺 , 因而会有语法错误 。
编译器会标识程序含有语法错误的行 , 可能也会有简单表明 。
词义错误在计算机程序设计里 , 词义错误(Logic error)(也叫逻辑错误)是程序错误的一种 , 这类错误会导致程序运作出错 , 但还不至于奔溃 。逻辑错误会产生意外的导出或结论 , 但并不一定会立刻被发现 。
逻辑错误在编译语言和解释语言里都可能出现 。与语法错误的程序不同的是 , 逻辑错误的程序从词法上来讲是正确的一段程序 , 但其运作结果却与预期不符 。逻辑错误的唯一表现就是错误的运转结论 。
在 C语言中 , 逻辑错误是一种特殊的异常 。
逻辑错误的原因可能是句子中出现了错漏(例如公式填错)、算法里的错误 , 甚至选了错误的算法 。此外还有一些其他缘故 , 如类型转换错误、变量作用域错误、忽略的代码段、对问题或需求的了解有误这些 。
解释型语言解释型语言(英文:Interpreted language) , 是一种编程语言 。这一类型的编程语言 , 会把编码一句一句立即运作 , 不用像编译语言(Compiled language)一样 , 通过编译器优先编译为机器码 , 以后再运行 。这类编程语言必须运用编译器 , 在运行期 , 动态将编码逐句表述(interpret)为机器码 , 或者早已事先编译为机器码的子程序 , 以后再运行 。
本质上 , 一切编程语言都能够是编译式 , 或解释型的 。他们之间的差别 , 仅与程序的应用相关 。很多编程语言同时采用编译器与编译器来达到 , 主要包括 Lisp , Pascal , C , BASIC 与 Python 。JAVA 及 C#选用混和方法 , 先把代码编译为 bytecode , 在运行中再进行解释 。
【什么是语法错误】