今まで、あまり見たことがない(一般エンジニア向け)勉強会で、かつ、これを学ぶことは実用上とても意味があるテーマの一つに「構文解析」があります*1。 たとえば、Webアプリケーションにおいて、ユーザの入力に大して何らかの構文的制約をつけてバリデーションをする機会は多いですが、正規表現による簡単なチェック(あるいは、滅茶苦茶複雑な正規表現を作って色々な入力のバリエーションに対応する)や、よくわからない緩いバリデーションで済まされることは多いように感じます(自分の開発経験というより、Webアプリケーションのフォームのバリデーションの仕方などを見ての感想です)。 正規表現によるバリデーションで十分なことも多いので、それをむやみに否定するものではありませんが、入力が(原理的に)正規表現でバリデーションできない場合や、可能だが正規表現が爆発するケースだと、正規表現が不適当なこともしばしばです。 個人的