Skip to main content

Module parsers

Module parsers 

Source
Expand description

Language parsers: one file per language grammar.

LanguageParser is the dispatch trait — parse_file handles a single source file, parse_directory walks the tree in parallel via rayon.

Re-exports§

pub use registry::EXTENSION_MAP;

Modules§

agc
Hand-written scanner for yaYUL Apollo Guidance Computer assembly.
cpp
C and C++ language parsers (ported from parsers/cpp.py).
csharp
C# language parser (ported from parsers/csharp.py).
css
CSS language parser.
dart
Dart language parser.
go
Go language parser (ported from parsers/go.py).
html
HTML language parser (god-HTML-file ready).
java
Java language parser (ported from parsers/java.py).
julia
Julia language parser.
php
PHP language parser.
python
Python language parser (ported from parsers/python.py).
r
R language parser.
registry
Canonical registry for language-level parser metadata.
rust_lang
Rust language parser (ported from parsers/rust.py).
shared
Shared parser helpers (ported from parsers/base.py).
swift
Swift language parser (minimal viable).
typescript
TypeScript + JavaScript parsers (ported from parsers/typescript.py).

Traits§

LanguageParser
Abstract language parser. One implementor per grammar.

Functions§

detect_languages
Detect every language present under src_root. Sorted for deterministic output.
get_parser
Get a parser instance for the given language identifier.
get_parsers_for_directory
Auto-detect languages under src_root and return parser instances for each.
language_for_path
Look up a language identifier for a file path by extension.