- Các ngôn ngữ được PEG công nhận có phải không có ngữ cảnh không?
Không, như Brian Ford đã chỉ ra trong bài viết giới thiệu PEG năm 2004 của mình , từ đó là trích dẫn ngắn sau đây:
Định lý: Lớp PEL bao gồm các ngôn ngữ không ngữ cảnh.
Bằng chứng: Ngôn ngữ ví dụ cổ điển không có ngữ cảnh, nhưng chúng ta có thể nhận ra nó bằng PEG , trong đó R chứa các định nghĩa sau:
mộtnbncnG = ( { A , B , D } , { a , b , c } , R , D )
Một ← một Một b / ε
B ← b B c / ε
D ← & ( A ! B )một*B ! .
- Nếu câu trả lời cho (1) là không, có bất kỳ hình thức ngữ pháp biểu cảm nào được đảm bảo chỉ tạo ra các ngữ pháp không rõ ràng không? Đặc biệt, sẽ giảm vàchỉ mang lại ngữ pháp không ngữ cảnh?&!
Ngay cả khi không có(và do đó không có , vì nó được định nghĩa chính thức theo thuật ngữ ), bạn vẫn sẽ phải đối phó với phần bù ngầm ẩn trong định nghĩa của lựa chọn theo thứ tự. Tôi không có ví dụ cụ thể về lựa chọn theo thứ tự dẫn đến không phải CFL, nhưng tôi sẽ cố gắng tìm một bằng cách bắt đầu với hai CFG và có sự khác biệt không phải là CFL và có thể được chuyển đổi thành PEG và . Bây giờ, nếu là một số ký hiệu không có trong một ngôn ngữ, thì PEG sẽ nhận ra , không phải là CFL.!&!L1L2P1P2cP2/P1cL2∪ (L1-L2) c
- Nếu tất cả các PEG không có ngữ cảnh, chúng có thể chuyển đổi thành BNF tương đương thông qua thuật toán không?
Nếu phỏng đoán của tôi ở trên là chính xác, thì câu hỏi này không thể áp dụng được, nhưng trong mọi trường hợp không có thuật toán nào tôi biết để chuyển đổi giữa PEG và CFG, và tôi tin rằng sự tương đương của PEG và CFG là không thể giải quyết được. Thực tế này làm phức tạp các thủ tục bằng chứng tôi đề xuất ở trên. :)