そのようなばかげた質問をしてすみません、しかし私は語彙分析について私の仲間と議論をしました、そして私たちはコミュニティに尋ねることに決めました。
問題は、ステートメント「intsome_variable=;」かどうかです。C文法の字句解析段階または構文分析段階では無効と解釈されます。ありがとう
そのようなばかげた質問をしてすみません、しかし私は語彙分析について私の仲間と議論をしました、そして私たちはコミュニティに尋ねることに決めました。
問題は、ステートメント「intsome_variable=;」かどうかです。C文法の字句解析段階または構文分析段階では無効と解釈されます。ありがとう
Cでは、字句解析が最初に行われます。次に、プリプロセッサは、結果として得られるトークンのストリームにマクロとそのすべての魔法の変換を適用します。プリプロセッサが動作した後でのみ、構文解析が行われます。
したがって、質問に対する答えを知るには、プリプロセッサでコードを実行するだけです。これは、コマンドラインフラグgcc
を使用することです。-E
プリプロセッサが満足している場合、字句解析は、定義上、うまくいきました(これはあなたの例の場合です)。
字句解析は、すべてのトークンが有効であることを確認します(有効です)。構文解析(または構文解析)は、トークンのシーケンスが文法で有効な生成を形成するかどうかをチェックします(そうではありません)。したがって、これは字句解析フェーズに合格し、解析フェーズに失敗します。
構文解析フェーズでは、別名構文解析