All Projects → hkveeranki → Decaf-Compiler

hkveeranki / Decaf-Compiler

Licence: MIT license
Compiler for Decaf Programming Language

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
Lex
420 projects
shell
77523 projects

Projects that are alternatives of or similar to Decaf-Compiler

CompilersCourse
Theory of compilation course, MIPT
Stars: ✭ 32 (-11.11%)
Mutual labels:  flex, compilers, compiler-construction
tiny-lang
tiny-lang — A different programming language. Supports a bunch of spoken languages.
Stars: ✭ 26 (-27.78%)
Mutual labels:  compilers, compiler-construction
compiler
My first attempt to create a compiler
Stars: ✭ 16 (-55.56%)
Mutual labels:  compilers, compiler-construction
awesome-internals
A curated list of awesome resources and learning materials in the field of X internals
Stars: ✭ 78 (+116.67%)
Mutual labels:  compilers, compiler-construction
cppcombinator
parser combinator and AST generator in c++17
Stars: ✭ 20 (-44.44%)
Mutual labels:  compilers, compiler-construction
TinyCompiler
c compiler based on flex(lex), bison(yacc) and LLVM, supports LLVM IR and obj code generation. 基于flex,bison以及LLVM,使用c++11实现的类C语法编译器, 支持生成中间代码及可执行文件.
Stars: ✭ 162 (+350%)
Mutual labels:  flex, llvm-ir
Primereact
The Most Complete React UI Component Library
Stars: ✭ 2,393 (+6547.22%)
Mutual labels:  flex
Bootstrap 4 Grid
Bootstrap 4 grid system and layout utilities.
Stars: ✭ 251 (+597.22%)
Mutual labels:  flex
Flexible Grid
Flexible grid layouts to get you familiar with building within the flexible grid system.(HTML, CSS, SASS, SCSS)
Stars: ✭ 154 (+327.78%)
Mutual labels:  flex
Css Grid Flex
📖An introduction about grid and flex of css.
Stars: ✭ 127 (+252.78%)
Mutual labels:  flex
ooprogramming
Intermediate course introducing Object Oriented Programming (OOP) principles applied to the Java language. Recommend to learners with previous experience.
Stars: ✭ 50 (+38.89%)
Mutual labels:  object-oriented-programming
suicide
LLVM pass that detects one undefined behavior, and emits code to delete your hard drive
Stars: ✭ 33 (-8.33%)
Mutual labels:  compilers
Symfony Flex Backend
Symfony Flex REST API template project
Stars: ✭ 214 (+494.44%)
Mutual labels:  flex
Qr Code Bundle
Bundle for generating QR codes in Symfony
Stars: ✭ 169 (+369.44%)
Mutual labels:  flex
go-recipes
🦩 Tools for Go projects
Stars: ✭ 2,490 (+6816.67%)
Mutual labels:  compilers
Travelibrary
🐣流动图书馆微信小程序前端
Stars: ✭ 160 (+344.44%)
Mutual labels:  flex
BOHM1.1
Bologna Optimal Higher-Order Machine, Version 1.1
Stars: ✭ 45 (+25%)
Mutual labels:  compilers
Vue3.0 Admin
vue3.0 + typescript + element-ui + 后台系统
Stars: ✭ 142 (+294.44%)
Mutual labels:  flex
Winflexbison
Main winflexbision repository
Stars: ✭ 197 (+447.22%)
Mutual labels:  flex
CaptCC
A tiny C compiler written purely in JavaScript.
Stars: ✭ 175 (+386.11%)
Mutual labels:  compiler-construction

Decaf-Compiler

Description

Compiler for Decaf Programming Language. Developed as a course project for Compilers course. Decaf is a strongly-typed, object-oriented language with support for inheritance and encapsulation. By design, it has many similarities with C/C++/Java, so you should find it fairly easy to pick up. But it is not an exact match to any of those languages. The feature set has been trimmed down and simplified to keep the programming projects manageable

Repo structure

  • src contains all the code written in C++, flex and bison and CMake files
  • docs contain code documentation
  • sample_inputs contain some sample Decaf programs to test the compiler

Building

mkdir build
cd build/
cmake ..
make 

This will create an executable named decafCompiler in build/bin directory

Running the executable

decafCompiler <input_file> > <output_file>
lli <output_file>

PS: If you like the code and you are using it, please have the courtesy to star the repo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].