言語処理系において、入力された文字列からトークン列を作り出す処理。
典型的には、以下の処理が含まれる。
- 空白の除去
- C言語(マクロ除く)やJava言語では、プログラム中の空白は意味をなさない。なので、入力された文字列を読み込み、空白なら無視するようにする。
- コメントの除去
- プログラム中のコメントは意味を持たないので、コメントを無視するようにする。
- トークン化
面白い例だと、Pythonのようなインデントが意味を持つ言語では、インデントの始まりと終わりをトークンとして扱う。字句解析でインデントの段数が変わったことを見てトークンを差し込むようになっている。