This example demonstrates vallm's Abstract Syntax Tree (AST) comparison and structural analysis capabilities.
- Tree-sitter parsing: Multi-language code parsing and analysis
- Python AST normalization: Standardizing Python AST structures for comparison
- Similarity scoring: Computing structural similarity between code snippets
- Structural diff analysis: Identifying differences between code versions
The example analyzes several code implementations:
- Python functions -
add()vssum_values()(semantically similar) - Different implementations -
add()vsmultiply()(semantically different) - Multi-language examples - JavaScript and C code for comparison
cd 02_ast_comparison
python main.py- AST similarity scores between code pairs
- Tree-sitter node counts and error counts
- Structural diff summaries showing added/removed node types
After running, analysis results will be saved in the .vallm/ folder within this directory, including:
- AST comparison reports
- Similarity matrices
- Structural diff details
- Multi-language parsing results