Skip to content

alexbock/spcc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

spcc is a simple C11 compiler written in C++20 that aims to be strictly compliant with the ISO C standard.

Preprocessor Progress:

  • Expressive diagnostic system
  • Convert UTF-8 multibyte characters to universal character names
  • Process trigraphs
  • Process line splices
  • Lex source file into preprocessing tokens
  • #ifdef/#ifndef/#else/#endif
  • #define/#undef
  • #include
  • #error
  • Macro expansion with support for #, ##, and the rescanning rules
  • __VA_ARGS__
  • #line
  • #pragma STDC
  • #if/#elif
  • _Pragma
  • Predefined macros
  • Convert string literals and character constants to the execution character set
  • Concatenate adjacent string literals
  • Convert preprocessing tokens to tokens

Semantic Analysis Progress:

  • Type system
  • Expression parser
  • Declarator parser
  • Expression analysis
  • Constant expression evaluation

About

Simple C Compiler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published