Có thể sử dụng một khuôn khổ được viết bằng một ngôn ngữ Parrot (LLVM) trong bất kỳ ngôn ngữ Parrot (LLVM) nào khác không? (Giống như việc sử dụng Khuôn khổ .NET từ bất kỳ ngôn ngữ CLR nào) ...Các máy ảo như LLVM hoặc PARROT có cho phép sử dụng cùng một thư viện từ nhiều ngôn ngữ không?
5
A
Trả lời
1
Vẹt và LLVM là hai thứ khác nhau được thực hiện bởi hai tổ chức khác nhau.
Vẹt là máy ảo và LLVM là máy ảo cũng có thể biên dịch tĩnh.
Sửa
Giả sử các ý kiến để trả lời của tôi là chính xác:
- LLVM cho phép bạn gọi mã LLVM khác và cũng C bên ngoài như thư viện.
- Parrot cho phép bạn gọi mã Parrot khác, nhưng không phải bên ngoài C như thư viện.
http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines
1
LLVM
Bệ đặt cho máy ảo ở mức độ thấp. Nó sử dụng các mã opcode cấp thấp, dễ dàng ánh xạ tới mã máy riêng.
- Ngôn ngữ: Fortran, C, C++
- Ứng dụng: Hệ thống lập trình, phát triển trình biên dịch
Parrot:
Đây là một máy ảo cấp cao. Opcodes của nó là cấp cao hơn nhiều sau đó những người trong hầu hết các máy ảo. Điều này cho phép Parrot tạo mã gốc hiệu quả cho các ngôn ngữ động.
- Ngôn ngữ: Ruby, Perl, PHP
- Ứng dụng: server-side scripting
Các vấn đề liên quan
- 1. Có hằng số cho mã ngôn ngữ trong java hoặc trong thư viện java không?
- 2. Bootstrapping một ngôn ngữ trên LLVM
- 3. Danh sách các máy ảo và ngôn ngữ có nguồn gốc từ Lua
- 4. Liên kết LLVM JIT Mã với Thư viện LLVM tĩnh?
- 5. Ngôn ngữ lắp ráp LLVM ổn định như thế nào?
- 6. Cho phép người sử dụng một phiên bản sandbox của một ngôn ngữ lập trình
- 7. Sử dụng ngôn ngữ nào để viết thư viện trò chơi, Truy cập hoặc Rôm?
- 8. Thư viện bản dịch ngôn ngữ Java
- 9. Sử dụng IPC để kết hợp nhiều ngôn ngữ
- 10. Sử dụng CMake với nhiều trình biên dịch cho cùng một ngôn ngữ
- 11. Nhận các ngôn ngữ có sẵn cho một ứng dụng
- 12. LỖI: cho phép từ chối cho ngôn ngữ c
- 13. Một thư viện/lớp học PHP để đếm từ bằng các ngôn ngữ khác nhau?
- 14. Ngôn ngữ cho trình biên dịch dựa trên LLVM
- 15. Máy ảo tốt để phát triển ngôn ngữ sở thích là gì?
- 16. Các thư viện được chia sẻ có sử dụng cùng một vùng với ứng dụng không?
- 17. Sắp xếp một dự án sử dụng nhiều ngôn ngữ?
- 18. Làm cách nào để viết các trình bao bọc ngôn ngữ khác nhau cho cùng một thư viện?
- 19. Có thư viện ngữ pháp phân tích cú pháp (PEG) nào cho Javascript hoặc PHP không?
- 20. Thư viện ngôn ngữ nào có sẵn trong Linux?
- 21. Sử dụng LLVM bytecode cho các thư viện (thay vì các tập tin đối tượng bẩm sinh)
- 22. Ngôn ngữ lập trình/thư viện giao tiếp với phần cứng như thế nào?
- 23. Một hoặc nhiều kho Git cho các thư viện được chia sẻ giữa các đội
- 24. Có thư viện JavaScript (hoặc khác) để đọc giấy phép lái xe không?
- 25. Thư viện ngôn ngữ tự nhiên tốt để sử dụng để diễn giải là gì?
- 26. Cho phép người dùng chọn ngôn ngữ/ngôn ngữ ứng dụng?
- 27. Có thư viện xử lý ngôn ngữ tự nhiên thống kê nào cho Haskell không?
- 28. Tôi có thể sử dụng các thư viện từ FFmpeg trong một ứng dụng Android không?
- 29. CMake: nhiều tiểu dự án sử dụng cùng một thư viện tĩnh
- 30. Học nhiều ngôn ngữ nguy hiểm cùng một lúc?
Tôi nghĩ Jox được hỏi về cả Parrot và LLVM –
lợn đất là đúng, tôi nghĩ :) Qustion không phải là về các thư viện "cross-vm-platform", nhưng về khả năng sử dụng thư viện được viết bằng một ngôn ngữ cho ParrotVM trong bất kỳ ngôn ngữ được nhắm mục tiêu Parrot nào khác. Câu hỏi tương tự là viết tắt của LLVM. – Jox
Không thể gọi hàm C hoặc được gọi từ hàm C trong Parrot? – Eonil