CSE4100 Programming Language TranslationCourse GoalsCourse PhilosophyTextbooks and Class MaterialsWeekly Topic CoveragePercentages Breakdown for Course Projects and ExamsCourse Projects Using Flex and BisonFlex and BisonWhat is Latex?Cheating/CollaborationLateness Policies/ExamsClass Attendance and ComputingOV-1.1CSE4100CSE4100 Programming Language CSE4100 Programming Language TranslationTranslationProf. Steven A. Demurjian, Sr. Computer Science & Engineering DepartmentThe University of Connecticut371 Fairfield Way, Unit 2155Storrs, Connecticut [email protected]://www.engr.uconn.edu/~steve(860) 486 - 4818OV-1.2CSE4100Course GoalsCourse GoalsProvide a Practical Introduction to Compiler Provide a Practical Introduction to Compiler Concepts and Their ConstructionConcepts and Their ConstructionFocus on Both Theory and PracticeFocus on Both Theory and PracticeTheory Demonstrates Strong Mathematical Basis of CompilersPractice Provides Experimental Framework for Illustrating TheoryExposure to Research Problems and Real-World Exposure to Research Problems and Real-World ExperiencesExperiencesOV-1.3CSE4100Course PhilosophyCourse PhilosophyIntroduction to Fundamental Compiler ConceptsIntroduction to Fundamental Compiler ConceptsPromotion of Knowledge-Acquisition, Self-Promotion of Knowledge-Acquisition, Self-Learning, and IndependenceLearning, and IndependenceRapid Evolution of ComputingAlways Must Keep Skills Up-to-Date“Learn how to Learn”Team Work and Cooperative Problem SolvingTeam Work and Cooperative Problem SolvingRelevance of Compiler Concepts in ComputingRelevance of Compiler Concepts in ComputingSoftware Engineering Object-Oriented ComputingOperating SystemsPractical Exposure to Compiler Writing ToolsPractical Exposure to Compiler Writing ToolsOV-1.4CSE4100Textbooks and Class MaterialsTextbooks and Class MaterialsUConn COOP has One Required Texts … UConn COOP has One Required Texts … Compilers: Principles, Techniques and Tools, Aho, et al., 1st edition, Addison-Wesley2nd edition OK – but lacking some examples and lots of extra material we don’t doCSE4100 Web Site at …CSE4100 Web Site at …wwwengr.uconn.edu/~steve/Cse4100/cse4100.htmlAll Course Notes Available On-LineOther Class MaterialsOther Class MaterialsOV-1.5CSE4100Weekly Topic CoverageWeekly Topic Coverage1 Week: Introduction/Overview Ch 1,21 Week: Introduction/Overview Ch 1,21.5 Wks: Lexical Analysis &1.5 Wks: Lexical Analysis & Language Theory Ch 3 Language Theory Ch 32.5 Wks: Grammars2.5 Wks: Grammars Top-Down Parsing Ch 4.1-4.4 Top-Down Parsing Ch 4.1-4.43.5 Wks: Bottom-Up Parsing Ch 4.5-4.83.5 Wks: Bottom-Up Parsing Ch 4.5-4.82 Wks: Syntax Directed 2 Wks: Syntax Directed Translation Ch 5, 4.9 Translation Ch 5, 4.92 Wks: Type Checking, Run- Ch 6 2 Wks: Type Checking, Run- Ch 6 Time Environment, Ch 7 Time Environment, Ch 7 Code Generation, & Ch 8 Code Generation, & Ch 8 Optimization Ch 9, 10 Optimization Ch 9, 101.5 Wk: Semester Project1.5 Wk: Semester Project1 Wk: Exams1 Wk: ExamsOV-1.6CSE4100Percentages Breakdown forPercentages Breakdown forCourse Projects and ExamsCourse Projects and ExamsProjects - Individual and Team (50% of Grade)Projects - Individual and Team (50% of Grade)3 Part Semester ProjectIndividual (Projs 1 and 2) and Team (2 and 3)Exams (50% of Grade)Exams (50% of Grade)Likely Midterm and FinalOpen Book and Open NotesHomeworks (No Credit)Homeworks (No Credit)Throughout the Semester1 Pt. Per Handed in AssignmentMust Pass Both Projects And Exams to PASS!!!Must Pass Both Projects And Exams to PASS!!!Note: Percentages, Projects, and Exams are all Note: Percentages, Projects, and Exams are all Subject to ChangeSubject to ChangeOV-1.7CSE4100Course Projects Using Flex and BisonCourse Projects Using Flex and BisonProject Project Initial Parts Work IndividuallyLater Parts Work in Teams of at Least 2Utilize Compiler Writing ToolsUtilize Compiler Writing ToolsSelf-Learning and Knowledge AcquisitionSelf-Learning and Knowledge AcquisitionAll Programming Projects Will be Demonstrated All Programming Projects Will be Demonstrated by the Team for Correctness and Grading by the Team for Correctness and Grading EvaluationEvaluationProject Topic will be … Project Topic will be … Latex Text Processing Language and Generation of Formatted TextOV-1.8CSE4100Flex and BisonFlex and BisonStrongly Recommend their Usage in SoE Linux Strongly Recommend their Usage in SoE Linux EnvironmentEnvironmentAll Students have Linux Access (via SoE Email)All Students have Linux Access (via SoE Email)Flex and Bison Available on:Flex and Bison Available on:linremote1 to linremote6 (.engr.uconn.edu)Also icarus2.engr.uconn.eduNeed a Remote SSH Package to AccessNeed a Remote SSH Package to Accesssoftware.uconn.edu/software.uconn.edu/software/software.phpOV-1.9CSE4100What is Latex?What is Latex?Text Processing LanguageText Processing LanguageUsed Extensively in Publication VenuesACM, IEEE CS, Other JournalsEmbed Text Processing Commands in TextUse Text Editor (emails, vi)One Popular Implementation:One Popular Implementation:MikTex – Primarily PC Basedhttp://miktex.org/Many Linux Implementations as Well (free)Many Linux Implementations as Well (free)OV-1.10CSE4100Cheating/CollaborationCheating/CollaborationNot Tolerated in Any Form!!!Not Tolerated in Any Form!!!Severe Penalties are Likely!!!Severe Penalties are Likely!!!See University of Connecticut Student Conduct See University of Connecticut Student Conduct CodeCodeAll Homeworks/Some Project Represent All Homeworks/Some Project Represent Individual Effort!Individual Effort!Remaining Projects Represent Team EffortRemaining Projects Represent Team EffortCooperative Problem Solving and Sharing Code is Cooperative Problem Solving and Sharing Code is NOT Permitted and Will Likely Lead to Fs!NOT Permitted and Will Likely Lead to Fs!Electronic Information is More Accessible!Electronic Information is More Accessible!OV-1.11CSE4100Lateness Policies/ExamsLateness Policies/ExamsLate Assignments (Projects) will Not be Accepted Late Assignments (Projects) will Not be Accepted Except with Prior Permission or EmergenciesExcept with Prior Permission or
View Full Document