Expand description
ยง๐ ๏ธ Developer Guide
Nim support for the Oak language framework.
This directory contains the core logic implementation of the project. Below are instructions for a quick start.
ยง๐ฆ Quick Start
ยงCore API Usage
// Example: Basic calling workflow
fn main() {
// 1. Initialization
// 2. Execute core logic
// 3. Handle returned results
}ยง๐ Module Description
- lib.rs: Exports public interfaces and core traits.
- parser/ (if exists): Implements specific syntax parsing logic.
- ast/ (if exists): Defines the syntax tree structure.
ยง๐๏ธ Architecture Design
The project follows the general architectural specifications of the Oak ecosystem, emphasizing:
- Immutability: Uses the Green/Red Tree structure to ensure efficient sharing of syntax trees.
- Fault Tolerance: Core logic is highly inclusive of erroneous input.
- Scalability: Convenient for downstream tools to perform secondary development.
ยง๐ ๏ธ Developer Guide
Nim support for the Oak language framework.
This directory contains the core logic implementation of the project. Below are instructions for a quick start.
ยง๐ฆ Quick Start
ยงCore API Usage
// Example: Basic calling workflow
fn main() {
// 1. Initialization
// 2. Execute core logic
// 3. Handle returned results
}ยง๐ Module Description
- lib.rs: Exports public interfaces and core traits.
- parser/ (if exists): Implements specific syntax parsing logic.
- ast/ (if exists): Defines the syntax tree structure.
ยง๐๏ธ Architecture Design
The project follows the general architectural specifications of the Oak ecosystem, emphasizing:
- Immutability: Uses the Green/Red Tree structure to ensure efficient sharing of syntax trees.
- Fault Tolerance: Core logic is highly inclusive of erroneous input.
- Scalability: Convenient for downstream tools to perform secondary development.
Re-exportsยง
pub use crate::builder::NimBuilder;pub use crate::builder::NimRoot;pub use crate::language::NimLanguage;pub use crate::lexer::NimLexer;pub use crate::parser::NimParser;pub use crate::lsp::highlighter::NimHighlighter;pub use crate::lsp::NimLanguageService;pub use crate::mcp::serve_nim_mcp;pub use lexer::token_type::NimTokenType;pub use parser::element_type::NimElementType;