Skip to content

cs-learning-every-day/ca.sfu.cmpt379.2022.fall.resource

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ca.sfu.cmpt379.2022.fall.resource

Lectures

From https://canvas.sfu.ca/courses/70682/pages/lectures

COURSE DETAILS

This course covers the theoretical foundations as well as practical techniques for the construction of a compiler for a high-level programming language. Topics include lexical analysis, parsing, type checking, code generation, and optimization. Students will implement an actual compiler for a high-level programming language.

Topics

  • Formal-language theory: alphabets, words, languages, regular expressions, finite automata
  • Compiler design and implementation principles
  • Lexical Analysis: scanners, symbol tables
  • Parsing: context-free grammars, parse trees, ambiguity, top-down and bottom-up parsing
  • LL(1) parsing: efficient top-down parsing, left-factoring
  • Shift-reduce and table-driven parsers: bottom-up parsing
  • Type checking: typing rules, types as inferencing rules, Context checking for programs
  • Context and code generation: from high-level to machine code
  • Introduction to optimization: local, global, and interprocedural.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 75.1%
  • Assembly 15.9%
  • Python 7.0%
  • Perl 2.0%