CSE4100 Programming Language Translation

advertisement
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
Download