C
compiler-development
Buduj kompilatory i języki programowania z infrastrukturą LLVM
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność kompilatorowa obejmująca pełny cykl rozwoju: od analizy leksykalnej i projektowania parsera, przez generowanie reprezentacji pośredniej (IR), optymalizacje, aż po generowanie kodu maszynowego. Skierowana do programistów tworzących własne języki programowania, implementujących kompilatory DSL lub pracujących nad wewnętrznościami kompilatorów. Zawiera praktyczne wzorce architektoniczne (trójfazowy model: frontend-optimizer-backend) oraz przykłady kodu w C++ dla kluczowych komponentów: tokenizacji, parsowania wyrażeń, budowania abstrakcyjnego drzewa składni (AST) i integracji z LLVM IR.
Jak używać
- Zainstaluj umiejętność w swoim środowisku Claude, wskazując ścieżkę do repozytorium gmh5225/awesome-llvm-security w katalogu .claude/skills/compiler-development. 2. Gdy zaczniesz projekt kompilatorowy, aktywuj tę umiejętność, aby uzyskać dostęp do wiedzy o architekturze kompilatorów i wzorcach LLVM. 3. Dla nowego języka programowania lub DSL zacznij od frontendu: zdefiniuj tokeny (TokenKind), zaimplementuj leksykalną analizę tekstu źródłowego oraz wybierz strategię parsowania (recursive descent dla prostoty, operator precedence dla wyrażeń, LALR/LR dla złożonych gramatyk). 4. Zaprojektuj abstrakcyjne drzewo składni (AST) dziedziczące z klasy bazowej Expr, implementując metodę codegen() do generowania kodu LLVM IR dla każdego węzła. 5. Skonfiguruj kontekst LLVM (LLVMContext) i moduł, a następnie przekształć AST w LLVM IR za pomocą dostępnych operacji (CreateFAdd, CreateFSub, CreateFMul itp.). 6. Dodaj pasy optymalizacyjne w fazie middle-end, a następnie wygeneruj kod docelowy dla wybranej architektury procesora za pomocą backendu LLVM.