Gennaro COSTAGLIOLA | Compilers
Gennaro COSTAGLIOLA Compilers
cod. 0522500069
COMPILERS
0522500069 | |
DIPARTIMENTO DI INFORMATICA | |
EQF7 | |
COMPUTER SCIENCE | |
2019/2020 |
YEAR OF COURSE 2 | |
YEAR OF DIDACTIC SYSTEM 2016 | |
PRIMO SEMESTRE |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 6 | 48 | LESSONS |
Objectives | |
---|---|
KNOWLEDGE AND UNDERSTANDING • THE MAIN CONCEPTS OF THE PROGRAMMING LANGUAGES • THE MAIN TECHNIQUES TO DEVELOP A COMPILER • THE PHASES OF A COMPILER • THE NEEDED FORMALISMS FOR FORMALLY SPECIFYING A PROGRAMMING LANGUAGE • THE MAIN ALGORITHMS FOR THE AUTOMATIC GENERATION OF TRANSLATORS AND COMPILERS APPLYING KNOWLEDGE AND UNDERSTANDING • THE USE OF TOOLS, AS FLEX AND JAVACUP, FOR THE IMPLEMENTATION OF A PROGRAMMING LANGUAGE • THE DEVELOPMENT OF THE FIRST PHASES OF A COMPILER |
Prerequisites | |
---|---|
THE COURSE REQUIRES THE BASIC KNOWLEDGE OF DATA STRUCTURES AND ALGORITHMS, ARCHITECTURE, HIGH-LEVEL LANGUAGE PROGRAMMING. |
Contents | |
---|---|
THE COURSE INTRODUCES THE MAIN CONCEPTS FOR THE DEVELOPMENT OF A COMPILER WITH EMPHASIS ON THE FRONT END AND BACK END. THE MAIN TOPICS ARE: • HISTORY, PARADIGMS AND CHARACTERISTICS OF THE PROGRAMMING LANGUAGES • LEXICAL ANALYSIS • LEXICAL SPECIFICATION OF THE PROGRAMMING LANGUAGES WITH JFLEX • BASIC CONCEPTS ON GRAMMARS • PARSING TOP-DOWN AND BOTTOM-UP • SYNTACTIC SPECIFICATION OF THE PROGRAMMING LANGUAGES WITH JAVACUP • SYNTAX-DRIVEN TRANSLATIONS • INTERMEDIATE REPRESENTATIONS • SEMANTIC ANALYSIS AND TYPE CHECKING • INTRODUCTION TO THE RUNTIME MANAGEMENT • INTRODUCTION TO CODE GENERATION |
Teaching Methods | |
---|---|
ABOUT TWO THIRDS OF THE LECTURES INCLUDE TOPICS PRESENTATION AND THE REMAINING LECTURES ARE DEDICATED TO EXERCISES IN CLASS. THE INDIVIDUAL STUDY WILL ALSO INCLUDE PROJECT DEVELOPMENT. GIVEN THE CHARACTERISTICS OF THE DISCIPLINE, THE ATTENDANCE IS STRONGLY RECOMMENDED, ALTHOUGH NOT MANDATORY. |
Verification of learning | |
---|---|
THE EVALUATION IS BASED ON A WRITTEN AND AN ORAL EXAM. THE WRITTEN PART OF THE EXAM WILL INCLUDE OPEN QUESTIONS AND EXERCISES TO EVALUATE THE FULFILLMENT OF THE OBJECTIVES OF THE COURSE. IN THE ORAL PART THE STUDENTS WILL DISCUSS ABOUT THEIR DEVELOPMENT OF THE FIRST PHASES OF A COMPILER. IN PARTICULAR, THE DISCUSSION WILL INCLUDE THE CODE MODIFICATION OF THE PRESENTED PROJECT, DIRECTLY ON A PC. THE FINAL GRADE IS GIVEN BY THE WEIGHTED AVERAGE OF THE PARTIAL GRADES SO OBTAINED. THE WRITTEN PART IS WORTH 60% WHILE THE CODE MODIFICATION AND PROJECT DESCRIPTION ARE WORTH THE REMAINING 40%. |
Texts | |
---|---|
V. AHO, R. SETHI, AND J. D. ULLMAN, COMPILERS: PRINCIPLES, TECHNIQUES, AND TOOLS, ADDISON-WESLEY, SECOND EDITION 2007 TO BE CONSULTED: PRATT, T. W. AND M. V. ZELKOWITZ, PROGRAMMING LANGUAGES: DESIGN AND IMPLEMENTATION, 4RD ED., PRENTICE-HALL, 2000 |
More Information | |
---|---|
THE STUDENTS ARE EXPECTED TO PASS AT LEAST TWO HOURS OF INDIVIDUAL STUDY FOR EACH HOUR IN CLASS. THE COURSE IS WEB-ASSISTED THROUGH THE DEPARTMENT WEB PLATFORM WHERE ALL THE ACTIVITIES AND THE MATERIAL OF THE COURSE WILL BE PUBLISHED. |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2021-02-19]