字句

出典: フリー百科事典『ウィキペディア(Wikipedia)』

移動先: 案内検索

字句(じく)とは、プログラミング言語などにおいてソースコードに出現する文字列の中で意味を持つ最小単位で、トークンとも言う。

言語によって違うが、一般的な所としては、if などのキーワードmainargc などといった関数名や変数名などの識別子、{ } ( ) [ ] などの括弧(の片方ずつ)、+ - = * などの演算子(++--**&&|| のようなものは2文字でひとつの字句)、; , : などといった区切り文字、3.14159 のようなリテラル、といったようなトークンがある。

多くの場合、プログラミング言語の構文規則はトークン列を定義しており、構文解析の前に、まずトークンを切り出し、必要であれば種類別に分類したりもする。この処理を字句解析と呼ぶ。この処理のため、プログラミング言語の言語仕様では、それぞれの種類のトークンはどのような文字から構成されるかが規定されている。

  • (例)識別子は、英字で始まり、その後に0個以上の英字、数字または下線 (_) が続く。ただしキーワードと同じ綴りでないこと。

(一般に構文規則はその文脈自由文法が(バッカス・ナウア記法で)示されることが多いのに対し)字句規則は正規表現で示されることが多い。上の例を正規表現で表すと [A-Za-z][0-9A-Z_a-z]* となる(「キーワードと同じ綴りでないこと」という制限はこの表現には含まれない(プログラミング言語における規則には、一般にそういった制限が多いが、それを正規表現で表現するのは難しいことも多い))。