Translate

Πέμπτη 10 Δεκεμβρίου 2015

Compilers

Μεταγλωττιστής (compiler) ονομάζεται ένα πρόγραμμα υπολογιστή που διαβάζει κώδικα γραμμένο σε μια γλώσσα προγραμματισμού και τον μεταφράζει σε ισοδύναμο κώδικα σε μια άλλη γλώσσα προγραμματισμού. Το κείμενο της εισόδου ονομάζεται πηγαίος κώδικας (source code), ενώ η έξοδος του προγράμματος, η οποία συχνά έχει δυαδική μορφή, αντικειμενικός κώδικας (object code).

Ο όρος «μεταγλωττιστής» χρησιμοποιείται κυρίως για προγράμματα που μεταφράζουν μια γλώσσα προγραμματισμού υψηλού επιπέδου σε μια γλώσσα χαμηλότερου επιπέδου (όπως η συμβολική γλώσσα ή η γλώσσα μηχανής). Αν το μεταγλωττισμένο πρόγραμμα πρόκειται να εκτελεστεί σε έναν υπολογιστή που έχει διαφορετικό επεξεργαστή ή λειτουργικό σύστημα σε σχέση με την πλατφόρμα που εκτελείται ο μεταγλωττιστής, ο τελευταίος τότε ονομάζεται cross-compiler. Ένα πρόγραμμα που μεταφράζει από μια γλώσσα χαμηλού επιπέδου σε μια υψηλότερου επιπέδου ονομάζεται decompiler. Ένα πρόγραμμα που μεταφράζει από μια γλώσσα υψηλού επιπέδου σε μια άλλη, επίσης υψηλού επιπέδου, ονομάζεται συνήθως γλωσσικός μεταφραστής, μεταφραστής από πηγαίο κώδικα σε πηγαίο κώδικα (source to source translator) ήμετατροπέας γλωσσών. Ένα πρόγραμμα που μεταφράζει τη μορφή εκφράσεων σε άλλη μορφή, διατηρώντας την ίδια γλώσσα, ονομάζεται language rewriter.



Ένας μεταγλωττιστής μπορεί να περιλαμβάνει οποιαδήποτε από τις εξής λειτουργίες: λεκτική ανάλυση, προεπεξεργασία,συντακτική ανάλυση, σημασιολογική ανάλυση (μετάφραση καθοδηγούμενη από τη σύνταξη), παραγωγή κώδικα και βελτιστοποίηση κώδικα.

Τα σφάλματα προγραμμάτων που προκύπτουν από λανθασμένη μεταγλώττιση είναι πολύ δύσκολο να εντοπιστούν και να αντιμετωπιστούν. Για αυτόν τον λόγο οι κατασκευαστές μεταγλωττιστών κάνουν σημαντικές προσπάθειες για να βεβαιώσουν την ορθότητα λειτουργίας του λογισμικόυ τους.

Τετάρτη 9 Δεκεμβρίου 2015

Ψευδοκώδικας

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