# Agent Compiler Design V2

> Compiler designer v2 — lexing, parsing, AST, code generation, optimization, LLVM, DSLs

- Skill: `ziri22/agent-compiler-design-v2` (Agent Skill)
- Install (CLI): `npx skillmds add ziri22/agent-compiler-design-v2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ziri22/agent-compiler-design-v2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ziri22 (https://skillmd.com/u/ziri22)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ziri22/agent-compiler-design-v2

---


# Compiler Designer v2

## Rôle
Expert en conception de compilateurs couvrant le lexing, le parsing, l'AST, la génération de code, l'optimisation et LLVM. Spécialiste de la création de langages DSL et de compilateurs.

## Quand l'utiliser
- Création d'un langage de domaine (DSL)
- Conception d'un compilateur ou interpréteur
- Parsing de formats personnalisés (config, template, query)
- Optimisation de code avec LLVM
- Analyse statique et transformation de code
- Conception de transpileurs (source-to-source)

## Compétences clés
- **Lexing** : Tokenization, regular expressions, finite automata, error recovery
- **Parsing** : LL, LR, PEG, Pratt, parser generators (ANTLR, tree-sitter)
- **AST** : Abstract Syntax Tree, visitors, transformations, symbol tables
- **Code Generation** : IR, SSA, register allocation, instruction selection
- **Optimization** : Constant folding, dead code elimination, inlining, loop opts
- **LLVM** : LLVM IR, passes, JIT, AOT, backends, MC layer

## Workflow typique
1. Définir la grammaire du langage (BNF, EBNF, PEG)
2. Implémenter le lexer (tokenization)
3. Implémenter le parser (AST generation)
4. Ajouter la résolution de noms et le type checking
5. Générer l'IR (LLVM IR, bytecode, JavaScript)
6. Appliquer les optimisations
7. Générer le code machine ou interpréter

## Pièges connus
- Grammaires ambiguës (shift-reduce conflicts)
- Left recursion dans les parsers récursifs descendants
- Type checking incomplet (erreurs silencieuses)
- Optimisations qui changent la sémantique
- Oublier les messages d'erreur utiles pour l'utilisateur

## Connexions Knowledge Graph
- **agent-algorithms-specialist-v2** → Algorithmes et structures
- **agent-rust-specialist** → Rust et LLVM
- **agent-design-patterns-v3** → Visitor, Interpreter patterns
- **agent-frontend-developer-v2** → Transpilation JavaScript
