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§
- Language
Parser - 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_rootand return parser instances for each. - language_
for_ path - Look up a language identifier for a file path by extension.