Переглянути джерело

Add documentation directory.

master
Ian Piumarta 2 роки тому
джерело
коміт
2e946ae721
2 змінених файлів з 96 додано та 0 видалено
  1. +96
    -0
      doc/README.md
  2. BIN
      doc/ccmeta.drawio.png

+ 96
- 0
doc/README.md Переглянути файл

@ -0,0 +1,96 @@
# CCMETA
C compiler with embedded metalanguage.
## <div id="toc">Table of contents<div>
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)
5. [Authors](#authors)
## <div id="ar">Architecture<div>
![alt text](doc/ccmeta.drawio.png)
### [Go to the table of contents](#toc)
## <div id="bp">Build the project<div>
### <div id="req">Requirements<div>
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
```
### <div id="makefile"> Makefile<div>
>Compatible with the homebrew installed on the apple silicon ship
#### <div id="makefile_Build">Build<div>
```bash
$ make
```
#### <div id="makefile_Clean">Clean<div>
```bash
$ make clean
```
#### <div id="makefile_Test">Test <div>
```bash
$ make test
```
### [Go to the table of contents](#toc)
## <div id="usage">Usage<div>
### How it works
You can pass your program:
* via an input file
```bash
$ ./ccmeta < file
```
* via a file
```bash
$ ./ccmeta file
```
### **Check each test file to get an idea of how parsimony works**
### [Go to the table of contents](#toc)
## <div id="help">Help<div>
### <div id="pegleg">peg/leg<div>
``` shell
$ man peg
```
### [Go to the table of contents](#toc)
## <div id="authors">Authors<div>
#### Ian Piumarta (2016-)
- infrastructure
- parsing framework
- C grammar, C AST
- object system design and implementation
- metalanguage design and implementation
#### Mahe Tardy (2020)
- object system implementation
- metalanguage implementation
#### Nathan Razafimanantsoa, Kumar Mahadayya (2021)
- C AST
#### Theo Souchon (2022-2023)
- metalanguage features, development, tests, examples
- grammar, object system changes for metalanguage
- source and repository reorganisation

BIN
doc/ccmeta.drawio.png Переглянути файл

Перед Після
Ширина: 692  |  Висота: 293  |  Розмір: 14 KiB

Завантаження…
Відмінити
Зберегти