Skip to content

A compiler is a program that translates programs written in a source language into programs written in a target language. This course introduces the principles, techniques and tools for designing a compiler. An emphasis is placed on a programming project that applies the techniques and tools learned from the course to implement a compiler for a …

Notifications You must be signed in to change notification settings

wayne1116/CompilerDesign-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compiler project

At the beginning, please download ANTLR 3.5.2 with the link below. The project is divided into several parts including language definition, lexical analyzer, C-grammar, symbol table handlings, parser, and code generation.

ANTLR 3.5.2 Download: https://www.antlr3.org/download.html

Project

● Project 1: Write a lexical analyzer "mylexer.g" file to choose the a set of language features.

● Project 2: Write a syntax analyzer "myparser.g" file to decide the set of language feature.

● Project 3: Implement a C interpreter.

● Project 4: Write a "myCompiler.g" to generate Jasmin assembly code for executing C codes on my own compiler.
      Jasmin Download: https://sourceforge.net/projects/jasmin/files/

About

A compiler is a program that translates programs written in a source language into programs written in a target language. This course introduces the principles, techniques and tools for designing a compiler. An emphasis is placed on a programming project that applies the techniques and tools learned from the course to implement a compiler for a …

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published