https://github.com/wild-queue/imperative-language-compiler
A tool for running code written in an imperative programming language. This tool provides the ability to run code written in a toy imperative programming language by translating the code into C# code (and then running it using .Net) or by translating it directly into the .Net CIL. It also performs a type checking before running the code.
https://github.com/wild-queue/imperative-language-compiler
bison-flex compiler-construction cpp csharp dotnet makefile parser programming-language-translator
Last synced: about 1 month ago
JSON representation
A tool for running code written in an imperative programming language. This tool provides the ability to run code written in a toy imperative programming language by translating the code into C# code (and then running it using .Net) or by translating it directly into the .Net CIL. It also performs a type checking before running the code.
- Host: GitHub
- URL: https://github.com/wild-queue/imperative-language-compiler
- Owner: Wild-Queue
- Created: 2023-02-07T17:11:49.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-11T23:26:49.000Z (about 2 years ago)
- Last Synced: 2023-08-06T09:11:05.299Z (almost 2 years ago)
- Topics: bison-flex, compiler-construction, cpp, csharp, dotnet, makefile, parser, programming-language-translator
- Language: C++
- Homepage:
- Size: 1.67 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About The Project
We implemented a compiler based on C++ for given Imperative programming language. See [grammar](GRAMMAR.md) of this language.
## Usage
Prerequisites: bison, ILASM from .NET build tools.
There are three options to run compiler:
1. Compile to C# language and run.
```c
make run file="your_file"
```
2. Compile to CIL and run.
```c
make run-cil file="your_file"
```
3. Run tests from `tests` forder.
```c
make test
```
## Authors of the projectEgor Shalagin, Vladislav Spigin, Maxim Latypov and Arseniy Rubtsov