1.1 KiB
1.1 KiB
3. Architecture de compilation
3.1 Pipeline — V1 REQUIS — FIGÉ
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 :
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 :
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.