Cú pháp đặc biệt

Trong khoa học máy tính, cú pháp đặc biệt (tiếng Anh: syntactic sugar, nghĩa đen là "kẹo đường cú pháp") là cú pháp trong một ngôn ngữ lập trình được thiết kế để làm cho mọi thứ dễ đọc hay thể hiện hơn. Nó khiến ngôn ngữ "ngọt ngào hơn" cho con người sử dụng: mọi thứ có thể được thể hiện rõ ràng hơn, chính xác hơn, hay theo một cách khác mà một số người khác thích.

Ví dụ, nhiều ngôn ngữ lập trình cung cấp cú pháp đặc biệt để tham chiếu và cập nhật các phần tử của mảng (array). Một cách tóm tắt, tham chiếu mảng là một thủ tục với 2 đối số: một mảng và một vector chỉ số, có thể được biểu diễn như get_array(Array, vector(i,j)). Thay vì vậy, nhiều ngôn ngữ cung cấp cú pháp như Array[i,j]. Tương tự như vậy, cập nhật phần tử của một mảng là một thủ với 3 đối số, như set_array(Array, vector(i,j), value), nhưng nhiều ngôn ngữ cung cấp cú pháp Array[i,j] = value.

Một cách cụ thể, một cấu trúc trong ngôn ngữ được gọi là "cú pháp đặc biệt" nếu nó có thể được gỡ bỏ khỏi ngôn ngữ mà không gây bất kì ảnh hưởng tới chức năng của ngôn ngữ đó: chức năng và năng lực biểu hiện vẫn như cũ.

Các bộ xử lý ngôn ngữ, bao gồm trình biên dịch, bộ phân tích tĩnh, và các loại tương tự, thường mở rộng các cấu trúc đặc biệt thành các cấu trúc cơ bản hơn trước khi xử lý, và quá trình này được gọi là "desugaring" (dịch nôm na là "khử đường").

Nguồn gốc 
Thuật ngữ gốc syntactic sugar được Peter J. Landin đặt ra vào năm 1964 để mô tả cú pháp bề mặt của một ngôn ngữ lập trình đơn giản giống như ALGOL.

Ví dụ nổi bật 
 Trong COBOL, nhiều từ khóa trung gian là cú pháp đặc biệt có thể được bỏ qua. Ví dụ, câu MOVE A B. và câu MOVE A TO B. thực hiện chính xác cùng một chức năng, nhưng câu sau khiến hành động được thực hiện rõ ràng hơn.

Ghi chú

Tham khảo 

 
 
 
 
 , reprinted in 
 

Mã nguồn
Thiết kế ngôn ngữ lập trình