CSE4100 Programming Language Translation CSE4100 Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 371 Fairfield Way, Unit 2155 Storrs, Connecticut 06269-2155 steve@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818 OV-1.1 Course Goals CSE4100 Provide a Practical Introduction to Compiler Concepts and Their Construction Focus on Both Theory and Practice Theory Demonstrates Strong Mathematical Basis of Compilers Practice Provides Experimental Framework for Illustrating Theory Exposure to Research Problems and Real-World Experiences OV-1.2 Course Philosophy CSE4100 Introduction to Fundamental Compiler Concepts Promotion of Knowledge-Acquisition, SelfLearning, and Independence Rapid Evolution of Computing Always Must Keep Skills Up-to-Date “Learn how to Learn” Team Work and Cooperative Problem Solving Relevance of Compiler Concepts in Computing Software Engineering Object-Oriented Computing Operating Systems Practical Exposure to Compiler Writing Tools OV-1.3 Textbooks and Class Materials CSE4100 UConn COOP has One Required Texts … Compilers: Principles, Techniques and Tools, Aho, et al., 1st edition, Addison-Wesley 2nd edition OK – but lacking some examples and lots of extra material we don’t do CSE4100 Web Site at … wwwengr.uconn.edu/~steve/Cse4100/cse4100.htm l All Course Notes Available On-Line Other Class Materials OV-1.4 Weekly Topic Coverage CSE4100 1 Week: Introduction/Overview Ch 1,2 1.5 Wks: Lexical Analysis & Language Theory Ch 3 2.5 Wks: Grammars Top-Down Parsing Ch 4.1-4.4 3.5 Wks: Bottom-Up Parsing Ch 4.5-4.8 2 Wks: Syntax Directed Translation Ch 5, 4.9 2 Wks: Type Checking, Run- Ch 6 Time Environment, Ch 7 Code Generation, & Ch 8 Optimization Ch 9, 10 1.5 Wk: Semester Project 1 Wk: Exams OV-1.5 Percentages Breakdown for Course Projects and Exams CSE4100 Projects - Individual and Team (50% of Grade) 3 Part Semester Project Individual (Projs 1 and 2) and Team (2 and 3) Exams (50% of Grade) Likely Midterm and Final Open Book and Open Notes Homeworks (No Credit) Throughout the Semester 1 Pt. Per Handed in Assignment Must Pass Both Projects And Exams to PASS!!! Note: Percentages, Projects, and Exams are all Subject to Change OV-1.6 Course Projects Using Flex and Bison CSE4100 Project Initial Parts Work Individually Later Parts Work in Teams of at Least 2 Utilize Compiler Writing Tools Self-Learning and Knowledge Acquisition All Programming Projects Will be Demonstrated by the Team for Correctness and Grading Evaluation Project Topic will be … Latex Text Processing Language and Generation of Formatted Text OV-1.7 Flex and Bison CSE4100 Strongly Recommend their Usage in SoE Linux Environment All Students have Linux Access (via SoE Email) Flex and Bison Available on: linremote1 to linremote6 (.engr.uconn.edu) Also icarus2.engr.uconn.edu Need a Remote SSH Package to Access software.uconn.edu/ software.uconn.edu/software/software.php OV-1.8 What is Latex? CSE4100 Text Processing Language Used Extensively in Publication Venues ACM, IEEE CS, Other Journals Embed Text Processing Commands in Text Use Text Editor (emails, vi) One Popular Implementation: MikTex – Primarily PC Based http://miktex.org/ Many Linux Implementations as Well (free) OV-1.9 Cheating/Collaboration CSE4100 Not Tolerated in Any Form!!! Severe Penalties are Likely!!! See University of Connecticut Student Conduct Code All Homeworks/Some Project Represent Individual Effort! Remaining Projects Represent Team Effort Cooperative Problem Solving and Sharing Code is NOT Permitted and Will Likely Lead to Fs! Electronic Information is More Accessible! OV-1.10 Lateness Policies/Exams CSE4100 Late Assignments (Projects) will Not be Accepted Except with Prior Permission or Emergencies Prior Permission: Contact the Instructor Three Days Before the Due Date Emergencies: Illness, Death in the Family, etc. Contact S. Demurjian at ITE254, x6-4818, by steve@engr.uconn.edu, or via the CSE Office, UTEB250, x6-3719 A Late Assignment is Recorded as a Zero Grade Assignment Due Date Means Start of Class!!! Makeup on Absent Exam at Instructor’s Discretion OV-1.11 Class Attendance and Computing CSE4100 Attendance in Class is … Responsibility of each Student May Result in Missing Hint/Clarification/Error on Class Project Change in Due Date or Exam Date Not All Information Makes it to Web! Computing for Class is … Linux Based Take Files with You! Your Responsibility to Protect Your Files OV-1.12