DOC PREVIEW
Berkeley COMPSCI 164 - Lecture Notes

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Course SummaryProgramming LanguagesTranslation of Programming LanuagesTranslation of Programming Languages, contd.ToolsConstruction of Complex SoftwareOther Applications of Static AnalysisCourse Summary• Programming Languages• Translation of Programming Languages• Tools• Construction of Complex Software• Other Applications of Static AnalysisLast modified: Mon May 9 10:36:21 2005 CS164: Lecture #44 1Programming Languages• Scope of declarations• Scope vs. extent (lifetime) of variables• Interactions between language design and runtime structures:– Function repre sentation∗ Effects of recursion, variable-sized data, functional values– Inh eritance∗ Single vs. multiple inher itance∗ Java-style interfaces• Example: Pyth and Python: compare and contrastLast modified: Mon May 9 10:36:21 2005 CS164: Lecture #44 2Translation of Programming Lanuages• Lexical analysis– regular expressions, finite automata• Context-free syntax– BNF– Top-down, recursive descent– Bottom-up, shift-reduce parsing– Ter minology: derivation– Syntax-driven translation• Static semantics– Symbol tables, relation to block structure– Types, type i nferenceLast modified: Mon May 9 10:36:21 2005 CS164: Lecture #44 3Translation of Programming Languages, contd.• Code generation• Runtime representations for “special effects”– Exceptions– Procedure calls– Object-oriented method dispatch– Garbage collection• Optimization– Ter minology: basic blocks, control-flow graph– “Clas sical” optimizations– Structure of flow analysisLast modified: Mon May 9 10:36:21 2005 CS164: Lecture #44 4Tools• Lexer-generation, use of regular expressions and states• Parser generator s, rule-base d programmingLast modified: Mon May 9 10:36:21 2005 CS164: Lecture #44 5Construction of Complex Software• Be fa mil iar with project, including parts you didn’t write.• Concept of a “pass”• Use of object-orientation to partition task• Importance of intermediate forms; how used to reduce work ofporting compilersLast modified: Mon May 9 10:36:21 2005 CS164: Lecture #44 6Other Applications of Static Analysis• Verifying program properties.• Insuring security of a platform (Java bytecode verifier)• Analysis that improves performance.Last modified: Mon May 9 10:36:21 2005 CS164: Lecture #44


View Full Document

Berkeley COMPSCI 164 - Lecture Notes

Documents in this Course
Lecture 8

Lecture 8

40 pages

Load more
Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?