CS426 Languages and Machines
 
 

CS426

 

Course Description:

 

 

Languages and Machines. 3(1). Students will learn the theoretical foundations of computer science and apply these concepts to appropriate stages in compiler implementation.  Topics include finite automata, formal language theory, grammars, scanners, parsing techniques, code generation, symbol tables, and run-time storage allocation.  Students will design and implement a syntax-directed compiler for a high-order programming language. Final Exam or Project.  

 

Prerequisites:

CS 380 and either CS 351 or El Engr 485

Offered:

Fall

Semester Hours:  

3

 

Course   Objectives:  

Upon completion of the course, students shall be able to:
  1. Design DFAs, NFAs and REs for a language, and convert between them.
  2. Design PDAs and grammars for a language, and convert between them
  3. Transform a grammar so that it can be implemented using a high-level language (e.g. LL(1))
  4. Write a partial compiler consisting of a scanner, parser, semantic analyzer, and intermediate-code generator.
  5. Understand the different phases of a compiler.
  6. Design simple Turing machine programs and understand how to simulate different computational models using Turing machines.
  7. Complete a semester long project with many modules (Some that they develop, and some that are supplied to them) that builds on itself (i.e. requires the completion of one part before going on to the next).

 

 

    

 

The DFCS Home Page is maintained by:
DFCS WebMaster, 333-4118, Webmaster.dfcs@usafa.af.mil.

 

U.S. Air Force Academy, USAFA, CO 80840, (719) 333-1110 DSN: 333-1110, Updated: 20 Nov 09

Privacy & Security Notice   |   Disclaimers   |   Contact Us / Submit Feedback / Webmaster