welcome to ce414: compilers

39
Welcome to CE414: Compilers Course Information Why Study Compilers? A Quick History of Compilers The Structure of a Compiler

Upload: others

Post on 15-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Welcome to CE414: Compilers

• Course Information • Why Study Compilers?• A Quick History of Compilers• The Structure of a Compiler

Course StaffInstructor: Mohammad Reza Bahrami

([email protected])

Course StaffTA: Mahsa Farahani [Head TA]

([email protected])

TA: Seyyed Hamid Montazeri([email protected])

TA: Roozbeh Sayadi([email protected])

TA: Negaar Rezvanfar([email protected])

TA: Azadeh Nahvi([email protected])

This Course Adapted formStanford CS 143AndMIT CS 6.s081(but with changes!)

Course Theme•Studying design and implementation a very complicated software.

•We break it apart!

•We are going to meet weird-useful language features.

Course Theme

•We use theory as much as possible to survive.

•Excellency at programming is needed.

Course Page:http://ce.sharif.edu/~mrbahrami/courses/CompilerFall21.html

• Course info• Important Announcements• Calendar• Some resources

Grading Policies ť Midterm Exam: 36 (20th Aban 9:00 am or

12:00)• Final Exam: 24 (24th or 25th Dey)• Mini-Quiz: 10 (with pre-announcement)• Project: 30 (3 Phases)• Contribution: up to 15 more point

• We have two Comprehensive Exams.

• Reasonable exams, if you study you can get a good mark.

• They are normal!• You have samples.• No collaboration!!!• Possible random/nonrandom

oral exam.

Exams

• Open book and lectures in online exam.

• On regular, you can bring on paper.

• If the pandemic ends after midterm, last lectures will be examined again and grades will change.

Exams

Use your own knowledge • Any Communication during

exams is not allowed in any way using any media.

• Searching the internet is not allowed neither, and won’t be useful actually.

• You can use your book and notes during online exams. But you must obtain them before the exam.

Mini Quiz

• With announcement.• Takes 10-20 min. • Not in Group. Open Slides.• Classes might be longer.• From previous or current lectures.• Based on Mid/Final Exam (up to there):

• 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑒𝑒𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 > 50% ⇒ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑒𝑒𝑄𝑄𝑄𝑄𝑄𝑄𝑄𝑄 ≻ 50%• 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑒𝑒𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 > 85% ⇒ 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑒𝑒𝑄𝑄𝑄𝑄𝑄𝑄𝑄𝑄 = 100%

We work on team in project and homework.

Group Rules• You work in the same group for the

project and homework.• Groups must consist of 2 or 3 people.• Any change in the group’s members

will change all former grades to 0.• Communication among groups is not

allowed.• You work in a group but, you will have

your own grade.

Group Rules• Pick an innovative name.• Register Here.• Deadline: 4th Mehr.• Register once; otherwise, all

involved people will be removed.

• A piece of advice: create a group with friends with whom you can work easily.

• It is a complete compiler in 3-4 phases.• Lexical Analyzer (Scanner)• Parser• Code Generation

Projects

• The generated code must run on a MIPS machine.

• It must be a compiler!• It must WORK as the instructions.• Linux is strongly recommended.

Projects

• This course has a big project. It is not easy. And, It might be time-consuming. Also, It requires patience and carefulness.

• Project must follow the rules and use the framework.

Warning

• We check just your outputs while grading. Especially in phase 3, your generated program MUST work correctly.

• We have many tests either you pass or fail each one.

Warning

• Every one must contribute, or we reduce his/her grade.

• You must do a fair portion and have a good vision about everything else.

• There is a delivery and we check it there.

Some Issues

We use GitHub

• We Use GitHub. • Learn basics of Git.• Your commit time and frequency matters.• It must be private at first.• Set it public when announced. • Git with Jadi in YouTube:

Submission Guide line • Just submit once unless you contact

with the corresponding assistant.• Don’t postpone everything to the

last second (Parkinson’s Law).• Just upload it to Quera. E-mails will

be lost by experience.

Contribution!

• As class observer (at most once, unless we have no volunteer).

• At most 30% of contribution.

• Do homework (at most twice, unless we have no volunteer).

• The rest.

Class Observer• His/her microphone is On.• Can unmute others to ask questions.• Must interrupt me when it is necessary.• Remind me to answer others.• Assist with online affairs or activities.• Ask for break.• Check recording.• Your voice in the class!• A Google Sheet will be shared with you.

• NOTICE: It should NOT prevent you from speaking in class. This is just for more convenience.

Homework• About 8 assignments.• Doing them is not mandatory.• Group can register for doing them.• Solution must be in the template.• A recorded video and explain answers rewarded with more grades.

• Quality based Grading.• Every one must be aware of the answers and can explain and defend them. Assistants may randomly set appointments with you to check it.

Homework• Register with Google Form.• Registration opens 1h after upload (9pm of release day).

• In the first hour just people who haven’t done any homework can register.

• First 3rd volunteers can do homework and get rewards.

• If you register and don’t do anything or get a grade below 50% you will get -100% for that homework.

• We MAY have questions from homework in exams.

A Word on the Honor Code...

Be Professional • Any communication among groups is not

allowed.• In Exams you must take exams individually.• Sharing any piece of code is not allowed.• If we see any violation our reaction will be hard.

We must deal with it. Because we are responsible about it.

WATCH This:

What happens if…• In project the penalty is a -100 grade.

• In homework, plagiarism have a -100 grade.

• In exams/quiz (each can occurs):• Send it to education affairs (possibility of 0.25 final grade).• Fail the course.• 0/-100 for whole exam.• -100 for the question

• (I won’t use it except in very special cases contains repentance before announcement).

• And no extra grade, if we decide.

Prerequisites

Maturity in programming and patience is also required.

Data Structure

Automata

• We use Quera. • Register here. (NOW!) CE-Compiler-Fall-21• Assignments and project must be

uploaded there.• Ask your questions! TAs will be happy

to be able to help.• Lectures will be on CW.

• We are all adults, no mandatory attendance.

• But you are responsible for all announcements (noclass, exam date, projects deadline, HWs and etc.).

• I can’t help your grade at the very end of the term.

• I try to record.

All Extension Requests will be Ignored.

We should practice time management.