Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UP Lecture 01
Search
Javier Gonzalez-Sanchez
PRO
December 04, 2023
Programming
0
96
UP Lecture 01
Compilers
Course Presentation
(202401)
Javier Gonzalez-Sanchez
PRO
December 04, 2023
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC509 Lecture 13
javiergs
PRO
0
110
CSC305 Lecture 22
javiergs
PRO
0
61
CSC305 Lecture 22
javiergs
PRO
0
24
CSC509 Lecture 12
javiergs
PRO
0
160
CSC305 Lecture 21
javiergs
PRO
0
75
CSC305 Lecture 20
javiergs
PRO
0
59
CSC305 Lecture 19
javiergs
PRO
0
53
CSC509 Lecture 11
javiergs
PRO
0
180
CSC305 Lecture 18
javiergs
PRO
0
74
Other Decks in Programming
See All in Programming
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
イベント駆動で成長して委員会
happymana
1
330
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
97
Optimizing for Happiness
mojombo
376
70k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Faster Mobile Websites
deanohume
305
30k
Side Projects
sachag
452
42k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Docker and Python
trallard
40
3.1k
Transcript
jgs Compilers Lecture 01: Course Presentation Dr. Javier Gonzalez-Sanchez
[email protected]
jgs Instructor
Dr. Javier Gonzalez-Sanchez | Compilers | 3 jgs Instructor Dr.
Javier Gonzalez-Sanchez
[email protected]
http://javiergs.info
Dr. Javier Gonzalez-Sanchez | Compilers | 4 jgs Where I
am from?
Dr. Javier Gonzalez-Sanchez | Compilers | 5 jgs Teaching http://javiergs.info/teaching/
At MX/ASU/CSU: § Software Engineering § Human-Computer Interaction § Applied Affective Computing § Programming Languages
Dr. Javier Gonzalez-Sanchez | Compilers | 6 jgs Research http://javiergs.info/projects/
Emotion AI Human-Robot Interaction Affect-Driven Intelligent Systems
jgs Course Content
Dr. Javier Gonzalez-Sanchez | Compilers | 8 jgs Compiler Definitions
Programming Languages Translate
Dr. Javier Gonzalez-Sanchez | Compilers | 9 jgs Keywords Level
Paradigm Language Analysis Lexical Input: Symbols Output: Words Syntax Input: Words Output: Sentences Semantic Input: Sentences Translate or Execute
Dr. Javier Gonzalez-Sanchez | Compilers | 10 jgs Language Levels
Hardware Machine Language Assembly Language High-Level Language C Fortran C++ Java
Dr. Javier Gonzalez-Sanchez | Compilers | 11 jgs Assembly Language
Dr. Javier Gonzalez-Sanchez | Compilers | 12 jgs Machine Language
Dr. Javier Gonzalez-Sanchez | Compilers | 13 jgs High-Level Languages
X,E,G,O,O #e1,I,I,0,7 @ OPR 19, AX STO x, AX LIT 5, AX OPR 21, AX LOD #e1,AX CAL 1, AX OPR 0, AX 5 Virtual Machine (interpreter) // sorce code int x; int foo () { read (x); print (5); } main () { foo (); } Lexer Parser Semantic Analyzer Code Generation 01001010101000010 01010100101010010 10100100000011011 11010010110101111 00010010101010010 10101001010101011 Assembler compilation execution
Dr. Javier Gonzalez-Sanchez | Compilers | 14 jgs Why? A
course in compilers offers a good opportunity to get experience with the development of a larger piece of software.
jgs Syllabus
Dr. Javier Gonzalez-Sanchez | Compilers | 16 jgs Grading Midterm
Exam 40% 20% 20% Final Exam (Comprehensive) 40% 10% + 10% + 10% + 10% Programming Assignments (4) 100% A + 97 A 93 A- 89 B+ 86 B 82 B- 78 C + 74 C 70 Labs 20% 20%
Dr. Javier Gonzalez-Sanchez | Compilers | 17 jgs Textbook
Dr. Javier Gonzalez-Sanchez | Compilers | 18 jgs Guidelines Read
the Syllabus
Dr. Javier Gonzalez-Sanchez | Compilers | 19 jgs Questions
jgs Compilers Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Spring 2024 Copyright. These
slides can only be used as study material for the Compilers course at Universidad Panamericana. They cannot be distributed or used for another purpose.