“Principlesof Compilers”Syllabus
Course Code | 045100293 |
CourseTitle | Principlesof Compilers |
CourseCategory | Specialty Basic Courses |
CourseNature | Compulsory Course |
Class Hours | Total:56hours, ComputerPractice:16hours |
Credits | 3.0 |
Semester | Thefourth semester,Thethird semester |
Institute | Schoolof computer science and engineering |
ProgramOriented | Computer Science and Technology,network engineering, information safety |
TeachingLanguage | English |
Prerequisites | None |
StudentOutcomes (Special Training Ability) | This course can behelpful for students to get the following abilities: 1.Ideological andpolitical construction: realize the organic integration ofcomputer professional knowledge teaching and moraleducation;Inspire the students' patriotic spirit of 'makingthe country prosperous by doing'. 2.EngineeringKnowledge: An ability to apply knowledge of English, solidknowledge of professional basic principles, methods and means ofcomputer science and technology for solving complex engineeringproblems, to well prepare the required knowledge applied to thecomputer science and technology research & development andengineering practice through computer systems analysis, modelingand calculation and any other aspects of the advanced approach. 3.Problem Analysis:An ability to creatively use the basic principles of computerscience to solve the problems encountered in the computer field. 4.Design /Development Solutions: An ability to design solutions for computerengineering complex problems, to design computer hardware andsoftware systems that meet with specific requirements, and toembody innovation awareness in the design process and take intoaccount social, health, safety, cultural and environmentalfactors. 5.Research: Anability to develop computer system-related knowledge and researchcomputer engineering complex issues, to develop the basic capacityof computer systems research & development, systematiccognitive and practice, master the Bottom-up and top-down problemanalysis methods. 6.Applying Modern Tools: An abilityto develop, select and use appropriate technologies, resources,modern engineering tools and information technology tools forcomplex computer engineering issues. |
TeachingObjectives | Upon completion ofthis course, each student should be able to:
Knowhow to build a compiler for a simplified programming language.[4,6]
Learnhow to work on a large software project. Have the ability ofcomputational thinking. [4,5] |
CourseDescription | This course introduces thefundamental principles of compiler construction and the basictechniques of realization. It covers lexical analysis, syntaxanalysis, semantic analysis, runtime environments, codegeneration, and optimization. |
Instrumentsand Equipments | Personalcomputer; Eclipse |
ExperimentReport | (1 ) the purpose of the experiment (2 ) experimental steps (3 ) experimental results (4 ) summary and thinking |
Assessment | Thecompleteness of the programand the standardization of the experimental report. After theexperiment is complete, submit the program and the experimentalreport. Results accounted for 30percentof the total curriculum. |
TeachingMaterials and Reference Books | Y.Daniel Liang, Introduction to Java Programming, 10th Edition, 2017 BruceEckel, Thinking in Java(4thedition), China MachinePress,2009. |
Preparedby Whom and When | DongMin, 2019.4 |
“Principlesof Compilers”ExperimentalTeaching Arrangements
No. | ExperimentItem | ClassHours | ContentSummary | Category | Requirements | Numberof StudentsEach Group | Instruments,Equipments and Software |
1 | Lexical Analysis (4Periods) | 4 | Designthe lexical Analysis of SAMPLE language. The results will be aseries of TOKEN. Lexical errors should be checked out. | Comprehensive | Compulsory | 1 | PersonalComputer; Eclipse,Visual Studio |
2 | Syntax directed translation (12 Periods) | 6 | Syntaxanalysis of SAMPLE language. Syntaxerrors should be checked out. | Comprehensive | Compulsory | 1 | PersonalComputer; Eclipse,Visual Studio |
3 | Intermediatecode generation | 6 | Intermediatecode generation | Comprehensive | Compulsory | 1 | PersonalComputer; Eclipse,Visual Studio |