Skip to content

Yamsman/scc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 

Repository files navigation

scc

A hand-written C compiler with the objectives of being (mostly) C99 compliant and self-hosting. Currently, a lot of detailed functionality is missing, but the compiler can already output limited x86_64 assembly for some constructions.

TODO

Major features that aren't implemented yet:

Lexical analysis and preprocessing

  • User-defined type recognition

Parsing

  • Initializers
  • Bitfields
  • Typedefs

Code generation

  • Integer expressions
  • Floating-point expressions
  • Declarations
  • Referencing
  • Array access/Dereferencing
  • Function calls

Miscellaneous

  • Restructure AST nodes
  • Possibly change instruction nodes to be an intermediate representation?
  • Optimization

About

C99 compiler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published