ความผิดพลาดทางวากยสัมพันธ์
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
ในวิทยาการคอมพิวเตอร์ ความผิดพลาดทางวากยสัมพันธ์ (อังกฤษ: syntax error) คือ ความผิดพลาดเชิงวากยสัมพันธ์ของโค้ดที่เขียนในภาษาโปรแกรมใด ๆ หรืออาจกล่าวว่าเป็นความผิดพลาดในการเขียนลำดับของอักขระและสัญลักษณ์ภายใต้กฎของภาษาโปรแกรมนั้น
สำหรับภาษาเชิงคอมไพล์ (compiled language) ความผิดพลาดทางวากยสัมพันธ์จะแสดงออกมาเมื่อมีการคอมไพล์โปรแกรมโดยคอมไพเลอร์ และตราบใดที่ความผิดพลาดทางวากยสัมพันธ์ยังไม่ได้แก้ไขก็จะไม่สามารถดำเนินการคอมไพล์โค้ดมาเป็นโปรแกรมได้ แต่สำหรับภาษาเชิงแปลคำสั่ง (interpreted language) ความผิดพลาดทางวากยสัมพันธ์บางอย่างจะแสดงออกมาก็ต่อเมื่อโปรแกรมทำงานจนถึงคำสั่งที่มีปัญหา (run-time)
ในบางบริบท อาจจะตีความ "ความผิดพลาดทางวากยสัมพันธ์" ให้ครอบคลุมไปถึงเรื่องอื่น ๆ นอกจากการเขียนโปรแกรมก็ได้ เช่น เมื่อมีการป้อนคำสั่งเข้าเครื่องคิดเลข หากมีข้อผิดพลาดในข้อมูลนำเข้า เช่น วงเล็บเปิดกับวงเล็บปิดจับคู่กันไม่ถูกต้อง ก็อาจได้รับข้อความเตือนออกมาว่าเกิดความผิดพลาดทางวากยสัมพันธ์
ตัวอย่างโค้ดภาษาซีพลัสพลัส (ตัวอย่างของภาษาเชิงคอมไพล์) ที่มีความผิดพลาดทางวากยสัมพันธ์ เช่น
# include <cstdio>
int main(){
int a = (2 + 5;
return 0;
}
เมื่อคอมไพล์ จะมีการแจ้งข้อผิดพลาดจากคอมไพเลอร์ว่า
xyz.cpp: In function ‘int main()’: xyz.cpp:4:19: error: expected ‘)’ before ‘;’ token
ซึ่งหมายความว่าในบรรทัดที่ 4 มีการจับคู่วงเล็บเปิดและวงเล็บปิดไม่ถูกต้อง