//! Native `LSL` tooling corresponding to `LibreMetaverse.LslTools`.
//!
//! This crate provides the bounded lexer, parser, diagnostics, syntax model,
//! and deterministic source generation used by editor and migration tooling.
//! It is pure Rust and does not require a grid connection.

extern crate self as libremetaverse_lsl_tools;

mod generated;
mod generated_tables;
mod generator;
mod lexer;
mod parser;

pub use generated::*;
pub use generated_tables::*;
pub use lexer::{
    CharacterMatcher, DfaAccept, DfaState, Diagnostic, DiagnosticCategory, DiagnosticSeverity,
    DotNetUnicodeCategory, InputEncoding, LexerAction, LexerIterator, MAX_SOURCE_UNITS,
    MAX_TOKEN_UNITS, TokenDefinition, UnicodeClass,
};
pub use libremetaverse_types::Error;
pub use parser::{
    Associativity, ERROR_TOKEN, Grammar, GrammarProduction, GrammarSymbol, MAX_PARSER_STACK,
    MAX_PARSER_STATES, MAX_PARSER_STEPS, MAX_RECOVERY_ERRORS, ParseTree, ParserConflict,
};
