#+title: Lexical Analysis in Racket #+roam_key: http://matt.might.net/articles/lexers-in-racket/ - source :: [[http://matt.might.net/articles/lexers-in-racket/][Lexical analysis in Racket]] - tags :: [[file:../20210516173327-lexical_analysis.org][lexical analysis]] * Notes [[file:../20210307165050-racket.org][Racket]] has a library for making [[file:../20210516173347-lexer.org][lexers]] easily: =parser-tools/lexer=. #+begin_src racket #lang racket/base (require parser-tools/lexer) (define ab-lexer (lexer [#\a (display "You matched a.\n")] [#\b (display "You matched b.\n")])) #+end_src This will create a lexer that matches input character by character until, finally, returning ='eof=. The rest of this article contains a number of useful examples.