diff --git a/README.md b/README.md index aa28fa0..e5fcb64 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,69 @@ -# ccmeta +# CCMETA -C compiler with embedded metalanguage. \ No newline at end of file +C compiler with embedded metalanguage. + +## Table of contents +1. [Architecture](#ar) +2. [Build the project](#bp) + - [Requirements](#ar) + - [Makefile](#makefile) + - [Build](#makefile_Build) + - [Clean](#makefile_Clean) + - [Test](#makefile_Test) +3. [Usage](#usage) +4. [Help](#help) + - [Peg/Leg](#pegleg) + + +##
Architecture
+![alt text](/media/ccmeta.drawio.png) +##
Build the project
+###
Requirements
+ +Please install [peg/leg](https://www.piumarta.com/software/peg/) manually or with a package manager, for example with Homebrew: +```bash +$ brew install peg +``` + +Please install [the Boehm-Demers-Weiser conservative garbage collector](https://www.hboehm.info/gc/) manually or with a package manager, for example with Homebrew: +```bash +$ brew install bdw-gc +``` + +###
Makefile
+ +####
Build
+ +```bash +$ make +``` + +####
Clean
+```bash +$ make clean +``` + +####
Test
+```bash +$ make test +``` + + +##
Usage
+You can pass your program: +* via a file +```bash +$ ./ccmeta < file +``` +* via a file +```bash +$ ./ccmeta file +``` + +##
Help
+ +###
peg/leg
+ +``` shell +$ man peg +``` \ No newline at end of file diff --git a/media/ccmeta.drawio.png b/media/ccmeta.drawio.png new file mode 100644 index 0000000..fa535af Binary files /dev/null and b/media/ccmeta.drawio.png differ