シンタックスエラー

シンタックスエラー(syntax error)とは、コンパイル時や実行時に発見されるプログラムの構文エラーのことをいう。

シンタックスエラーは、文法エラーともいう。プログラムの記述の仕方が間違っていることを知らせるアラートのことである。プログラミング言語はソースコードで記述されているが、このコードが決められた構文規則によって作られていない場合にシンタックスエラーが発生する。

シンタックスエラーは、コンパイラ型言語であればコンパイル時に見つかる。一方、インタプリタ型言語だと、すべてのエラーが実行時に見つかることからランタイムエラーともいえる。

コンパイラ型は実行前にバイナリコードという機械語もしくはマシン語に変換する。これに対しインタプリタ型は実行時に変換を行う。前者は処理が速く、後者は一行一行処理するため、実施時間が長くなるが、その分バグを発見しやすいという特徴がある。

コンパイルとは、人間に理解できる文字列をコンピュータに認識できる文字列へと変換することをいう。コンパイラはこの時に使うプログラムのこと。また、複数のソースコードを組み合わせたものや統合したものをコンパイルする場合は、ビルドという。これを自動化してしまうツールの一つがmakeである。C言語などがこのタイプである。

一方、インタプリタ型にはperlやphpなどがある。これらのシンタックスエラーは、実行時に発見される。インタプリタ型言語の特徴は、バイナリコードへの翻訳を少しずつ行いながら、実行していくという点。そのため、シンタックスエラーはすぐに見つかる。

コンパイラ型言語では、あらかじめ全てのソースコードをバイナリコードに変換してから実際にプログラムを動かす。処理の多くが終わってから実行するため、シンタックスエラーの発見は遅くなる。ただ、ちまちま翻訳と実行を繰り返すようなものではなく、まとめて翻訳してからまとめて実行するため、処理が速くなる。

シンタックスエラーの意味を簡潔に説明すると

ソースコードにおける構文規則の記述ミスのこと。