1

初心者レベルのプログラマーから - C コンパイラーは、セミコロンの欠落などのエラーを検出するための具体的な構文ツリーを作成しますか?

もっと一般的に言えば、C コンパイラはどのようにして構文エラーを検出するのでしょうか?

4

2 に答える 2

0

簡単な答えはイエスです。すべてのコンパイラは入力ファイルから解析ツリーを構築しようとし、失敗すると構文エラーを生成します。

とにかく、コンパイラが何が問題なのかを正確に把握するには、もう少し知性が必要です。たとえば、コンパイラは、構文解析が中断する場所にセミコロンを挿入しようとし、それによって構文エラーが修正されるかどうかを確認する場合があります。その場合、エラー メッセージにセミコロンが含まれていない可能性があります。

注意として、C 構文は標準によって適切に定義されていますが、「セミコロンがありません」などのエラー メッセージは、コンパイラのわかりやすい追加です。

于 2013-10-24T14:59:57.713 に答える