Expand description
§Multi-Language AST Analysis Support
This module provides comprehensive language support for AST-based analysis, significantly expanding beyond the basic regex-based parsing. Implements proper tree-sitter AST parsing for 20+ programming languages.
§Supported Languages
§Tier 1: Full AST Support (Tree-sitter)
- Python, JavaScript, TypeScript, Go, Rust (existing)
- Java, C#, C, C++, PHP, Ruby, Swift, Kotlin (to be added)
§Tier 2: Syntax-Aware Support (Tree-sitter)
- HTML, CSS, JSON, YAML, XML, Markdown
- SQL, Bash, PowerShell, Dockerfile
§Tier 3: Basic Structure Analysis (Regex + Heuristics)
- Scala, Dart, Perl, R, Julia, Elixir, Lua, Haskell
§Key Features
- Function/Class Extraction: Identify all functions, classes, and methods
- Documentation Coverage: Analyze docstrings, comments, and documentation
- Language-Specific Complexity: Tailored complexity metrics per language
- Import/Dependency Analysis: Accurate dependency graph construction
Re-exports§
pub use ast_language::AstLanguage;
pub use ast_language::LanguageFeatures;
pub use ast_language::LanguageTier;
pub use documentation_analysis::DocumentationAnalyzer;
pub use documentation_analysis::DocumentationCoverage;
pub use function_extraction::ClassInfo;
pub use function_extraction::FunctionExtractor;
pub use function_extraction::FunctionInfo;
pub use language_metrics::LanguageMetrics;
pub use language_metrics::LanguageSpecificComplexity;
Modules§
- ast_
language - AST Language Support Definitions
- documentation_
analysis - Documentation Coverage Analysis
- function_
extraction - Function and Class Extraction from AST
- language_
metrics - Language-Specific Metrics
Structs§
- Language
Analysis Result - Comprehensive analysis result for a source file
- Language
Support - Main language support coordinator
Functions§
- analyze_
file_ language - Main entry point for language analysis