Voodoo Compiler

Phần mềm chụp màn hình:
Voodoo Compiler
Các chi tiết về phần mềm:
Phiên bản: 1.1.1
Ngày tải lên: 20 Feb 15
Nhà phát triển: Robbert Haarman
Giấy phép: Miễn phí
Phổ biến: 6

Rating: nan/5 (Total Votes: 0)

Voodoo Compiler là một thực hiện của ngôn ngữ lập trình Voodoo. & Nbsp; Các ngôn ngữ lập trình Voodoo là một ngôn ngữ lập trình cấp thấp, trừu tượng hóa qua hướng dẫn của nền tảng thiết lập và kêu gọi công ước, nhưng nếu không để lại các lập trình viên tự do làm bất cứ điều gì ở tất cả.
Voodoo Compiler được viết bằng Ruby và tạo ra mã cho i386 tương thích, AMD64, và CPU MIPS. Hỗ trợ cho CPU mục tiêu bổ sung được lên kế hoạch cho tương lai.
Cách sử dụng
Có hai cách chính để sử dụng các trình biên dịch Voodoo: bằng cách chạy chương trình voodooc, hoặc bằng cách sử dụng các API Ruby.
Chương trình biên dịch một voodooc Voodoo tập tin nguồn. Sử dụng của nó được mô tả trong manpage voodooc.1, bao gồm việc phân phối. Sau đây là một ví dụ về cách voodooc có thể được sử dụng để tạo ra một chào thực thi từ một tập tin nguồn hello.voo:
$ Voodooc hello.voo
$ Cc hello.o -o chào
$ ./hello
Chào thế giới!
An thực hiện hello.voo có thể được tìm thấy trong các bài kiểm tra thư mục của phân phối.
Cách thứ hai để sử dụng các trình biên dịch Voodoo là bằng cách sử dụng nó từ một chương trình Ruby. Điều này có thể được sử dụng, ví dụ, để tạo ra mã cho các nền tảng mục tiêu mà không cần phải tạo ra một tập tin .voo. Sau đây là một ví dụ mà tạo ra một tập tin gọi là đối tượng fact.o, có chứa một định nghĩa của một chức năng thực tế mà tính giai thừa:
đòi hỏi 'voodoo'
máy phát điện = Voodoo :: CodeGenerator.get_generator: kiến ​​trúc =>: i386,
& Nbsp;: format =>: elf
generator.export: thực tế
generator.add_function_label: thực tế
generator.add_function [: n],
& Nbsp; [: ifle, [: n, 1],
& Nbsp; # sau đó
& Nbsp; [[: trở về, 1]],
& Nbsp; # khác
& Nbsp; [[: cho,: x,: sub,: n, 1],
& Nbsp; [: set,: x,: gọi,: thực tế,: x],
& Nbsp; [: trở về,: mul,: n,: x]]]
File.open ('fact.o', 'w') {| outfile | generator.write outfile}
Trình biên dịch Voodoo API đó là một chương trình có sẵn để Ruby được mô tả trong các tài liệu API

là gì mới trong phiên bản này:.

    < li> Compatibility với Ruby 1.9, ngoài Ruby 1,8; thực hiện kiểm tra tại báo cáo số lượng các bài kiểm tra được thông qua và đã thất bại.
  • Các thử nghiệm nhiều-vars đã bị chia thành nhiều-args, nhiều-args đuôi, và nhiều-dân địa phương.

là gì mới trong phiên bản 1.0.1:

  • Phiên bản này bổ sung thêm một số cải tiến để phân tích cú pháp , mà giờ đây báo cáo địa điểm mã nguồn cho tất cả các lỗi và có thể báo cáo nhiều sai sót bên trong khối, chức năng, và điều kiện. Một số xét nghiệm để phân tích cú pháp đã được thêm vào.
  • Phiên bản này sửa chữa một lỗi phân tích cú pháp trên báo cáo tiếp theo nhận xét và một vấn đề mà gây ra các phân tích cú pháp để thất bại trên đầu vào sản phẩm nào.

là gì mới trong phiên bản 1.0.0:

  • máy phát điện mã ARM: Trình biên dịch có thể tạo lắp ráp và mã đối tượng ELF cho kiến ​​trúc ARM.
  • Cải thiện báo cáo lỗi:. Nhiều lỗi được phát hiện, và lỗi này được báo cáo trong dễ dàng hơn để hiểu được các thông báo lỗi

  • Module
  • Validator: module mới này có thể được sử dụng để tạo ra mã xác nhận Voodoo. Nó được sử dụng bởi các cú pháp để xác nhận đang phân tích cú pháp.
  • giao diện Tính năng: tính năng của việc thực hiện có thể được truy vấn cả lập trình và từ dòng lệnh
  • .

là gì mới trong phiên bản 0.7.0:

  • Blocks: những cung cấp phạm vi mà trong đó các biến địa phương có thể được định nghĩa với let. Biến như vậy tồn tại từ cuối câu lệnh let cho đến khi kết thúc của khối. Khối có thể xảy ra ở bất kỳ nơi nào mà một hành động có thể xảy ra. Họ đang bắt đầu với khối và kết thúc với khối cuối.
  • điều kiện Chained: nó bây giờ có thể viết & quot; else if & quot ;, thay vì đòi hỏi một lồng nhau nếu trong mệnh đề khác
  • .
  • Shift và xoay: chuyển động (asr, BSR, SHL, SHR) và xoay các hành động (rol, ROR) đã được thêm
  • .
  • Return không có giá trị: trở lại bây giờ có thể được sử dụng mà không chỉ định một biểu thức để đánh giá. Điều này gây ra một giá trị không xác định được trả về từ hàm.

là gì mới trong phiên bản 0.6.3:

  • Phiên bản này giới thiệu tại biểu thức: Bằng cách đặt trước từ một nhãn, biến cục bộ, hoặc số nguyên với một @, các giá trị được coi là một địa chỉ, và các từ được lưu trữ tại địa chỉ đó được trả về.
  • Ngoài ra, một số lỗi đã được phát hiện trong đường dây được mã hóa trong mã lắp ráp tạo ra.
  • Những lỗi đã được cố định, và phiên bản 0.6.3 bây giờ xử lý các chuỗi có chứa tất cả các giá trị có thể 256 byte đúng.

là gì mới trong phiên bản 0.6.2:

  • Phiên bản này sửa lỗi trong việc triển khai các set- từ cho i386 và AMD64 và cho biết thêm các xét nghiệm cho các trường hợp mà trước đó không làm việc một cách chính xác.

Phần mềm tương tự

bff
bff

3 Jun 15

LLVM
LLVM

17 Aug 18

GCC MELT
GCC MELT

17 Feb 15

CMake
CMake

16 Aug 18

Ý kiến ​​để Voodoo Compiler

Bình luận không
Nhập bình luận
Bật hình ảnh!