構文エラー(こうぶんえらー)情報システム用語事典

syntax error / syntactic error / 文法エラー / シンタックスエラー

» 2011年11月07日 00時00分 公開
[@IT情報マネジメント編集部,@IT]

 コンピュータプログラムの構文上の誤りのこと。エラーを正さない限り、プログラムを実行することはできない。

 一般にプログラミング言語の仕様は、字句規則・構文規則・意味規則で規定される。字句規則は識別子や演算記号、定数といった要素(トークン)の表記法を定め、構文規則は文や式の形式を示すものである。

 言語処理系(コンパイラやインタープリタなど)はその実装で、ソースコード(文字列)を字句規則に添ってトークン列に変換し、そこから構文規則に照らして構文木を作り、最終的に実行系を生成する。このとき、ソースコードに字句規則や構文規則から逸脱した表記が含まれていれば解析不能となり、コンパイル処理は中断される。当然、プログラムは実行できない。これが構文エラーである。

 構文エラーは、主としてソースコードにおける記述ミスが原因で発生する。よくある例としては「単純なスペルミス」「カッコの閉じ忘れ」「カンマとコロンの取り違え」「変数名を宣言していない変数の使用」「引数の個数、データ型の間違い」「変数・定数名の二重定義」が挙げられる。

 原理的には、コンパイラ型言語ではコンパイラがコンパイル段階で検出し、エラーを修正しない限り、コンパイルを完了できず、インタプリタ型言語(スクリプト言語)ではエラー個所まで実行し、そこで停止する――と説明できる。ただし、近年の統合開発環境にはコードの編集中に構文エラーを検出して修正を支援するものがあり、スクリプト言語には実行前に構文エラーを検出して、エラーメッセージを表示するものがある。

参考文献

▼『アルゴリズム+データ構造=プログラム』 ニクラウス・ヴィルト=著/片山卓也=訳/日本コンピュータ協会/1986年2月(『Algorithms + Data Structures = Programs』の邦訳)

▼『コンパイラの構成と最適化〈第2版〉』 中田育男=著/朝倉書店/2009年11月


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