Có một số khác biệt giữa Lex và Flex, nhưng bạn phải lạm dụng Lex để gặp phải sự cố với Flex. (Tôi có một chương trình mà lạm dụng Lex và không hoạt động theo Flex, do đó.) Đây là chủ yếu trong lĩnh vực đầu vào lookahead; trong Lex, bạn có thể cung cấp mã đầu vào của riêng mình và sửa đổi luồng ký tự; Flex sẽ không cho phép bạn làm điều đó.
Yacc và Bison tương đối chặt chẽ, mặc dù Bison có một số thủ thuật phụ mà nó có thể thực hiện.
Bạn có thể không tìm được bản sao hợp pháp (bản gốc, AT & phiên bản T của) Lex và Yacc để cài đặt trên Ubuntu. Tôi không nhất thiết phải nói điều đó là không thể, nhưng tôi không nhận thức được điều đó. Flex và Bison có sẵn và tương đương với hầu hết các mục đích. Bạn cũng có thể tìm thấy các chương trình thay thế và tương đương khác nhau từ thế giới BSD.
Lex và Yacc được duy trì bởi các giấy phép SVRx của Unix - các công ty như IBM (AIX), HP (HP-UX) và Sun (Solaris) có các phiên bản sửa đổi của Lex và Yacc. MKS cũng cung cấp MKS Lex và MKS Yacc; tuy nhiên, Yacc ít nhất có một số phần mở rộng không chuẩn.
Flex và Bison hoàn toàn miễn phí. (AT & T) Lex và Yacc thì không.
Nguồn
2009-03-08 12:58:39
Không có phiên bản lex 2.5.35 - bạn đang chạy phiên bản flex 2.5.35, nó chỉ xác định chính nó là 'lex' nếu bạn gọi nó là 'lex' –