// MoonParse — Parser Combinator Library for MoonBit
//
// A composable parser combinator library inspired by Rust's nom.
// Build complex parsers from small, reusable building blocks.
//
// Usage:
//   let input = ParseInput::new("hello 123")
//   match tag("hello", input) { ... }
//   let (rest, vals) = many0(digit, rest)
//
// Features:
//   - String-level primitives: tag, digit, alpha, space, eof, satisfy
//   - Combinators: many0, many1, alt, opt, separated_list, tuple, preceded, delimited
//   - Numbers: integers, floats, hex, scientific notation
//   - Strings: quoted strings (escapes), identifiers, keywords
//   - Binary: u8-u64, LEB128, counted strings
//   - Examples: JSON parser, TOML parser, CSV, URL, HTTP headers, SQL tokenizer
//   - Error tracking: position (line/col), error context with expected labels