COMP 412 - Lecture Notes PDF
COMP 412 - Lecture Notes PDF
COMP412:Compiler
ConstructionforUndergraduates
KeithCooper
LindaTorczon
DepartmentofComputerScience
RiceUniversity
Houston,Texas,USA
Fall2016:Room301,SewallHallMonday,
Wednesday,Friday,11:00am
Notes
MidTermExam
1.Asyllabusforthemidtermexamisnowavailable.
2.Apracticeexamforthemidtermexamisnowavailable.
Slidesand/orNotes
1.IntroductiontotheCourse
2.TheCompiler'sFrontEnd(alab1perspecitive)
3.LocalRegisterAllocation(alab1perspective)
4.Lab1:Tutorial1Notes
5.TheILOCVirtualMachine(moreLab1help)
6.Lab1:Tutorial2Notes<==NEW
7.LexicalAnalysis,PartI(Chapter2inEaC2e)
8.LexicalAnalysis,PartII,NFAsandThompson'sConstruction
9.LexicalAnalysis,PartIII,theSubsetConstructionandBrzozowski'sAlgorithmforDFAMinimization
10.LexicalAnalysis,PartIV,Hopcroft'sAlgorithmforDFAMinimization
RevisedsectiononHopcroft'salgorithmfromEaC3e
11.LexicalAnalysis,PartV,ImplementingScannersfromDFAs(notpresentedhereforreference)
12.SyntaxAnalysisI(Chapter3inEaC2e)
13.SyntaxAnalysisII
14.SyntaxAnalysisIII
15.SyntaxAnalysisIVFirstSets,FollowSets,andLL(1)tableCorrected
16.SyntaxAnalysisVStartofBottomupParsing(Handles)
17.SyntaxAnalysisVI
18.SyntaxAnalysisVIILR(1)tableconstruction
19.SyntaxAnalysisVIII
20.Lab2:TutorialNotes
21.IntermediateRepresentations,I(Chapter5inEaC2e)
22.IntermediateRepresentations,II
23.SyntaxDirectedTranslation,I(Chapter4inEaC2e)
24.SyntaxDirectedTranslation,II
https://www.clear.rice.edu/comp412/Lectures/ 1/2
11/6/2016 COMP412:LectureNotes
25.CodeGenerationPreliminaries,I
Papermentionedinclassandlecturenotes:RobertFloyd,"AnAlgorithmforCodingEfficient
ArithmeticOperations,"CACM4(1),January1961,pages4251.
26.CodeGenerationPreliminaries,IIAssignmentandMemoryManagement
Youareresponsibleformaterialabovethislineonthemidtermexam
Materialbelowthislineiscoveredonthefinalexam
27.Array&StructureAddressCalculations
28.Function&ProcedureCalls
29.Functions&ProcedureCalls,II
30.NaminginanAlgolLikeLanguage
31.NaminginObjectOrientedLanguages
32.RuntimeSupportforAlgolLikeLanguages
33.LocalScheduling:APrimerforLab3
34.RuntimeSupportforObjectOrientedLanguages
35.BacktoExpressionsstringsandbooleans
Columnmentionedinthelecture:PoulHenningKamp,"TheMostExpensiveOnebyteMistake",
ACMQueue,July25,2011
36.Lab3,Tutorial1focusonbuildingthedependencegraph
37.StorageLayout&theMemoryHierarchyCaches,TLB,AddressTranslation
AdditionalMaterials
1.NotesonGarbageCollectioninJava
ItishardtounderstandyourJavalab'sperformancewithoutunderstandinggarbagecollectionandits
impactonrunningtimes.
2.TheSoftwareStack
Whathappenstocodeaftercompilation?
Syllabus
Fall2016Syllabus
Comp412Home LastmodifiedFriday,04Nov201610:57:24CDT.
https://www.clear.rice.edu/comp412/Lectures/ 2/2