Skip to main content

Crate oaks

Crate oaks 

Source

Modules§

builder
Incremental tree builder and cache management.
errors
Error handling and diagnostic reporting for the parsing system.
helpers
Helper utilities for common operations. Helper utilities for common operations in the Oak Core parsing framework.
language
Language definition trait for coordinating language-specific components.
lexer
Lexical analysis and tokenization functionality.
memory
Memory management utilities (Arena, Bump).
parser
Parsing functionality for converting tokens to kind trees.
serde_arc_str
Serde support for triomphe::Arc<str>.
serde_range
Serde support for core::range::Range.
source
Source text management and location tracking. Source text management and location tracking for incremental parsing.
tree
Tree structures for representing kind trees (green and red trees). Red-green tree implementation for efficient kind tree representation.
visitor
Tree traversal and transformation utilities. Tree traversal and transformation utilities.

Structs§

Arc
An atomically reference counted shared pointer
FileMetadata
Metadata for a file or directory in the VFS.
FoldingRange
Represents a folding range in a document.
GreenNode
A green node that contains child elements.
Hover
Represents hover information.
LexerState
State information for incremental lexical analysis.
Location
Represents a location inside a resource. Can be either byte-based (Rust model) or line/column based (LSP model).
LspRange
Represents a range in a source file using line/character positions.
MemoryVfs
A memory-based Virtual File System implementation. Ideal for WASM environments or testing where physical disk access is not available.
OakDiagnostics
Container for parsing results with associated diagnostics.
OakError
The main error type for the Oak Core parsing framework.
OperatorInfo
Precedence and associativity of an operator.
ParseSession
A memory pool that manages the lifecycle of parsing generations.
ParserState
High-level API for parsers, coordinating token supply and tree construction.
Position
Represents a position in a source file (line and character).
PrattParser
A Pratt parser implementation.
RedLeaf
A red leaf kind with absolute position information.
RedNode
A red node that wraps a green node with absolute offset information.
SemanticToken
Represents a semantic token for syntax highlighting.
SourceText
Represents source code text with optional source ID reference.
StructureItem
Represents an item in the document structure (e.g., in an outline or breadcrumbs).
SymbolInformation
Represents information about a symbol (e.g., function, variable, class).
SyntaxArena
A high-performance bump allocator optimized for AST nodes.
TextEdit
Represents a text edit operation for incremental updates.
Token
Represents a single kind in the source code.
TokenStream
A stream of tokens with associated source text.
TreeSink
Collects the results of the parsing process.
RangeExperimental
A (half-open) range bounded inclusively below and exclusively above (start..end in a future edition).

Enums§

Associativity
Associativity of an operator.
FileType
Type of a file in the VFS.
FoldingRangeKind
Enum of folding range kinds.
GreenTree
A green tree element - either a node or a leaf kind.
LanguageCategory
Represents the broad category a language belongs to.
OakErrorKind
Enumeration of all possible error kinds in the Oak Core framework.
RedTree
A red tree element with absolute position information.
UniversalElementRole
Represents the general structural role of a syntax tree element.
UniversalTokenRole
Represents the general syntactic role of a token across diverse languages.

Traits§

Builder
Trait for building higher-level structures (like ASTs) from source text.
BuilderCache
Cache trait for builder operations used by lexers and parsers.
DefinitionProvider
Trait for languages that support jumping to definition.
ElementRole
A trait for types that can represent an element’s structural role.
ElementType
Element type definitions for nodes in the parsed tree.
FoldingProvider
Trait for languages that support code folding.
HoverProvider
Trait for languages that support hover information.
Language
Language definition trait that coordinates all language-related types and behaviors.
LanguageService
Lexer
Trait for tokenizing source code into sequences of tokens.
LexerCache
Cache trait for lexical results.
ParseCache
Trait for providing resources and caching for a parsing session.
Parser
Core parser trait that defines how to run the parser.
Pratt
A specification for a Pratt parser.
ReferencesProvider
Trait for languages that support finding references.
SemanticTokensProvider
Trait for languages that support semantic highlighting.
Source
Trait for abstract text sources.
StructureProvider
Trait for languages that support structure view and navigation.
SymbolProvider
Trait for languages that support symbol search and navigation.
TokenRole
A trait for types that can represent a token’s syntactic role.
TokenType
Token type definitions for tokens in the parsing system.
Vfs
A trait for a Virtual File System that can provide source content and location mapping.

Functions§

binary
A helper for parsing binary (infix) expressions.
parse
Standalone parsing function that coordinates lexing and parsing.
parse_one_pass
Standalone parsing function that performs a complete parse without incremental reuse.
postfix
A helper for parsing postfix expressions.
unary
A helper for parsing unary (prefix) expressions.

Type Aliases§

LexOutput
Output type for lexical analysis operations, including diagnostics.
ParseOutput
The output of a parsing operation, containing the result and diagnostics.
Tokens
Output type for lexical analysis operations.