Skip to content

aka-STInG/mini-c

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mini-C Compiler

This is a compiler for a subset of the C programming language. The compiler is written in F# and targets Microsoft Intermediate Language (MSIL). It was written so that I could teach myself F#. If you're interested in doing the same thing, you may find it useful.

GUI

I wrote a simple GUI to visualize the compilation process. The Abstract Syntax Tree (AST) and Microsoft Intermediate Language (MSIL) panels update in real-time when you change the source code.

Screenshot

Acknowledgements

  • I got the grammar for this particular subset of C from this paper, which looks like a university course assignment.
  • Tim Robinson's blog series on writing a Lisp compiler in F# was very useful. Although the source languages are different, I was still able to use many of his ideas for my implementation.

License

Mini-C is released under the MIT License.

Releases

No releases published

Packages

No packages published

Languages

  • F# 71.5%
  • C# 28.4%
  • PowerShell 0.1%