Syntax error là gì?
- ★
- ★
- ★
- ★
- ★
Trong lập trình (programming), lỗi cú pháp (syntax error) là một lỗi (error) trong cú pháp (syntax) của một chuỗi ký tự hoặc token được dùng để viết bằng một ngôn ngữ lập trình (programming language) cụ thể bởi lập trình viên (programmer).
Đối với các ngôn ngữ biên dịch (compiled language), lỗi cú pháp (syntax error) được phát hiện tại thời điểm biên dịch (compile time). Một chương trình sẽ không biên dịch (compile) cho đến khi tất cả các lỗi cú pháp (syntax error) được sửa chữa (fix). Tuy nhiên, đối với các ngôn ngữ thông dịch (interpreted language), lỗi cú pháp (syntax error) có thể được phát hiện trong quá trình thực thi (execution) của chương trình.
Có một số ý kiến không thống nhất về việc những lỗi nào là lỗi cú pháp (syntax error). Ví dụ: một số người sẽ nói rằng việc sử dụng giá trị của một biến chưa được khởi tạo (uninitialized variable) trong mã Java là một lỗi cú pháp (syntax error), nhưng nhiều người khác sẽ không đồng ý và sẽ phân loại đây là lỗi ngữ nghĩa (semantic error).
Trong Java, sau đây là một câu lệnh (statement) đúng về mặt cú pháp:
System.out.println("Hello World");
Trong khi câu lệnh sau đây thì không:
System.out.println(Hello World);
Ví dụ thứ hai về mặt lý thuyết sẽ in biến Hello World thay vì các từ "Hello World". Tuy nhiên, một biến (variable) trong Java không thể có khoảng trắng (space) ở giữa, vì vậy câu lệnh đúng về mặt cú pháp sẽ là System.out.println (Hello_World).
Một trình biên dịch sẽ gắn (flag) cờ lỗi cú pháp (syntax error) khi mã nguồn (source code) được cung cấp không đáp ứng các yêu cầu về văn phạm (grammar) của ngôn ngữ.
Việc áp dụng toán tử tăng (increment operator) ++ cho biến boolean trong Java và lỗi biến chưa khai báo (undeclared variable) đôi khi được coi là lỗi cú pháp (syntax error) khi chúng được phát hiện tại thời điểm biên dịch. Tuy nhiên, người ta thường phân loại các lỗi như vậy là lỗi ngữ nghĩa.
Nguyên nhân lỗi
Hầu hết các lỗi cú pháp phổ biến bắt nguồn từ lỗi chính tả và dấu câu không chính xác. Ví dụ: một lập trình viên có thể mắc lỗi khi nhập một dòng mã, điều này có thể khiến chương trình không chạy khi khởi chạy.
Cách khắc phục lỗi
Các lập trình viên cố gắng bắt các lỗi cú pháp (syntax error) được viết vào chương trình máy tính thông qua thử nghiệm (testing), thường là với sự trợ giúp của trình gỡ lỗi (debugger).
Learning English Everyday