Java
私は学期プロジェクトのために基本的な字句解析器を作成していますが、教科の教師とコンセプトについて対立しています。
私の見解では、一般に、「1a」のような入力が字句解析器に与えられた場合、次のような出力が得られるはずです。
"<Number><Identifier>"
しかし、私の先生は、これを数字と識別子として扱うのではなく、文字列全体 (つまり "1a") をエラーとしてフラグ付けする必要があるため、これをエラーとしてフラグ付けする必要があると言っています。数字から始めます。
それどころか、何かが有効な識別子であるかどうかを判断するために、これはコンパイラの次の段階(構文解析器)の責任であるべきだと思います。数字で始まらない識別子について彼が正しいことは知っていますが、字句解析器がそれを決定する必要があるという部分で閉鎖が必要です。
私は本当にあなたの助けに感謝します. ありがとうございました