Skip to main content

Crate oak_smalltalk

Crate oak_smalltalk 

Source
Expand description

§🛠️ Developer Guide

Smalltalk 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:

  1. Immutability: Uses the Green/Red Tree structure to ensure efficient sharing of syntax trees.
  2. Fault Tolerance: Core logic is highly inclusive of erroneous input.
  3. Scalability: Convenient for downstream tools to perform secondary development.

Re-exports§

pub use crate::ast::SmalltalkRoot;
pub use crate::language::SmalltalkLanguage;
pub use crate::lexer::SmalltalkLexer;
pub use crate::parser::SmalltalkParser;
pub use crate::lsp::highlighter::SmalltalkHighlighter;
pub use crate::lsp::SmalltalkLanguageService;
pub use crate::lsp::formatter::SmalltalkFormatter;
pub use crate::mcp::serve_smalltalk_mcp;
pub use lexer::token_type::SmalltalkTokenType;
pub use parser::element_type::SmalltalkElementType;

Modules§

ast
AST module. AST module.
builder
Builder module.
language
Language configuration module.
lexer
Lexer module.
lsp
LSP module.
mcp
MCP module.
parser
Parser module.

Traits§

ElementType
A trait for types that represent an element’s kind in a syntax tree.
TokenType
A trait for types that represent a token’s kind in a specific language.