https://github.com/lwakefield/lexer.cr
A super simple regex based lexer written in Crystal.
https://github.com/lwakefield/lexer.cr
crystal crystal-lang crystal-language lexer
Last synced: 12 months ago
JSON representation
A super simple regex based lexer written in Crystal.
- Host: GitHub
- URL: https://github.com/lwakefield/lexer.cr
- Owner: lwakefield
- Created: 2020-07-05T15:53:13.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-05T15:59:00.000Z (over 5 years ago)
- Last Synced: 2025-02-05T21:27:27.372Z (about 1 year ago)
- Topics: crystal, crystal-lang, crystal-language, lexer
- Language: Crystal
- Homepage:
- Size: 1000 Bytes
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
lexer.cr
========
A super simple regex based lexer written in Crystal.
```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!