Skip to content

Flow is a self-compiling compiler for a subset of the C programming language.

Notifications You must be signed in to change notification settings

pedrommaiaa/Flow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flow

Flow is a self-compiling compiler for a subset of the C programming language.

Features:

  • Statements.
  • If statements.
  • While loops.
  • For loops.
  • Functions.
  • Functions params.
  • Functions arguments.
  • Types.
  • Pointers.
  • Global variables.
  • Local variables.
  • Arrays.
  • Char string literals.
  • structs.
  • Unions.
  • Enums and typedefs.
  • Preprocessor.
  • Break-continue
  • Switch.
  • Else.
  • Var initialization.
  • Local var initialization.
  • All operations.
  • Void functions.
  • Sizeof.
  • Static.
  • Ternary.
  • Local arrays.
  • Pointer increments.
  • Compile itself.

Usage

  • make flow to create the compiler.
  • ./flow file1 to use the compiler.
  • make test to execute tests.
  • make clean to clean up everything.

To-Dos:

  • Change code generator from AT&T to Intel Syntax.
  • Create my own x86-64 Assembly compiler.31.

Resources:

About

Flow is a self-compiling compiler for a subset of the C programming language.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published