Điều gì thực sự có nghĩa là không có ngữ cảnh trong thuật ngữ ngữ pháp không ngữ cảnh?


29

Tôi đã nghiên cứu các trình biên dịch trong một thời gian và tôi đã tìm kiếm những gì có nghĩa là "ngữ cảnh" trong ngữ pháp và ý nghĩa của ngữ pháp là "không ngữ cảnh", nhưng không có kết quả.

Vì vậy, bất cứ ai có thể giúp đỡ với điều này?


7
"Thực sự" có nghĩa là gì? Những lời giải thích nào bạn đã đọc và những gì bạn không hiểu? IIRC, mỗi cuốn sách giáo khoa nửa chừng về vấn đề này sẽ giải thích ý nghĩa của chúng.
Raphael

2
Đây là một ví dụ đáng tin cậy. Hãy xem xét từ "đọc". Đó là một từ duy nhất có hai nghĩa hoàn toàn khác nhau. Một là thì hiện tại "để đọc", còn lại là thì quá khứ "Tôi đã đọc". Nếu bạn thấy từ "đọc" trong một đoạn văn bản, bạn không thể phân biệt ý nghĩa nào trong hai nghĩa mà nó đại diện, mà không cần nhìn vào ngữ cảnh. Do đó, tiếng Anh là một ngữ cảnh nhạy cảm, bởi vì bạn không thể phân tích từng mã thông báo (từ) mà không xem xét nó trong ngữ cảnh. Một ngữ pháp nhạy cảm theo ngữ cảnh là một ngữ pháp trong đó ý nghĩa của mọi mã thông báo được trích rõ ràng từ mã thông báo duy nhất đại diện cho nó.
Alexander - Tái lập Monica

Câu trả lời:


30

Bối cảnh có thể được giải thích liên quan đến các quy tắc sản xuất được phép cho các ngữ pháp khác nhau trong hệ thống phân cấp Chomsky.

Nếu bạn xem xét ngữ pháp không ngữ cảnh, quy tắc sản xuất của chúng có dạng sau:

Mộtα

Vì vậy, bạn có thể quan sát rằng phần bên trái của loại quy tắc này chỉ được tạo thành từ một biểu tượng không đầu cuối; do đó, việc thay thế biểu tượng không đầu cuối diễn ra mà không xem xét "bối cảnh" của nó, đó là các biểu tượng khác mà nó được bao quanh.

Mặt khác, nếu bạn xem xét các quy tắc sản xuất các ngữ pháp nhạy cảm theo ngữ cảnh, chúng có dạng sau:

βMộtγβαγ

nơi là một tổ chức phi-thiết bị đầu cuối và α , β , γ là trình tự của các phi cảng và thiết bị đầu cuối.Mộtαβγ

Trong trường hợp này "ngữ cảnh" (ví dụ, γ ) của biểu tượng không bị đầu cuối được thay thế ảnh hưởng tác động của thay và nó là một phần của quy tắc riêng của mình.βγ

Bạn có thể tìm thêm chi tiết trong câu trả lời này về toán học và trong câu trả lời này về công nghệ phần mềm.


Cảm ơn bạn đã trả lời. Nhưng điều kỳ lạ đối với tôi là một câu hỏi tương tự đã được hỏi về toán học SE.
Shady Atef

1
βγ

1
@Frozn AFAIK cái được đưa ra ở đây là định nghĩa chuẩn theo phân cấp Chmosky. Chắc chắn, có những ngữ pháp mạnh hơn ngữ nghĩa nhạy cảm cho phép mọi loại hình sản xuất, nhưng các ngữ pháp nhạy cảm theo ngữ cảnh tiêu chuẩn thì không.
Bakuriu

2
@Frozn: Bakariu đã đúng, ở đây chúng ta đang nói về ngữ pháp được định nghĩa theo hệ thống phân cấp Chomsky, dựa trên các điều kiện ngày càng hạn chế về quy tắc sản xuất. Cụ thể, ngữ pháp không ngữ cảnh là loại ngữ pháp loại 2, trong khi ngữ pháp nhạy cảm ngữ cảnh là loại 1. Tuy nhiên, ngữ pháp loại 0 có quy tắc sản xuất không bị giới hạn bởi bất kỳ hạn chế nào và do đó được gọi là hệ thống viết lại không hạn chế. Ở đây bạn có thể tìm thấy một mô tả ngắn về hệ thống phân cấp Chomsky với một số ví dụ.
PieCot

βMộtγδ|βMộtγ||δ|

17

Mộtnhiều thứđồ đạcMộtnhiều thứ hơnnhiều thứExprx:=y+zf(y+z)return y+z


4

Nói chung, ngay cả các ngôn ngữ thông thường cũng có thể có các phụ thuộc ngữ cảnh, nghĩa là bạn có thể xác định - ở một mức độ nào đó - theo cách mà các biểu tượng có thể xuất hiện trong vùng lân cận của các biểu tượng khác trong một chuỗi thuộc về ngôn ngữ đó.

Điều đặc biệt đối với các ngữ pháp không ngữ cảnh là khi có nhiều cách thay thế một biểu tượng không đầu cuối, bằng cách áp dụng các quy tắc khác nhau với cùng một thiết bị đầu cuối ở bên phải, việc lựa chọn quy tắc nào sẽ không bao giờ phụ thuộc vào điều gì đang xảy ra xung quanh biểu tượng này trong quá trình phái sinh.

Bạn có thể nghĩ về chúng như các ngôn ngữ phái sinh không ngữ cảnh, viết tắt là các ngôn ngữ không ngữ cảnh.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.