Show simple item record

Διερμηνευτικός προσομοιωτής για κειμενική ενδιάμεση αναπαράσταση μεταγλωττιστή

dc.contributor.advisorΜασσέλος, Κωνσταντίνος
dc.contributor.advisorΚαββαδίας, Νικόλαος
dc.contributor.authorΚανάτσος, Άγγελος
dc.date.accessioned2013-11-18T11:46:05Z
dc.date.available2013-11-18T11:46:05Z
dc.date.issued2011-12
dc.identifier.urihttp://amitos.library.uop.gr/xmlui/handle/123456789/950
dc.descriptionΜ.Δ.Ε. 13el
dc.description.abstractThe intermediate code representation (IR) is consider as an important integral part of the compiler since it is reused across all important compilation stages for representing a source program; it connects the frontend to the backend of the compiler. Of the most popular representations used today are linearized forms such as TAC (Three Address Code). In recent years the scientific community has shown great interest in the development and improvement of representations of this kind for production use, as it is evident in popular compilation projects (GCC GIMPLE, LLVM, LANCE compiler IR-C). In this work, the intermediate language NAC (N-Address Code) is presented as an extended version of TAC. Instead of using three addresses in each IR statement proposal there may be N, theoretically infinite and practically limited only by the resources of the machine. NAC has been developed by Nikolaos Kavvadias [1] and for its simulation; a simulator interpreter named NacVM was developed that comprises the main topic of this work. The simulator was developed in ANSI C language and this first version suffices to support to a large extent the requirements posed by NAC.el
dc.format.extent160 σελ.el
dc.language.isoelel
dc.publisherΠανεπιστήμιο Πελοποννήσουel
dc.rightsΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/gr/*
dc.subjectΗλεκτρονικοί υπολογιστές -- Γλώσσες προγραμματισμούel
dc.subjectΗλεκτρονικοί υπολογιστές -- Προγράμματαel
dc.titleΔιερμηνευτικός προσομοιωτής για κειμενική ενδιάμεση αναπαράσταση μεταγλωττιστήel
dc.title.alternativeInterpretive simulator of a textual compiler intermediate representationel
dc.typeΜεταπτυχιακή διπλωματική εργασίαel
dc.contributor.departmentΤμήμα Επιστήμης και Τεχνολογίας Υπολογιστώνel
dc.contributor.facultyΣχολή Θετικών Επιστημών και Τεχνολογίαςel
dc.contributor.masterΠρόγραμμα Μεταπτυχιακών Σπουδών στην Επιστήμη και Τεχνολογία Υπολογιστώνel
dc.subject.keywordΓραμμική ενδιάμεση αναπαράστασηel
dc.subject.keywordNACel
dc.subject.keywordΔιερμηνευτικός προσομοιωτήςel
dc.subject.keywordΜεταγλωττιστέςel
dc.description.abstracttranslatedΗ ενδιάμεση αναπαράσταση κώδικα ενός μεταγλωττιστή αποτελεί θα λέγαμε το σημαντικότερο στάδιο μεταγλώττισης ενός πηγαίου προγράμματος καθώς είναι εκείνο που ενώνει το frontend με το backend του μεταγλωττιστή. Τρία είναι τα είδη των αναπαραστάσεων που χρησιμοποιούνται σήμερα, με δημοφιλέστερο τoν κώδικα TAC (Three Address Code). Τα τελευταία χρόνια η επιστημονική κοινότητα έχει δείξει μεγάλο ενδιαφέρον για την εξέλιξη και τη βελτίωση της μορφής αυτής, αφού παγκοσμίως αναπτύσσονται διάφορα projects (GCC GIMPLE, LLVM, LANCE compiler IR-C) με αυτό το σκοπό. Η γλώσσα NAC που θα παρουσιάσουμε αποτελεί μία επεκτεταμένη μορφή του TAC καθώς αντί για τρεις διευθύνσεις σε κάθε πρότασή της μπορούν να υπάρχουν N, δηλαδή απεριόριστες θεωρητικά (περιορίζεται από τους πόρους της μηχανής). Αναπτύχθηκε από τον Καββαδία Νικόλαο [1] και για την προσομοίωση της αναπτύξαμε ένα διερμηνευτικό προσομοιωτή με το όνομα NacVM ο οποίος θα αποτελέσει και το κύριο μέρος ανάλυσης αυτής της εργασίας. Αναπτύχθηκε σε γλώσσα ANSI C και η πρώτη έκδοση του ικανοποιεί σε μεγάλο βαθμό τις απαιτήσεις της NAC.el


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα
Except where otherwise noted, this item's license is described as
Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα