Tôi đang xem xét vấn đề nhận dạng ngôn ngữ (trên bảng chữ cái 0-9 và dấu cách) có chứa các chuỗi như "1 2 3 4 5 6" và "14 15 16 17" chứ không phải "1 3".
Điều này xuất hiện trong khi làm việc trên một nhiệm vụ phân tích cú pháp phổ biến trong đó các yếu tố cần có trong một danh sách được sắp xếp. Tôi nhận ra rằng trong khi phân tích phần còn lại của ngôn ngữ đó là thông thường, phần này rõ ràng không đều - ví dụ, ngôn ngữ A1A2 trong đó A là một chuỗi tùy ý 0-9. Trong thực tế, nó có vẻ nhạy cảm với nội dung (và không có ngữ cảnh bởi bổ đề bơm).
Câu hỏi đầu tiên của tôi: có một loại ngôn ngữ (khá nổi tiếng, nghĩa là không được xác định chỉ cho vấn đề này) giữa các ngôn ngữ nhạy cảm và không ngữ cảnh mô tả sức mạnh biểu cảm của nó tốt hơn? Tôi đã đọc về các ngôn ngữ được lập chỉ mục của Aho, nhưng đối với tôi không rõ ràng về những ngôn ngữ này, thậm chí nó còn ở trong lớp đó, mạnh mẽ.
Câu hỏi thứ hai của tôi là không chính thức. Có vẻ như ngôn ngữ này dễ phân tích, và nó rất cao trong hệ thống phân cấp. Có phải là thông thường để đi qua các ví dụ tương tự và có một cách tiêu chuẩn để đối phó với chúng? Có một nhóm các ngôn ngữ khác nhau không tương thích với việc đưa vào các ngôn ngữ 'thông thường' không?
Lý do của tôi để nghĩ rằng điều này là dễ dàng: ngôn ngữ có thể được phân tích cú pháp một cách xác định, bằng cách đọc cho đến khi bạn đến cuối số đầu tiên, kiểm tra xem số tiếp theo có tiếp theo hay không. Cụ thể, nó có thể được phân tích cú pháp trong thời gian O (n) với không gian O (n); không gian có thể giảm xuống không có quá nhiều rắc rối, tôi nghĩ vậy. Nhưng nó đủ khó để có được hiệu suất như vậy với các ngôn ngữ thông thường, chứ đừng nói đến ngữ cảnh.