lexer.cr

A super simple regex based lexer written in Crystal.

lexer.cr

A super simple regex based lexer written in Crystal.

# precedence defined by order in which keys are defined ie. def has a higher
# precedence than identifier.
token_map = {
  "def"        => /def/,
  "end"        => /end/,
  "identifier" => /\w+/,
  "number"     => /\d+/,
  "lparen"     => /\(/,
  "rparen"     => /\)/,
  "plus"       => /\+/,
  "whitespace" => /\s+/,
}
Lexer.lex(token_map, "def inc (a) a + 1 end")

Lex away!

Repository

lexer.cr

Owner
Statistic
  • 4
  • 0
  • 0
  • 0
  • 0
  • almost 4 years ago
  • July 5, 2020
License

Links
Synced at

Thu, 16 May 2024 13:34:20 GMT

Languages