Skip to main content

Crate oak_llvm_ir

Crate oak_llvm_ir 

Source
Expand description

ยง๐Ÿ› ๏ธ Developer Guide

LLvm-ir 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::LLirRoot;
pub use crate::language::LLvmLanguage;
pub use crate::lexer::LLvmLexer;
pub use crate::lexer::token_type::LLvmTokenType;
pub use crate::parser::LLirParser;
pub use crate::lsp::highlighter::LLirHighlighter;
pub use crate::lsp::LLirLanguageService;
pub use parser::element_type::LLvmElementType;

Modulesยง

ast
LLvm Ir Ast
language
LLvm Ir Language
lexer
LLvm Ir Lexer
lsp
LLvm Ir Lsp
mcp
MCP module.
parser
LLvm Ir Parser

Structsยง

LLirBuilder
A builder for converting LLVM IR green trees into an AST.