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) 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ăngnă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".

Nguồn gốcSửa đổi

Thuật ngữ cú pháp đặc biệt (syntactic sugar) đã được đặt ra bởi Peter J. Landin 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.[1][2]

Ví dụ nổi bậtSửa đổi

  • 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úSửa đổi

  1. ^ Landin, Peter J. (1964). “The mechanical evaluation of expressions” (PDF). The Computer Journal. Computer Journal. 6 (4): 308–320. doi:10.1093/comjnl/6.4.308. Truy cập ngày 21 tháng 7 năm 2014.
  2. ^ Abelson & Sussman 1996, Chapter 1, footnote 11.

Tham khảoSửa đổi

Bài này phần lớn được lấy dữ liệu từ Free On-line Dictionary of Computing, đã có giấy phép GFDL.