Ngôn ngữ máy tính có các quy tắc thực sự nghiêm ngặt và lỗi cú pháp (syntax error) có nghĩa là bạn đã phá vỡ một trong số những quy tắc đó. Cú pháp tồn tại trong cả ngôn ngữ thông thường. Đó là cách các từ được sắp xếp để tạo thành những câu có nghĩa.
Trong khi con người có thể thích nghi và cấu trúc một câu theo nhiều cách mà vẫn đảm bảo câu đó có nghĩa, thì máy tính cần những hướng dẫn cực kỳ chính xác. Nếu chúng ta phá vỡ các quy tắc dù chỉ là một chút, một lệnh vẫn có thể có ý nghĩa đối với con người, nhưng máy tính sẽ không thể thể giải nghĩa được nó.
Cú pháp trong ngôn ngữ của con người
Tưởng tượng ai đó nói với bạn một câu tiếng Anh với nội dung như sau: “I saw a woman over there with a telescope”. Có rất nhiều cách bạn có thể diễn giải câu này:
- "Using a telescope, I observed a woman who was over there." (Sử dụng kính viễn vọng, tôi quan sát thấy một người phụ nữ ở đằng kia).
- "I observed a woman, who was over there, and she had a telescope." (Tôi quan sát thấy một người phụ nữ ở đằng kia và cô ấy có một chiếc kính viễn vọng).
- "I observed a woman and a telescope, they were both over there." (Tôi quan sát thấy một người phụ nữ và một chiếc kính viễn vọng, cả hai đều ở đằng kia).
- "I was over there and I observed a woman who had a telescope." (Tôi ở đằng kia và quan sát thấy một người phụ nữ có kính viễn vọng).
- "Sometimes, I go over there and saw a woman using a telescope." (Thỉnh thoảng, tôi đi đến đó và thấy một người phụ nữ sử dụng kính viễn vọng).
Bởi vì bạn là con người, bạn có thể áp dụng bối cảnh cho câu này. Dựa vào vị trí của từ “over there” và có thể là có thông tin nào trước đó liên quan đến kính viễn vọng, bạn sẽ giả định được cách giải thích thứ nhất hoặc thứ hai là chính xác.
Lỗi cú pháp trong ngôn ngữ máy tính là gì?
Việc làm thế nào các lỗi cú pháp được xử lý trong những ngôn ngữ khác nhau có thể thay đổi rất nhiều. Một vài ví dụ được đưa ra ở đây:
- Excel: Nếu bạn nhập công thức với cú pháp không chính xác vào một ô trong Excel, bạn sẽ thấy #VALUE được hiển thị trong ô. Nó không chỉ ra một cách rõ ràng đó là lỗi cú pháp, nhưng thực tế đúng là vậy.
- HTML: Bạn có thể phá vỡ rất nhiều quy tắc trong HTML và một trang web sẽ vẫn hiển thị tốt trên hầu hết các trình duyệt. Vấn đề với điều này là hành vi có thể trở nên khó lường. Một trang có thể trông ổn trên trình duyệt của bạn, nhưng không hoạt động trên trình duyệt của người khác. Bạn nên kiểm tra code của mình với dịch vụ xác thực của W3C, nơi cung cấp thông tin chi tiết về các lỗi trong code HTML.
- JavaScript: Nếu có một lỗi cú pháp trong JavaScript, nó sẽ ngăn luồng (thread) có lỗi chạy. Tuy nhiên, phần còn lại của code, được chứa trong các luồng khác, sẽ vẫn được thực thi, miễn là chúng không phụ thuộc vào luồng có lỗi. Khi chạy code trong trình duyệt, thông thường sẽ không có gì xảy ra. Bạn sẽ không nhận được thông báo lỗi và code đó cũng không chạy.
Phải làm gì nếu bạn gặp lỗi cú pháp?
Nếu code của bạn không thành công do lỗi cú pháp, có một số điều bạn có thể làm để gỡ lỗi cho code của mình.
1. Bạn cần tìm ra chính xác lỗi cú pháp ở đâu. Trong nhiều ngôn ngữ, bạn sẽ nhận được thông báo lỗi chi tiết, cho bạn biết lỗi ở đâu trong code. Nếu bạn biết hướng dẫn nào có lỗi, bạn có thể kiểm tra tài liệu để biết ví dụ về cú pháp đúng.
2. Nếu bạn không chắc vấn đề ở đâu, bạn có thể thử chia code thành các phần nhỏ hơn, xem liệu mỗi phần có hoạt động đúng không và xác định phần nào chứa lỗi. Lặp đi lặp lại quá trình này có thể xác định vấn đề ở đâu và khắc phục nó.
3. Nếu bạn cần gỡ lỗi nhiều code web, có thể đáng để xem xét việc sử dụng các công cụ dành cho nhà phát triển.