Próbuję złapać Clanga. Tak, chciałbym zobaczyć AST generowane przez Clang po analizie danego programu. Czy można zrzucić AST w formacie .dot lub .viz? Czy jest tam jakieś narzędzie?jak wyświetlić clang AST?
20
A
Odpowiedz
35
Wsporniki klangowe przedstawiające AST za pomocą Graphviz's dotty
- można pobrać tymczasowy plik .dot wygenerowany (nazwa zostanie wydrukowana), aby uzyskać źródło wykresu.
clang -cc1 -ast-view your_file.c
Można również wydrukować do linii poleceń z:
clang -cc1 -ast-dump your_file.c
lub:
clang -cc1 -ast-print your_file.c
lub w 3.3:
clang -cc1 -ast-dump-xml your_file.c
ale tym was removed później jako szpiczasty Luk jak Kubanek w komentarzu.
5
Metoda z inwokacją will have problem with includes i rozpoznawanie C++.
Aby w pełni funkcjonalny parsowania, użyj:
clang -Xclang -ast-dump file.cpp
+0
Ah, to jest przełącznik, który zawsze zapominam. To drukuje AST z ładnymi kolorami w Windowsie ^^ – Cameron
Powiązane problemy
- 1. Drukuj argumenty funkcji używając Clang AST
- 2. AST dla wielu plików źródłowych z clang
- 3. clang pobieranie plików włączających podczas analizowania AST
- 4. Jak wygenerować AST z łańcucha C++ za pomocą Clang?
- 5. clang: jak wyświetlić obsługiwane architektury docelowe?
- 6. Interpreter AST?
- 7. Jak uzyskać klang, aby zrzucić AST bez koloru?
- 8. Clang
- 9. Python AST przetwarzanie
- 10. Ast reprezentacja funkcji lambda
- 11. Manipulowanie V8 ast
- 12. Jak manipulować JSON AST w Scala
- 13. Jak utworzyć AST z powiązaniem CAPTURE?
- 14. Jak mogę zbudować AST za pomocą ANTLR4?
- 15. Jak uzyskać źródło odpowiadające węzłowi Python AST?
- 16. Jak powinienem reprezentować AST opatrzony dodatkowymi informacjami?
- 17. Wygenerować .pyc z Python AST?
- 18. Jak skompilować C++ z Clang?
- 19. Drukowanie OCaml AST jako OCaml Code
- 20. Skompiluj pytona AST do metody
- 21. OCaml reprezentacja typu rekordu AST
- 22. Jak korzystać z compile_commands.json z powiązaniami python clang?
- 23. Wyodrębnij AST z bloku Ruby
- 24. Przetłumaczyć kod C# na AST?
- 25. clang complete nie działa
- 26. Parse HQL do struktury AST i konwertować AST powrotem do HQL
- 27. Instalowanie Clang/LLVM/Ubuntu
- 28. Błąd Building Clang
- 29. Python: głęboko skopiować drzewo węzłów ast
- 30. Samouczek na spacery ANTLR AST w C#?
drukarki XML nie jest już obsługiwany. Zobacz http://llvm.org/viewvc/llvm-project?view=revision&revision=127141 –
"-ast-view" również wydaje się wymagać obsługi czasu kompilacji, która nie jest domyślnie włączona w Ubuntu 14.04 :-('-ast -dump' działa pięknie, co ma na celu '-ast-print', po prostu wypisuje sam kod z pustymi liniami –