Cho một biểu thức chính quy R trên bảng chữ cái {0,1}, với cú pháp giống hai bài toán trước (ký hiệu đơn 0, 1; ký hiệu đặc biệt @ cho ngôn ngữ {ε} và # cho ngôn ngữ rỗng ∅; phép nối liền kề; phép hợp |; các toán tử hậu tố *, +, ?; dấu ngoặc đơn ( ) để nhóm), hãy thực hiện đầy đủ quy trình sau của một động cơ regex hoàn chỉnh:
0 và đúng một chuyển cho ký hiệu 1; nếu một trạng thái DFA (tập con trạng thái NFA) không có chuyển hợp lệ với một ký hiệu nào đó, chuyển nó tới một trạng thái bẫy chung (không chấp nhận, tự lặp lại chính nó với mọi ký hiệu).Cho biết số trạng thái của DFA tối tiểu (bằng số khối trong phân hoạch ổn định cuối cùng).
Ví dụ (kinh điển trong lý thuyết automat): R= (0|1)*011 — ngôn ngữ các chuỗi nhị phân kết thúc bằng 011 — có DFA tối tiểu gồm đúng 4 trạng thái.
Một dòng duy nhất chứa biểu thức chính quy R, độ dài từ 1 đến 60 ký tự, không chứa khoảng trắng.
In ra một số nguyên duy nhất là số trạng thái của DFA tối tiểu (hoàn chỉnh trên bảng chữ cái {0,1}) chấp nhận đúng ngôn ngữ L(R).
Với R= (0|1)*011, kết quả in ra là:
4
Ví dụ:
Đầu vào:
#
Đầu ra:
1
Đầu vào:
(0|1)*
Đầu ra:
1
Đang tải editor...