字句
ただしキーワード(あるいは予約語)と同じ綴りでないこと。
一般に構文規則はその文脈自由文法が(バッカス・ナウア記法で)示されることが多いのに対し、字句規則は正規表現で示されることが多い。上の例を正規表現で表すと [A-Za-z][0-9A-Z_a-z]* となる。ここで、「キーワード(あるいは予約語)と同じ綴りでないこと」という制限は、この表現には含まれない。プログラミング言語における規則には、一般にそういった制限が多いが、それを正規表現で表現するのは難しい(長大になる)ことも多い。キーワードの規則と識別子の規則はよく似たものであることも多く、いったんキーワードと識別子を同じ規則で処理しておき、その後に出現位置などの文脈に応じて分類し直すほうが効率的でもある。拡張性や後方互換性の観点から、通常は識別子として利用することもできるが、特定の出現位置ではキーワードの役割を果たすような「文脈依存キーワード」(contextual keyword, keyword in context, context-sensitive keyword) をサポートする言語も多い。