Course Overview for Compilers J. H. Wang Sep. 14, 2015.

Slides:



Advertisements
Similar presentations
Introduction to Compiler Construction
Advertisements

Compiler Construction by Muhammad Bilal Zafar (AP)
An Introduction to Information Retrieval and Applications J. H. Wang Feb. 19, 2008.
Goran Šuković, University of Montenegro 1/21 Compiler Construction Course at University of Montenegro 7 th Workshop on “Software Engineering Education.
OV-1.1 CSE4100 CSE4100 Programming Language Translation Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut.
CSCE 312 Computer Organization Lecture 0: Course Administration EJ Kim Department of Computer Science and Engineering 338B Bright
BİL744 Derleyici Gerçekleştirimi (Compiler Design)1.
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -1- Self Introduction Ying JIN ( 金英 ) , PhD, Associate.
ECE200 – Computer Organization Course Introduction.
OV-1.1 CSE244 CSE244 Programming Language Translation Aggelos Kiayias Computer Science & Engineering Department The University of Connecticut 371 Fairfield.
Slide 1 Instructor: Dr. Hong Jiang Teaching Assistant: Mr. Sheng Zhang Department of Computer Science & Engineering University of Nebraska-Lincoln Classroom:
CPSC 388 – Compiler Design and Construction Lecture: MWF 11:00am-12:20pm, Room 106 Colton.
Introduction to Operating Systems J. H. Wang Sep. 18, 2012.
C Chuen-Liang Chen, NTUCS&IE / 1 COMPILER Chuen-Liang Chen Department of Computer Science and Information Engineering National Taiwan University Taipei,
Computer Network Fundamentals CNT4007C
Introduction to Information Security J. H. Wang Sep. 15, 2014.
Introduction to Network Security J. H. Wang Feb. 24, 2011.
COMP 3438 System Programming
Course Introduction Software Engineering
Introduction to Discrete Mathematics J. H. Wang Sep. 14, 2010.
Introduction to Compiler Construction Robert van Engelen COP5621 Compiler Construction Copyright Robert.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
Course Overview for Web Computing J. H. Wang Sep. 19, 2011.
Compiler course 1. Introduction. Outline Scope of the course Disciplines involved in it Abstract view for a compiler Front-end and back-end tasks Modules.
CST 320 Compiler Methods Dr. Sherry Yang PV 171 (541)
Programming Languages & Translators (CE 359) Fall 2013 Prof. Dr: Ahmed El Nahass Lecture 1 1 FACULTY OF ENGINEERING COMPUTER ENGINEERING Prof.Dr Ahmed.
Computer Network Management Course
Introduction to Information Security J. H. Wang Sep. 10, 2013.
Data Warehousing/Mining 1 Data Warehousing/Mining Comp 150DW Course Overview Instructor: Dan Hebert.
Object Oriented Programming (FIT-II) J. H. Wang Feb. 20, 2009.
Compiler design Lecture 1: Compiler Overview Sulaimany University 2 Oct
Introduction to Operating Systems J. H. Wang Sep. 15, 2010.
IST 210: Organization of Data
Introduction to Computer Programming (FIT-I pro) J. H. Wang Sep. 17, 2007.
Introduction to Information Security J. H. Wang Sep. 18, 2012.
Object Oriented Programming (FIT-II) J. H. Wang Jan. 31, 2008.
1 CS308 Compiler Theory. 2 Course Information Instructor : –Prof. Minyi Guo –Yao Shen Course.
Compilers: Prelim/0 1 Compiler Structures Objective – –to give some background on the course , Semester 1, Who I am: Andrew Davison.
Course Overview for Compilers J. H. Wang Sep. 20, 2011.
Introduction to Operating Systems J. H. Wang Sep. 13, 2013.
1 February 23, February 23, 2016February 23, 2016February 23, 2016 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University.
Computer Networks CNT5106C
Course Overview: Linear Algebra
CS416 Compiler Design1. 2 Course Information Instructor : Dr. Ilyas Cicekli –Office: EA504, –Phone: , – Course Web.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
7. Symbol Table Chih-Hung Wang Compilers References 1. C. N. Fischer and R. J. LeBlanc. Crafting a Compiler with C. Pearson Education Inc., D.
Proposal for Term Project Compilers, Fall 2015 J. H. Wang Nov. 2, 2015.
Computer Network Fundamentals CNT4007C
Introduction to Operating Systems
Computer Engineering Department Islamic University of Gaza
Course Introduction 공학대학원 데이타베이스
Syllabus Introduction to Computer Science
ECE 533 Digital Image Processing
Computer Networks CNT5106C
Introduction to Information Security
Introduction to Information Security
8. Symbol Table Chih-Hung Wang
CMPUT Compiler Design and Optimization
CPE741: Distributed Systems Course Introduction
CPE741: Distributed Systems Course Introduction
Compiler Lecture 1 CS510.
CS416 Compiler Design lec00-outline September 19, 2018
Introduction to Compiler Construction
Course supervisor: Lubna Siddiqui
Introduction to Operating Systems
Compiler Structures 0. Preliminaries
CS416 Compiler Design lec00-outline February 23, 2019
Introduction to Compiler Construction
Intro. to Computer Network
Introduction to Compiler Construction
Presentation transcript:

