Voodoo Compiler

Screenshot Λογισμικό:
Voodoo Compiler
Στοιχεία Λογισμικού:
Εκδοχή: 1.1.1
Ανεβάστε ημερομηνία: 20 Feb 15
Προγραμματιστής: Robbert Haarman
Άδεια: Δωρεάν
Δημοτικότητα: 6

Rating: nan/5 (Total Votes: 0)

Voodoo Compiler είναι μια υλοποίηση της γλώσσας προγραμματισμού Voodoo & nbsp?. Η γλώσσα προγραμματισμού βουντού είναι ένα χαμηλού επιπέδου γλώσσα προγραμματισμού, υδροληψίες πάνω από εντολή της πλατφόρμας που και καλώντας συμβάσεις, αλλά κατά τα άλλα αφήνει τον προγραμματιστή χωρίς να κάνει τίποτα καθόλου.
Βουντού Compiler είναι γραμμένο σε Ruby και δημιουργεί κώδικα για i386-συμβατό, AMD64, και MIPS επεξεργαστές. Υποστήριξη για επιπλέον επεξεργαστές στόχο έχει προγραμματιστεί για το μέλλον.
Χρήση
Υπάρχουν δύο βασικοί τρόποι για να χρησιμοποιήσετε το μεταγλωττιστή Βουντού: εκτελώντας το πρόγραμμα voodooc, ή χρησιμοποιώντας το Ruby API.
Το πρόγραμμα voodooc καταρτίζει αρχεία προέλευσης βουντού. Η χρήση του περιγράφεται στην σελίδα man voodooc.1, περιλαμβάνεται στη διανομή. Το παρακάτω είναι ένα παράδειγμα του πώς voodooc μπορεί να χρησιμοποιηθεί για να δημιουργήσετε ένα εκτελέσιμο γεια από hello.voo αρχείο προέλευσης:
$ Voodooc hello.voo
$ Cc hello.o -o γεια
$ ./hello
Γειά σου Κόσμε!
Μια υλοποίηση του hello.voo μπορεί να βρεθεί στην δοκιμή κατάλογο της κατανομής.
Ο δεύτερος τρόπος για να χρησιμοποιήσει το μεταγλωττιστή βουντού είναι με τη χρήση του από ένα πρόγραμμα Ruby. Αυτό μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη δημιουργία κώδικα για την πλατφόρμα στόχου, χωρίς να χρειάζεται να δημιουργήσει ένα αρχείο .voo. Το ακόλουθο είναι ένα παράδειγμα το οποίο δημιουργεί ένα αρχείο αντικείμενο που ονομάζεται fact.o, περιέχει έναν ορισμό του γεγονότος λειτουργία που υπολογίζει παραγοντικών:
απαιτούν «βουντού»
γεννήτρια = Βουντού :: CodeGenerator.get_generator: αρχιτεκτονική =>: i386,
& Nbsp?: Format =>: ξωτικό
generator.export: πραγματικότητα
generator.add_function_label: πραγματικότητα
generator.add_function [: n],
& Nbsp? [: Ifle, [: n, 1],
& Nbsp? # Τότε
& Nbsp? [[: Επιστροφή, 1]],
& Nbsp? # Αλλού
& Nbsp? [[: Ας,: x,: sub,: n, 1],
& Nbsp? [: Σετ,: x,: καλέστε,: Πράγματι,: x],
& Nbsp? [: Επιστροφή,: Mul,: Ν,: x]]]
File.open («fact.o», «W») {| outfile | generator.write outfile}
Το Voodoo compiler API που είναι διαθέσιμα σε προγράμματα Ruby περιγράφεται στην τεκμηρίωση API

Τι είναι καινούργιο σε αυτή την έκδοση:.

    < li> Συμβατότητα με τον Ruby 1.9, εκτός από την Ruby 1.8? κάνουν τις εκθέσεις δοκιμών τώρα τον αριθμό των πέρασαν και απέτυχε εξετάσεις.
  • Η δοκιμή πολλών-Βαρ έχει χωριστεί σε πολλά-args, πολλά-args-ουρά, και πολλά-ντόπιους.

