2008-12-09 19 views
5

Bối cảnhĐiều gì sẽ là một Delex lexer/phân tích cú pháp tốt cho tập tin ngôn ngữ Javascript?

Tôi muốn có thể phân tích cú pháp nguồn Javascript trong ứng dụng Delphi. Tôi cần để có thể xác định các biến và chức năng trong nguồn cho mục đích thay đổi mã thông qua mã sau này. Tôi hiểu rằng tôi có thể cần phải sử dụng một lexer cho mục đích này nhưng không có nhiều may mắn bằng cách sử dụng lexer mà tôi tìm thấy (Dyaclexx).

Câu hỏi

Có một phần mềm miễn phí phù hợp hoặc mã nguồn mở phân tích cú pháp delphi/lexer mà đã có bộ thẻ cho Javascript hoặc có thể dễ dàng sửa đổi cho mục đích này mà không có quá nhiều rắc rối?

Nếu không có công cụ như vậy đã có thì cách tốt nhất để tìm hiểu về cách viết lexer của riêng bạn cho mục đích này là gì?

Thank-you

Trả lời

4

Đối với lexer bạn có thể thấy Synedit's mã nguồn cho highlighter Javascript. Một highlighter trong bối cảnh Synedit là một lexer với các móc đặc biệt để cung cấp làm nổi bật thành phần trình soạn thảo. Cắt tỉa những móc và nhận được một lexer đồng bằng là một công việc tầm thường.

Đồng thời trình chỉnh sửa Synedit có thể hữu ích trong khi học cách xây dựng từ vựng vì nó sẽ giúp bạn kiểm tra trực quan từ vựng của bạn theo thời gian thực. Bạn có thể xem các bản trình diễn hoặc hỏi tại danh sách gửi thư để biết thêm.

0

Tôi nghĩ bạn nên sử dụng nên xem xét GoldParser (http://www.devincook.com/goldparser) để tạo trình phân tích cú pháp JS hoàn chỉnh trong mã Delphi. GoldParser là phần mềm miễn phí.

+0

Goldparser rất đẹp nhưng cực kỳ chậm. Ngay cả trong tốc độ tối ưu hóa C + + mã nó mất 10 giây để phân tích một dòng 15000 mã. Nếu bạn so sánh điều này với tốc độ của trình phân tích cú pháp PHP thì điều này cực kỳ chậm. – Elmue

Các vấn đề liên quan