シンタックス【syntax】
概要

シンタックスは、言語処理系がソースコードを構造として認識するための基準となる。命令の区切り方、括弧の対応関係、変数宣言の書き方、関数定義の構造などを規定し、コンパイラやインタプリタはこの規則に基づいてコードを解析する。例えば、「複数の文を並べる場合はセミコロンで区切る」「変数は使用前に型と変数名を宣言する」といった規則がシンタックスにあたる。
プログラミング言語に限らず、HTMLやCSSのようなマークアップ言語やスタイルシート言語、JSONやYAMLのようなデータ記述形式にも、それぞれ固有のシンタックスがある。シンタックスは言語仕様として形式的に定義されており、バッカス・ナウア記法(BNF)などのメタ言語を用いて厳密に記述されることが多い。この形式性によって、コンパイラやインタプリタによる自動処理が容易となる。
シンタックスに違反した記述があると、処理系はコードを正しく解釈できず「シンタックスエラー」(syntax error)を報告してそこで処理を停止することが多い。シンタックスは機械的に判定できる形式的な規則であるため、近年の統合開発環境(IDE)ではコードの記述中にリアルタイムでエラーを検知して修正を促す機能も普及している。誤った記号の配置や必要な要素の欠落、許可されていない書式の使用などが典型的な原因である。
シンタックスと対になる概念として「セマンティクス」(semantics:意味論)がある。シンタックスがコードの形式的な正しさ(言語仕様に則った記述かどうか)を扱うのに対し、シンタックスはその記述が表す意味や処理の内容を扱う。構文規則上は正しくても、計算式の誤りなどによって意図しない挙動になる場合はシンタックスエラーではなく、論理エラー(ロジックエラー)に分類される。処理系はまずシンタックスに基づいてコードの構造を解釈し、その後に意味内容の処理へと進む。