Dr. Thomas R. Turner
University of Central Oklahoma
College of Mathematics and Science
Computer Science
MCS 134
Contact Information
406.974.5853
// CS 4173 Translator Design

CRN 25838 Course Administration

Translator Design Research Day Poster

Translator Design Programming Projects

Subset Pascal Compiler Projects

  • p01: Subset Pascal Scanner
  • p02: Subset Pascal Parser
  • p03: Identifiers and Identifier Lists
  • p04: Subset Pascal Declarations
  • p05: Subset Pascal Factors
  • p06: Subset Pascal Terms
  • p07: Subset Pascal Simple Expressions
  • p08: Subset Pascal Expressions
  • p09: Subset Pascal Variables
  • p10: Subset Pascal Statements
  • p11: Subset Pascal Programs
  • p12: Subset Pascal Standard Procedures and Functions

P-Code Assembler, Disassembler, and Interpreter Projects

  • a01: P-Code Assembler Scanner
  • a02: P-Code Assembler Parser
  • a03: P-Code Assembler
  • a04: P-Code Disassembler
  • a05: P-Machine Loader, Subprogram Linkage, and Termination Operations
  • a06: P-Machine Data Reference Operations and Standard Functions
  • a07: P-Machine Comparison and Arithmetic Operations
  • a08: P-Machine Boolean and Set Operations
  • a09: P-Machine Conversion and Jump Operations
  • a10: Compiler-Assembler-Interpreter Integration

P-Machine Specification and Implementation

Lectures

  • micro grammar: Micro Grammar
  • L001: Anatomy of a compiler
  • L002: Lexical Analysis and lex
  • L003: Strings and Languages
  • L004: p01 Overview
  • L005: Nondeterministic Finite Automata
  • L006: Deterministic Finite Automata
  • L007: Regular Expression to NFA
  • L008: Conversion of a NFA to a DFA
  • L009: State Reduction and Assignment
  • L010: Context Free Grammars
  • L011: p02 Overview
  • L012: a02 Overview
  • L013: LR Parsing
  • L014: Constructing SLR Parsing Tables
  • L015: First and Follow Sets
  • L016: p03 Overview
  • L017: a03 Overview
  • L018: Symbol Table Overview
  • L019: Symbol Table Design
  • L020: Symbols and Types
  • L021: Symbol Table Interface
  • L022: p04 Overview
  • L023: a04 Overview
  • L024: P-Code Overview
  • L025: a05 Overview
  • L026: a06 Overview
  • L027: factor Semantics
  • L028: term Semantics
  • L029: a07 Overview
  • L030: simple_expression Semantics
  • L031: a08 Overview
  • L032: expression Semantics
  • L033: expression_list Semantics
  • L034: a09 Overview
  • L035: Procedure Semantics
  • L036: Variable Semantics
  • L037: Statement Semantics
  • L038: Statement List Semantics
  • L039: Subprogram Declaration Semantics
  • L040: Program Semantics
  • L041: Standard Procedures and Functions
  • L080: Creating the P-Code Instruction Array

Tests

Teams and Schedules