[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

構文エラー (syntax error)

pointこの用語のポイント

pointコンパイル時に発生したエラーだよ

pointプログラムの書き方がおかしいよ

スポンサーリンク

簡単に書くよ

構文エラー (syntax error)とは

プログラムの書き方が間違ってますよエラーのこと。
言い方を変えると

プログラムをコンパイル(人間語から機械語へ翻訳)したときに発生するエラー
であり

人間語のプログラムをコンピュータさんが分かる形に翻訳できませんでしたエラーのこと
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として、プログラムを作る一般的な流れと「コンパイル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

プログラムを作って動かすまでの一般的な流れは

1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従ってコンピュータさんがお仕事する


です。

構文エラー

コンピュータさんは人間語が分かりません。

構文エラー2

一方、人間様はコンピュータさんの言葉が分かりません。

構文エラー3

プログラムは人間様が作る物です。
そこで、最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これもやって」な命令を人間語で書くのです。

構文エラー4

次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に仕事をするのはコンピュータさんです。
コンピュータさんが命令の内容を理解してくれないと話になりませんからね。

構文エラー5

コンピュータさんが分かる言葉に翻訳したので、これでコンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。

構文エラー6

かなり簡略化した説明ですが、これがプログラムを作る際の流れです。

この話で登場した「人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳する作業」を「コンパイル」と言います。
人間語を機械語に翻訳する作業です。

構文エラー7

以上を踏まえて、本題に入ります。

コンパイルは、人間語で書かれたプログラムをコンピュータさんが分かる形(機械語)に翻訳する作業です。

構文エラー8

このときに発生するエラー、人間語から機械語への翻訳が上手くできないときに発生するエラーが「構文エラー」です。
構文エラーは「シンタックスエラー」とも呼ばれます。

構文エラー9

構文エラーは、人間語で書いたプログラムの内容が間違っているときに発生します。

例えば、人間語で以下の処理が書いてあったとしましょう。

1.掃除をしろ

2.洗濯をしろ

3、おっぺけぺー!

4.ご飯を作れ


コンパイルするのがお仕事のプログラム(コンパイラ)は、この内容を機械語に翻訳していきます。

構文エラー10

1行目には

1.掃除をしろ

と書いてあります。
これを

ソウジヲシーロ

に翻訳しました。

構文エラー11

2行目には

2.洗濯をしろ

と書いてあります。
これを

センタクヨロシク

に翻訳しました。

構文エラー12

3行目には

3、おっぺけぺー!

と書いてあります。
これを……何じゃ?こりゃ。

構文エラー13

何が書いてあるのか、よく分かりません。
これでは機械語に翻訳するのは無理です。

こんなときにコンパイラさんは、どうするでしょう?

答えは

翻訳を諦める

です。
「分からん……作ったやつに何とかさせよう」と判断して「おい、何かおかしいぞ。出直して来い!」と差し戻します。

構文エラー14

だって、翻訳できないんですもん。
仕方ないじゃないですか。

これが構文エラーです。
コンパイルのときに発生する「人間語から機械語への翻訳が、できませんでした!」なエラーです。

構文エラーが発生すると、コンパイルは失敗します。
つまり、動かせるプログラムには、なりません。

原因はプログラムの書き方ミスでしょう。
「いやいや、そんな書き方は、できないよ?」な書き方をしている部分が、あるはずです。

コンパイラさんは優しいやつです。
構文エラーが発生すると「この部分が、よく分からなかったよ!」と教えてくれます。

その部分を見直して、修正してあげてください。
構文エラーがなくなれば、コンパイルは成功するはずです。

image piyo2

一言でまとめるよ

まぁ「構文エラー」って単語が出てきたら「プログラムの書き方が間違ってるよエラーなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク