Μεταγλωττιστές

Autor: Georgouli, Katerina
Jazyk: Greek, Modern (1453-)<br />Greek
Rok vydání: 2022
Předmět:
Λεκτική ανάλυση
Διαχείριση λαθών
Μετάφραση
Interpreter
Translation
Βελτιστοποίηση κώδικα
Γεννήτριες λεκτικών αναλυτών
Code optimization
Symbol table
Compiler
Intermediate code
Γραμματικές ελεύθερες περιεχομένου
Μεταγλωττιστής
Lexical analyzer generators
Διερμηνευτής
Syntax analyzer generators
Τυπικές γλώσσες
Συντακτική ανάλυση
Scanning
Context-free grammars
Πίνακας συμβόλων
Parsing
Ενδιάμεσος κώδικας
Δημιουργία κώδικα
Σημασιολογία
Γλώσσες προγραμματισμού
Programming languages
Semantics
Γεννήτριες συντακτικών αναλυτών
Formal languages
Grammars
Code generation
Γραμματικές
Error handling
DOI: 10.57713/kallipos-57
Popis: In this undergraduate textbook, a brief presentation of the operation of languages translators in general and of programming language compilers in particular is attempted at first. Then, in Chapter 2, regular languages and the grammars that describe them are introduced with a focus on describing regular languages through regular definitions. In Chapter 3, the basic concepts of lexical analysis and the best-known techniques for constructing lexical analyzers are described. In Chapter 4, context-free grammars and top-down and bottom-up methods of syntactic analysis are presented. Chapter 5 describes semantic analysis, and in particular how static type checks can be implemented, while Chapter 6 deals with the role of the symbol table in the context of the different phases of compilation as well as its organization and implementation. Chapter 7 presents the intermediate code generation phase, with the different forms of intermediate representation, the presentation of intermediate languages, and the use of schemes for translation into a three-address language. This is followed by Chapter 8, in which the optimization of intermediate code is presented. Chapter 9 deals with the two phases of the compiler's back end, that is, generating and optimizing the final code. Appendices follow where the speech of an exemplary work for the laboratory of the course and exemplary answers to the requirements is presented.
Σε αυτό το προπτυχιακό εκπαιδευτικό εγχειρίδιο επιχειρείται αρχικά μια συνοπτική παρουσίαση της λειτουργίας των μεταφραστών γλωσσών γενικότερα και ειδικότερα των μεταγλωττιστών γλωσσών προγραμματισμού. Στη συνέχεια, στο Κεφάλαιο 2, παρουσιάζονται οι τυπικές γλώσσες και οι γραμματικές που τις περιγράφουν με επικέντρωση στην περιγραφή των κανονικών γλωσσών μέσω κανονικών ορισμών. Στο Κεφάλαιο 3 περιγράφονται οι βασικές έννοιες της λεκτικής ανάλυσης και οι γνωστότερες τεχνικές κατασκευής λεκτικών αναλυτών. Στο Κεφάλαιο 4 παρουσιάζονται οι γραμματικές χωρίς συμφραζόμενα και οι ανοδικές και καθοδικές μέθοδοι συντακτικής ανάλυσης. Στο Κεφάλαιο 5 περιγράφεται η σημασιολογική ανάλυση, και ειδικότερα πώς μπορούν να υλοποιηθούν οι στατικοί έλεγχοι τύπων, ενώ το Κεφάλαιο 6 ασχολείται με τον ρόλο του πίνακα συμβόλων στο πλαίσιο των διαφορετικών φάσεων της μεταγλώττισης, καθώς και με την οργάνωση και την υλοποίησή του. Στο Κεφάλαιο 7 παρουσιάζεται η φάση της παραγωγής του ενδιάμεσου κώδικα, με τις διαφορετικές μορφές ενδιάμεσης αναπαράστασης, την παρουσίαση των ενδιάμεσων γλωσσών και τη χρήση σχημάτων για μετάφραση σε γλώσσα τριών διευθύνσεων. Ακολουθεί το Κεφάλαιο 8, στο οποίο παρουσιάζεται η βελτιστοποίηση του ενδιάμεσου κώδικα. Το Κεφάλαιο 9 αφορά τις δύο φάσεις του οπίσθιου τμήματος του μεταγλωττιστή, δηλαδή την παραγωγή και τη βελτιστοποίηση του τελικού κώδικα. Ακολουθούν παραρτήματα όπου παρουσιάζονται η εκφώνηση υποδειγματικής εργασίας για το εργαστήριο του μαθήματος και υποδειγματικές απαντήσεις στα ζητούμενα που περιέχει.
Databáze: OpenAIRE