シンタックスエラー
コンパイル時に発生したエラーだよ
プログラムの書き方がおかしいよ
簡単に書くよ
シンタックスエラー(英:syntax error)とは
「構文エラー」のこと。
用語の中身としては
プログラムの書き方が間違っていますよエラーのこと
です。
もう少し具体的に書くと
人間語で書いたプログラムの元ネタを人間語から機械語へ翻訳(コンパイル)するときに発生するかもしれないエラー
であり
人間語のプログラムをコンピュータさんが分かる形に翻訳できませんでしたエラーのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として、プログラムの作り方と「コンパイル」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プログラムを作って動かすまでの一般的な流れは
1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従ってコンピュータさんがお仕事する
です。
コンピュータさんは人間語が分かりません。
人間様はコンピュータさんの言葉が分かりません。
プログラムは人間様が作る物です。
そこで、最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これもやって」な命令を人間語で書くのです。
次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に仕事をするのはコンピュータさんです。
コンピュータさんが命令の内容を理解できるようにする必要があります。
コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。
かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。
この話で登場した「人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳する作業」を「コンパイル」と言います。
人間語を機械語に翻訳する作業です。
以上を踏まえて、本題に入ります。
コンパイルは人間語で書かれたプログラムをコンピュータさんが分かる形(機械語)に翻訳する作業です。
このときに発生するエラーで
人間語から機械語への翻訳が上手くできないときに発生するエラー
が「シンタックスエラー」です。
「構文エラー」とも呼ばれます。
シンタックスエラーは人間語で書いたプログラムの内容が間違っているときに発生します。
例えば、そうですね。
ピヨ太君が人間語で以下の処理を書いたとしましょう。
1.掃除をしろ
2.洗濯をしろ
3、おっぺけぺー!
4.ご飯を作れ
コンパイルするのがお仕事のプログラム(コンパイラ)は、この内容を機械語に翻訳します。
1行目には
1.掃除をしろ
と書いてあります。
これを
ソウジヲシーロ
に翻訳しました。
2行目には
2.洗濯をしろ
と書いてあります。
これを
センタクヨロシク
に翻訳しました。
3行目には
3、おっぺけぺー!
と書いてあります。
これを……何じゃ?こりゃ。
何が書いてあるのか、よく分かりません。
これでは機械語に翻訳するのは無理です。
こんなときにコンパイラさんは、どうするでしょう?
答えは
翻訳を諦める
です。
「分からん……作ったやつに何とかさせよう」と判断して「おい、何かおかしいぞ。出直して来い!」と差し戻します。
だって、翻訳できないんですもん。
仕方ないじゃないですか。
これがシンタックスエラーです。
コンパイルするときに発生する
「人間語から機械語への翻訳が、できませんでした!」なエラー
です。
シンタックスエラーが発生するとコンパイルは失敗します。
つまり、動かせるプログラムには、なりません。
原因はプログラムの書き方ミスでしょう。
「そんな書き方は、できないよ?」な書き方をしている部分が、あるはずです。
コンパイラさんは優しいやつです。
シンタックスエラーが発生すると「この部分が、よく分からなかったよ!」と教えてくれます。
その部分を見直して修正してあげてください。
シンタックスエラーがなくなればコンパイルは成功するはずです。
一言でまとめるよ
まぁ「シンタックスエラー」って単語が出てきたら「プログラムの書き方が間違っているよエラーなんだな~」と、お考えください。
おまけ
■訳してみるよ
「syntax(シンタックス)」の意味は「構文」とか「文法」とかです。
「error(エラー)」の意味は「誤り」とか「間違い」とか「過失」とかです。
何となくくっつけると
構文の誤り
となります。