2011-02-02 43 views
5

Tôi đã xem các câu lệnh như "mệnh đề mặc định" trong ngữ cảnh của câu lệnh chuyển đổi hoặc "mệnh đề JOIN" trong ngữ cảnh của SQL và tôi biết những gì các câu lệnh này nhưng tôi vẫn muốn thấy định nghĩa rõ ràng của thuật ngữ.Thuật ngữ "mệnh đề" trong ngữ cảnh lập trình

+1

Không thể xác định mệnh đề theo thuật ngữ không thuyết phục về ngôn ngữ. Bạn có ngôn ngữ cụ thể không? –

+2

@Rafe - Tôi đồng ý rằng bạn không thể xác định những đoạn nào tạo thành một mệnh đề trong một ngôn ngữ cụ thể mà không tham chiếu ngôn ngữ, nhưng chắc chắn khái niệm này có thể xác định được mà không cần tham chiếu đến ngôn ngữ. – tvanfosson

Trả lời

6

Khá giống với tiếng Anh (hoặc ngôn ngữ khác). Một mệnh đề là một đoạn không đầy đủ của một câu, hoặc trong trường hợp này là một câu lệnh, đóng gói một tác nhân và một hành động. Trong ví dụ của bạn về mệnh đề join, hành động là join và diễn viên là bảng được nối.

0

Giống như nhiều thuật ngữ trong lập trình, điều đó có nghĩa là ý nghĩa của nó trong số English language.

Khi lần đầu tiên tôi thấy COALESCE trong SQL chẳng hạn, tôi nghĩ "Cái quái gì?". Nhưng bạn biết gì không? Nó không những gì nó nói trên tin:

Trong ngữ âm học và lịch sử ngôn ngữ học, phản ứng tổng hợp, hoặc kết dính, là việc sáp nhập các tính năng của hai phân khúc thành một.

4

Tôi nghĩ rằng có một song song giữa một câu và một mệnh đề phụ thuộc trong ngôn ngữ tự nhiên và giữa một tuyên bố và một điều khoản bằng các ngôn ngữ máy tính.

Điều khoản không tự đứng, nhưng chỉ có ý nghĩa trong ngữ cảnh của một tuyên bố.

Ví dụ, các điều khoản

  • "lúc 2:30" (phó từ khoản)
  • ĐÂU A.ID = B.ID (JOIN khoản)

không đứng có ý nghĩa riêng của họ. Tuy nhiên, những mệnh đề đó có ý nghĩa trong ngữ cảnh của một câu hoặc tuyên bố.

  • "Gặp tôi lúc 2:30".
  • CHỌN A.NAME, B.ADDRESS TỪ A, B ĐÂU A.ID = B.ID

Một khoản mặc định trong một tuyên bố chuyển đổi của Java đề cập đến chi nhánh được thực hiện nếu không có kiểm tra giá trị khớp. Từ "mặc định" có phần vấn đề, vì nó thường có nghĩa là một sự thất bại của một số loại (như trong, "Thế chấp của bạn là mặc định"). Với ngôn ngữ máy tính, nó có xu hướng có nghĩa là "sự lựa chọn unchosen."

Đây là "mệnh đề" vì nó chỉ có ý nghĩa trong ngữ cảnh của các lựa chọn khác.

+0

Nhưng bất kỳ phần nào của câu (hoặc câu lệnh) có được mô tả bằng thuật ngữ "mệnh đề" không? –

+0

Không, mệnh đề là một đơn vị ý nghĩa. Một lý thuyết về ngôn ngữ học được gọi là Ngữ pháp Cấu trúc cụm từ hướng đầu (HPSG). Nó có nghĩa là một cụm từ không chỉ là một chuỗi các từ, mà là các từ gắn liền với một Đầu.Ví dụ, trong câu "John đánh bóng qua hàng rào", mệnh đề "qua hàng rào" là một cụm từ được đặt trước trong đó các từ treo với nhau xung quanh Đầu ("trên"). Không có sự liên kết hoặc ý nghĩa tương ứng để "bóng qua" bởi vì chúng thuộc về các mệnh đề khác nhau. Tương tự, trong câu lệnh Select ở trên, "WHERE A.ID = B.ID" có nghĩa, nhưng "B WHERE" thì không. – rajah9

+0

Làm cho tinh thần. Cám ơn giải thích rõ ràng! –

Các vấn đề liên quan