v0.2.12
This commit is contained in:
53
chapters/003-architecture-de-compilation.md
Normal file
53
chapters/003-architecture-de-compilation.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 3. Architecture de compilation
|
||||
|
||||
## 3.1 Pipeline — V1 REQUIS — FIGÉ
|
||||
|
||||
```text
|
||||
Source
|
||||
-> lexer
|
||||
-> parser
|
||||
-> AST
|
||||
-> modèle sémantique
|
||||
-> HIR
|
||||
-> Sase IR
|
||||
-> backend / interpréteur
|
||||
```
|
||||
|
||||
L'AST ne doit pas être couplé directement à LLVM.
|
||||
|
||||
Le Sase IR est la frontière principale entre la sémantique Saselang et les backends.
|
||||
|
||||
## 3.2 Interpréteur — V1 REQUIS — À FINALISER
|
||||
|
||||
La V1 doit inclure un interpréteur Saselang.
|
||||
|
||||
La représentation exacte interprétée reste à décider :
|
||||
|
||||
```text
|
||||
HIR
|
||||
Sase IR
|
||||
bytecode dérivé de Sase IR
|
||||
```
|
||||
|
||||
Le choix ne doit pas créer une seconde sémantique du langage.
|
||||
|
||||
## 3.3 Backend LLVM — V1 REQUIS — FIGÉ
|
||||
|
||||
LLVM est le premier backend compilé.
|
||||
|
||||
Il doit pouvoir produire selon la cible et la configuration :
|
||||
|
||||
```text
|
||||
machine code
|
||||
object file
|
||||
native executable
|
||||
static library
|
||||
dynamic/shared library
|
||||
textual assembly
|
||||
```
|
||||
|
||||
L'assembleur textuel est un artefact de backend, pas une syntaxe du langage Saselang.
|
||||
|
||||
NASM est le premier dialecte explicite à étudier pour x86/x86_64. Il ne doit pas être imposé aux architectures où il n'est pas pertinent.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user