Goの字句解析を覗いてみる

Room 1 13:10 - 13:15

Goで日々開発を行う中で、言語仕様書まで目を通す機会はそれほど多くないかと思います。 goplsなどによって多くの構文的な支援が行われており、字句解析のような低レイヤーの仕組みは、意識せずとも問題なく開発が進められることがほとんどです。 しかし、「普段何気なく使っているGoが、どのような仕様に基づいて動いているのかをもっと深く知りたい」と思い、改めてGoの仕様書(The Go Programming Language Specification)を読み始めました。 本セッションでは、Goの仕様理解の第一歩として、字句解析に関する以下のような内容をご紹介します。 ・識別子・数値・文字列リテラルなどの主要ルール ・言語仕様である「最長一致」がどのように実装されているか ・go/scanner パッケージの実装から見られる工夫 仕様レベルからGoを捉えることで、普段の開発では見えにくい設計意図や動作の背景が見えてきます。 本LTが、Goという言語への理解をより深めるきっかけとなれば幸いです。