tldr-core 0.1.3

Core analysis engine for TLDR code analysis tool
Documentation

TLDR-Core: Core analysis engine for code analysis

This crate provides the core analysis functionality for the TLDR tool, organized into analysis layers:

  • Layer 1 (AST): tree, structure, extract, imports
  • Layer 2 (Call Graph): calls, impact, dead, importers, arch
  • Layer 3 (CFG): cfg, complexity
  • Layer 4 (DFG): dfg
  • Layer 5 (PDG): pdg, slice, thin_slice
  • Layer 6 (SSA): ssa, reaching-defs (Session 10)
  • Layer 7 (Alias): alias analysis (Session 11+)
  • Layer 8 (Dataflow): available expressions, abstract interpretation (Session 13)

Plus search, context, quality, security, and diagnostics modules.

Example

use tldr_core::{Language, TldrResult};
use tldr_core::fs::tree::get_file_tree;
use tldr_core::ast::{get_code_structure, extract_file, get_imports};

// Detect language from file extension
let lang = Language::from_extension(".py");
assert_eq!(lang, Some(Language::Python));

// Get file tree
let tree = get_file_tree(Path::new("src"), None, true, None)?;

// Extract code structure
let structure = get_code_structure(Path::new("src"), Language::Python, 0, None)?;