Course Overview for Compilers J. H. Wang Sep. 14, 2015

Compilers, Fall 2015CSIE, NTUT2 Instructor and TA Instructor –J. H. Wang ( 王正豪 ) –Associate Professor, CSIE, NTUT –Office: R1534, Technology Building, NTUT – –Tel: (02) ext –Office Hours: 9:10-12:00 on Wednesdays and Thursdays TA –(TBD) R1424, WIRL Lab.)

Compilers, Fall 2015CSIE, NTUT3 Course Description Time: 1:10-3:00pm, Tue., 2:10-3:00pm, Wed. Classroom: R527, Sixth Teaching Building Textbook: –Charles N. Fischer, Ron K. Cytron, and Richard J. LeBlanc Jr., Crafting a Compiler, Global Edition, Pearson Education, Inc., ( 開發圖書 ) Crafting a Compiler References: –Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools, 2nd ed., Addison-Wesley, ( 台北圖書 ) (a.k.a ‘The Dragon Book’) Compilers: Principles, Techniques, and Tools, 2nd ed. –Crafting a Compiler with C, by Charles N. Fischer and Richard J. LeBlanc Jr., Addison-Wesley, –Engineering a Compiler, 2nd ed., by Keith D. Cooper and Linda Torczon, Morgan Kaufmann, 2011

Compilers, Fall 2015CSIE, NTUT4 Intended Audience An introductory course of compilers for undergraduates –For juniors & seniors Prerequisite –Basic knowledge of data structures and discrete mathematics –Programming experience is *required* for completing programming exercises and projects

Compilers, Fall 2015CSIE, NTUT5 Additional References More information – Course Web page – r/ r/

Compilers, Fall 2015CSIE, NTUT6 Teaching Lectures: mostly in slides, partly on the blackboard Homework assignments: about 3 assignments Programming exercises: about 2 exercises –Assignments should be turned in within two weeks Exams: 1 midterm exam (no final exam) Projects: 1 term project

Compilers, Fall 2015CSIE, NTUT7 Grading Policy Homework assignments and programming exercises: ~40% Mid-term exam: ~30% Term project: ~30% –Including proposal, presentation, and final report

Compilers, Fall 2015CSIE, NTUT8 Programming Exercises and Final Project At least two programming exercises –Team-based (at most 2 students per team) –Writing your own code or reusing existing open source code would be fine –Topics: (more on this later…) One final project –Either team-based (at most 4 students per team) –Or compiler-related academic paper presentation would be another possible option But, your should do it on your own (only 1 person), NOT team-based –A proposal is needed one week after midterm (Nov. 23, 2015) Introduction, methods used, experiment designs

Compilers, Fall 2015CSIE, NTUT9 Major Topics Lexical Analysis: scanning Syntax Analysis: parsing Code Generation Optimization

Compilers, Fall 2015CSIE, NTUT10 Organization of the Textbook I. Basic Part: (Chap. 1-9 will mostly be covered) –Course Overview (1 wk) –Design of a Simple Compiler (1 wk) –Theory and Practice of Scanning (2 wks) –Formal Grammars and Parsing (2 wks) –Top-Down Parsing (2 wks) –Bottom-Up Parsing (3 wks) –Syntax-Directed Compilation (2 wks) –Declaration Processing and Symbol Tables (2 wks) –Semantic Analysis (2 wks) II. Advanced Part: (will be skipped) –Intermediate Representations –Code Synthesis for Virtual Machines –Runtime Support –Target Code Generation –Program Analysis and Optimization

Compilers, Fall 2015CSIE, NTUT11 Tentative Schedule Before midterm –Chap. 1, Overview (1 wk) –Chap. 2, Design of a Simple Compiler (1 wk) –Chap. 3, Theory and Practice of Scanning(2 wks) –Chap. 4, Formal Grammars and Parsing (2 wks) –Chap. 5, Top-Down Parsing (2 wks) Before term project –Chap. 6, Bottom-Up Parsing (3 wks) –Chap. 7, Syntax-Directed Compilation (2 wks) –Chap. 8, Declaration Processing and Symbol Tables (2 wks) –Chap. 9, Semantic Analysis (2 wks) –Term Project Presentation (2-3 wks)

Compilers, Fall 2015CSIE, NTUT12 Programming Exercises Lexical analyzer –Using scanner generator such as lex, flex Parser –Using parser generator such as yacc, bison (Details to be announced on the homepage…)

Compilers, Fall 2015CSIE, NTUT13 Possible Topics for Term Project Design and implement a new language or syntax (for programming, human languages, for describing elements in game, or any other purposes) –Lexical analysis –Syntax analysis –Code generation –Optional: optimization

Compilers, Fall 2015CSIE, NTUT14 Why do we Learn Compilers? Parsing and converting documents in different formats (HTML, XML, JSON) Parsing network protocols and answering requests in servers Parsing SQL query results from databases and generating reports Printing or previewing PostScript or PDF files in printers Parsing contents and filtering spam Converting hardware specification description into electric circuit layouts Designing new computer architectures …

Compilers, Fall 2015CSIE, NTUT15 Thanks for Your Attention! Any question or comment?