语法错误 在計算機科學中语法错误是指程序的語法英语Syntax programming languages有誤編譯器或解譯器在詞法分析時無法將其轉換為適當的程式語言 在編譯語言中语法错误一定只在編譯期時出現編譯器要所有的語法都正確才能正確編譯不過直譯語言中的语法错误可能要到執行期才會出現而且不一定容易區分语法错误及語意錯誤 對於哪些錯誤算是语法错误目前還沒有共識例如有人會認為在Java程式裡使用未定義變數算是語法錯誤但有些人則不認為認為這是靜態的語意錯誤 早期位元家用電腦的使用者介面是BASIC直譯器SYNTAX ERROR錯誤訊息英语error message常造成使用者的困擾只要直譯器無法識別用戶的輸入就會出現此一訊息语法错误可能是因為輸入的算式不正確例如算式中有左括號但沒有右括號或是一個數字中有多個小數點等 在Java語言中以下的程式是正確的 SystemoutprintlnHello World 以下的程式不正確 SystemoutprintlnHello World 第二個程式理論上要顯示的是叫作Hello World的變數而不是Hello World這個字且Java語言的變數名稱中不可有空白因此會出現語法錯誤 編譯器會標示程式中有语法错误的行可能也會有簡單的說明 型態錯誤例如在Java中對布林變數作遞增運算或是未宣告的變數若在編譯時發現有時會視為是语法错误不過也常將這類錯誤歸類為靜態語意錯誤