A MoonBit lexical scanning and lightweight parsing toolkit.
moon test
moon run cmd/main
moon run bench/main///|
let config = @moonlexkit.LexerConfig::new(keep_trivia=true)
///|
let tokens = @moonlexkit.scan("answer = 42 // demo", config~)
///|
let json = @moonlexkit.tokens_to_json(tokens)
///|
let result = @moonlexkit.scan_with_diagnostics("name = \"Moon\"", config~)
///|
let summary = result.summary("name = \"Moon\"")pub(all) struct AssignmentParseResult {
assignments : Array[Assignment]
diagnostics : Array[Diagnostic]
} derive(Eq, Debug)fn LexerConfig::new(keep_trivia? : Bool, emit_end? : Bool, keywords? : Array[String]) -> LexerConfigA MoonBit lexical scanning and lightweight parsing toolkit.