Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2
Third project of 2023-2024 year which aims creating our own assembly language, with an interpreter to be able to read and run our programs. 📎
https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2
aop aop-interpreter asm assembly at2 interpreter language-model vcpu virtual-processor
Last synced: about 5 hours ago
JSON representation
Third project of 2023-2024 year which aims creating our own assembly language, with an interpreter to be able to read and run our programs. 📎
- Host: GitHub
- URL: https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2
- Owner: algosup
- License: mit
- Created: 2024-01-08T14:29:23.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-01T13:56:49.000Z (9 months ago)
- Last Synced: 2024-11-05T10:44:58.639Z (11 days ago)
- Topics: aop, aop-interpreter, asm, assembly, at2, interpreter, language-model, vcpu, virtual-processor
- Language: C
- Homepage:
- Size: 4.73 MB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# [2024] - IAT2️⃣
## 🫂 Who are we ?
| **Picture** | **Name** | **Role** | **GitHub** | **LinkedIn** |
| ------------------------------------------------------------------------------------------------ | ---------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------|
| | **Mathias GAGNEPAIN** | Project Manager | | [](https://www.linkedin.com/in/mathias-gagnepain-426a131b0/) |
| | **Guillaume DESPAUX** | Program Manager | | [](https://www.linkedin.com/in/guillaume-despaux-084b10206/) |
| | **Guillaume DERAMCHI** | Technical Leader | | [](https://www.linkedin.com/in/guillaume-deramchi-a45116293/) |
| | **Maxime CARON** | Software Engineer | | [](https://www.linkedin.com/in/maxime-caron-dev/) |
| | **Paul NOWAK** | Software Engineer | | [](https://www.linkedin.com/in/paul-nowak-0757a61a7/) |
| | **Enzo GUILLOUCHE** | Quality Assurance | | [](https://www.linkedin.com/in/enzo-g-b62114293/) |Read the list of [contributors](https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2/contributors) to see who helped with the project!
## 📚 What is this project ?
This project (IAT2) involves the creation of a new assembly language for enhanced understanding and usability, we introduce the AT2, accompanied by its dedicated assembler (2AT2) and virtual Processor (VAT2).
## 🕵️♂️ What is AT2 ?
AT2 stands for **A**ssembly **T**eam **2**, representing our proprietary assembly language.
*You can also refer to the [documentation](./documents/functional/at2_language_documentation.pdf).*## ⚙️ What is 2AT2 ?
2AT2 stands for **A**ssembler for **A**ssembly **T**eam **2**, serving as the exclusive assembler capable of reading and converting `.aop` files written in our AT2 language into machine code (Binary).
## 💻 What is VAT2 ?
VAT2 stands for **V**irtual Processor for **A**ssembly **T**eam **2**, serving as a virtual processor able to execute our binary generated by 2AT2.
## 📦 What is IAT2 ?
IAT2 stands for **I**ntegral **A**ssembler **T**eam **2**, it's the name of the whole project (2AT2 + VAT2).
## 💾 Why did we choose .aop as extension ?
We selected the `.aop` extension to signify **A**op **O**riginal **P**rogram, embodying an infinite recursive loop inspired by [ZWEI](https://en.wikipedia.org/wiki/EINE_and_ZWEI#Naming)'s name.
## 🔎 How does it work ?
To assemble your code in `.aop`, here is some commands related to **2AT2** usage.
1. Compile you AT2's code: `2at2 `
2. Display the commands list: `2at2 -help` or `2at2 -h`
3. Compile + run your AT2's code with VAT2: `iat2 `*You can also refer to the entire [user manual](./documents/functional/user_manual.md) and [AT2 documentation](./documents/functional/at2_language_documentation.pdf).*
### 🔗 Requires
To use IAT2 you need:
- A computer *(Windows Recommended)*
- GCC installed, you can install it [here](https://www.devdungeon.com/content/install-gcc-compiler-windows-msys2-cc)### 💽 Installation
Step By Step:
1. Clone the repository: `git clone https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2.git`
2. Go at the project root
3. Build the project
- How to use with mingw: (Windows)
1. Execute ``cmake -S . -B Build -G "MinGW Makefiles"``
2. Execute ``cd Build``
3. Execute ``mingw32-make``
- How to use with msys2: (Windows)
1. Execute ``cmake -S . -B Build -G "MSYS Makefiles"``
2. Execute ``cd Build``
3. Execute ``make``It will generate a bin folder containing our runners to use it refers to [How does it work](#🔎-how-does-it-work)
*You can also refer to [user manual](./documents/functional/user_manual.md).*
## 🛠️ Made with
* [C99](https://en.wikipedia.org/wiki/C99) - C programming Language[.](https://www.youtube.com/watch?v=tas0O586t80)
* [C++](https://cplusplus.com/) - C++ Language used for unit tests.
* [Visual Studio Code](https://code.visualstudio.com/) - [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) (Integrated Developement Environement).
* [CMake](https://cmake.org/) - Software Build System for C & C++ code.
* [GoogleTest](https://github.com/google/googletest) - Google's internal systems for continuous integration.
* [GCC](https://gcc.gnu.org/) - Used to compile C language.
* [G++](https://gcc.gnu.org/) - Used to compile C++ language## 🤝 Contributing
If you want to contribute please take a look to [CONTRIBUTING.md](CONTRIBUTING.md).
## 🗃️ Versions
- **Latest :** 1.1.1
- **Current :** 1.1.1
- Versions List : [Cliquer pour afficher](https://github.com/algosup/2023-2024-project-3-virtual-processor-team-2/tags)## ⚖️ License
This project is under license ``MIT`` - see the [LICENSE](LICENSE) file for more information.