私は C、flex、bison で書かれた楽しみのためにアセンブラに取り組んでいます。マクロ、インクルード、繰り返しブロックを追加したいのですが、別の前処理段階のパーサーでこれを行うことを考えていました。
私の質問は、元のソース行番号 (およびファイル名) を追跡するにはどうすればよいですか? これは、有用なエラー メッセージの生成、きれいな印刷、およびデバッグ情報の生成に使用されます。
前処理が完了した後の 2 番目のパーサーの yylineno は、おそらくマクロ展開などの後にオフセットされます。