2011-10-20 17 views
10

Tôi có một DSL (được thực hiện với ANTLR) mà tôi cần phải viết một trình soạn thảo hỗ trợ nội dung/tự động hoàn tất. Tôi đã chuyển một nguyên mẫu ngữ pháp của mình sang Xtext, và tôi khá hài lòng với chất lượng của trình soạn thảo mà nó tạo ra.Có thể sử dụng Xtext mà không có nhật thực?

Thật không may, tôi không thể sử dụng Eclipse làm trình chỉnh sửa của mình. Thay vào đó, tôi muốn sử dụng ngữ pháp Xtext để tạo ra một số tạo tác mà tôi có thể sử dụng lại bên ngoài Eclipse. Từ những gì tôi đã nhìn thấy, tập tối thiểu các hiện vật tôi cần là:

  • các mô hình EMF,
  • parsers,
  • các * ProposalProviders, và
  • các thư viện cần thiết.

Có ai đã cố gắng sử dụng Xtext bên ngoài Eclipse không? Có bao nhiêu thư viện bên ngoài nó phụ thuộc vào?

Cảm ơn!

Trả lời

9

cho phần phụ trợ (trình phân tích cú pháp/serializer/trình định dạng/metamodel v.v.) đây không phải là vấn đề và nó sẽ yêu cầu khoảng 30 libaries/17MB. phần ui yêu cầu nhật thực.

bạn có thể sử dụng xuất khẩu -> Runnable jar tập tin hướng dẫn để có được tất cả libs phụ thuộc bạn cần

8

Về cơ bản các câu trả lời giống như một đưa Christian, đây chỉ là một con trỏ đến một mô tả chi tiết hơn về How to Deploy Xtext to a Headless Plain-Java Environment. Nếu bạn quan tâm đến việc sử dụng các tạo phẩm được tạo từ ngữ pháp, bạn có thể tìm một đoạn mã trong XText FAQ

1

Bạn có thể sử dụng chế độ dòng lệnh của ứng dụng xtext. Đối với mục đích này: bạn schould trong tập tin mô tả công việc GenerationYourDSLName.mwe2 những dòng sau

// generator API 
fragment = generator.GeneratorFragment { 
    generateJavaMain = true 
} 

sau đó tạo ra các đồ tạo tác xtext

1

Với Xtext 2.9, nó có thể để xây dựng cơ sở hạ tầng của bạn độc lập ngôn ngữ của Eclipse (và có thể nhắm mục tiêu IntelliJ IDEA hoặc web), sử dụng Maven/Gradle cũ. Chỉ cần bỏ chọn các khía cạnh Eclipse plugin khi tạo dự án Xtext và đặt Hệ thống xây dựng ưu tiên thành Maven hoặc Gradle.