Skip to content

JastAdd-C: extensible, specification-driven generated C99 compiler

License

Notifications You must be signed in to change notification settings

christoff-buerger/jastadd-c

Repository files navigation

Software: JastAdd-C (an extensible, specification-driven generated C99 compiler front end)

Public Git Repository: https://github.com/christoff-buerger/jastadd-c

Author: Christoff Bürger (christoff.buerger@gmail.com)

Introduction

The JastAdd-C C99-compiler front was developed by Christoff Bürger for his master thesis titled Specification-Driven Generation of an Extensible C Compiler. The objective was an extensible C99 front end that can be used as foundation for user-specified program analyses and language extensions. To achieve this goal, specification-driven techniques are used; all compiler components are generated using compiler-compiler techniques like regular expression, LALR(1)-grammars, attribute grammars and graph rewriting. User-specified analyses and extensions are "just" further declarative specifications. To that end, general, specification-driven concepts for compiler modularisation, error handling, name analysis, well-formedness analysis, type representation and type transformation were developed, eventually resulting in JastAdd-C. The developed concepts are well documented in the thesis (cf. documentation/jastadd-c-thesis.pdf), making it a design document, manual and prerequisite for JastAdd-C developers.

License

This program and the accompanying materials are made available under the terms of the MIT license (X11 license) which accompanies this distribution (./license.txt).

Comments

For any questions or comments don't hesitate to write me an e-mail (christoff.buerger@gmail.com). I appreciate any feedback.

About

JastAdd-C: extensible, specification-driven generated C99 compiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published