什么是语法错误

六六 QA 2021-05-05 04:56:29 阅读(...)

在计算机科学中,语法错误是指程序的语法有误,编译器或解译器在词法分析时无法将其转换为适当的编程语言。

在计算机科学中,语法错误是指程序的语法有误,编译器或解译器在词法分析时无法将其转换为适当的编程语言

什么是语法错误

简介

在编译语言中,语法错误一定只在编译期时出现,编译器要所有的语法都正确,才能正确编译。不过解释型语言中的语法错误可能要到运行期才会出现,而且不一定容易区分语法错误及语义错误。

早期 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,在运行时再进行解释。

0个人收藏 收藏

相关推荐

  • 审批工作流程 Approval workflow

    审批工作流程是什么

    审批工作流程是一组逻辑活动,用于简化组织中的任务或数据。批准工作流的不同之处在于它们暂停流程,直到指定的个人批准数据。根据流程批准通常由经理或质量保证 (QA) 主管给出。
  • 投标管理 bidding management

    投标管理是什么

    投标管理是一种售前支持服务,用于创建和提交投标书以响应资格预审问卷、报价请求、招标邀请、建议书和信息请求。有效的投标管理可帮助组织成功提交提案并持续赢得合同。
  • 转录 transcribe

    什么是转录

    转录是将语音转换为书面形式(例如电子文档)的过程,通常使用转录软件完成。转录最常用于将口语录音转换为可打印的文档,例如报告。 
  • ADB tools ADB 工具

    adb重启是什么意思

    adb重启就是调试桥的意思,利用adb工具的前提是在手机上打开usb调试,然后通过数据线连接电脑。在电脑上使用命令模式来操作手机:重启、进入recovery、进入fastboot、推送文件功能等。
  • JetBrains PhpStorm

    PhpStorm是什么软件

    PhpStorm是一个基于JetBrains的IntelliJ IDEA平台的PHP商业跨平台IDE。提供PHP,HTML和JavaScript编辑器,具有动态代码分析,错误预防和PHP和JavaScript代码的自动重构。
  • HTML5

    HTML5是什么

    HTML5是HTML最新的修订版本,由万维网联盟(W3C)完成标准制定。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。