#lexer #luau #luau-lexer

luau-lexer

A lexer for the luau language

10 releases

Uses new Rust 2024

new 0.2.91 Apr 28, 2025
0.2.9 Apr 26, 2025
0.1.0 Apr 7, 2025

#10 in #luau

Download history 386/week @ 2025-04-07 91/week @ 2025-04-14 399/week @ 2025-04-21

876 downloads per month
Used in luau-parser

MIT license

50KB
1K SLoC

Luau Lexer

A lossless lexer for the luau programming language. Lexes source code into tokens while preserving all spaces and comments.

Usage

use luau_lexer::prelude::{Lexer, TokenType};
let code = r#"local foo = "Hello, World!""#;
let mut lexer = Lexer::new(code);
let mut token = lexer.next_token();

loop {
    println!("{token:?}");
    if token == TokenType::EndOfFile {
        break;
    }

    token = lexer.next_token();
}

Note

  • This lexer does not stop parsing when it finds an error
  • This lexer only lexes each token when asked to do so.

Dependencies

~190KB