Τι είναι καινούργιο στην έκδοση 1.0.1:

  • Αυτή η έκδοση προσθέτει μια σειρά από βελτιώσεις στον αναλυτή , η οποία αναφέρει τώρα θέσεις του πηγαίου κώδικα για όλα τα λάθη και μπορεί να αναφέρει πολλαπλά σφάλματα μέσα μπλοκ, λειτουργίες, και των συνθηκών. Έχουν προστεθεί αρκετές δοκιμές για το πρόγραμμα ανάλυσης.
  • Αυτή η έκδοση διορθώνει ένα σφάλμα ανάλυσης σχετικά με τις δηλώσεις που ακολουθείται από τα σχόλια και ένα πρόβλημα που προκάλεσε το πρόγραμμα ανάλυσης για να αποτύχει σε άδειο.

Τι είναι καινούργιο στην έκδοση 1.0.0:

  • γεννήτρια κώδικα ARM: Ο compiler μπορεί τώρα να δημιουργήσει συνέλευση και ELF κώδικα αντικειμένου για την αρχιτεκτονική ARM.
  • Βελτιωμένη σφάλμα αναφοράς:. Τα περισσότερα σφάλματα που εντοπίστηκαν, καθώς και τα σφάλματα που αναφέρονται στην πιο εύκολο να κατανοήσετε τα μηνύματα σφάλματος

  • Ενότητα
  • Validator: αυτή η νέα μονάδα μπορεί να χρησιμοποιηθεί για την επικύρωση κώδικα που δημιουργήθηκε βουντού. Χρησιμοποιείται από τον αναλυτή για την επικύρωση αναλυμένη κώδικα.
  • Χαρακτηριστικό γνώρισμα διεπαφών: τα χαρακτηριστικά της εφαρμογής μπορούν να αναζητηθούν τόσο προγραμματισμού και από τη γραμμή εντολών
  • .

Τι είναι καινούργιο στην έκδοση 0.7.0:

  • Μπλοκ: αυτά παρέχουν τα πεδία στα οποία οι τοπικές μεταβλητές μπορεί να να ορίζονται με let. Υπάρχουν τέτοια μεταβλητές από το τέλος της δήλωσης let μέχρι το τέλος του μπλοκ. Μπλοκ μπορεί να συμβεί σε οποιοδήποτε μέρος όπου μπορεί να συμβεί μια δράση. Έχουν ξεκινήσει με μπλοκ και έληξε με το τέλος μπλοκ.
  • Αλυσίδες υποθετικοί: είναι τώρα δυνατό να γράψει & quot? Αλλιώς αν & quot ;, αντί να απαιτεί μια ένθετη εάν στην πρόταση else
  • .
  • Shift και περιστρέψτε: στροφή δράσεις (ASR, BSR, SHL, SHR) (, υποστήριγμα για ROL) έχουν προστεθεί και περιστρέψτε ενέργειες
  • .
  • Επιστροφή χωρίς αξία: επιστροφή μπορεί τώρα να χρησιμοποιηθεί χωρίς να προσδιορίζει μια έκφραση για την αξιολόγηση. Αυτό προκαλεί μια απροσδιόριστη τιμή που θα επιστραφεί από τη λειτουργία.

Τι είναι καινούργιο στην έκδοση 0.6.3:

  • Αυτή η έκδοση εισάγει στα εκφράσεις: Με ένα πρόθεμα ετικέτα, τοπική μεταβλητή, ή ακέραιο με ένα @, η αξία αντιμετωπίζεται ως μια διεύθυνση, και η λέξη που αποθηκεύονται σε αυτή τη διεύθυνση επιστρέφεται.
  • Επιπλέον, ορισμένα σφάλματα που αποκαλύφθηκαν κατά τις χορδές ήταν κωδικοποιημένα σε κώδικα που δημιουργήθηκε συνέλευση.
  • Αυτά τα σφάλματα έχουν καθοριστεί, και την έκδοση 0.6.3 χειρίζεται τώρα χορδές που περιέχουν σωστά όλες τις 256 πιθανές τιμές byte.

Τι είναι καινούργιο στην έκδοση 0.6.2:

  • Αυτή η έκδοση διορθώνει σφάλματα στις εφαρμογές της παύσης λέξη για το i386 και AMD64 και προσθέτει δοκιμές για τις περιπτώσεις που στο παρελθόν δεν λειτούργησε σωστά.

Παρόμοια λογισμικά

LavaPE
LavaPE

20 Feb 15

Glulxe
Glulxe

11 May 15

Azure
Azure

3 Jun 15

Arcueid
Arcueid

20 Feb 15

Σχόλια για Voodoo Compiler

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!
Αναζήτηση ανά κατηγορία