// 日志模块：
// - 统一输出调试信息、阶段信息与错误信息
// - 提供可配置的日志级别与输出位置（按需要实现）

#include "utils/Log.h"

#include <ostream>

void PrintHelp(std::ostream& os) {
  os << "SysY Compiler (课程实验最小可运行示例)\n"
     << "\n"
     << "用法:\n"
     << "  compiler [--help] [--emit-parse-tree] [--emit-ir] [--emit-asm] <input.sy>\n"
     << "\n"
     << "选项:\n"
     << "  -h, --help        打印帮助信息并退出\n"
     << "  --emit-parse-tree 仅在显式模式下启用语法树输出\n"
     << "  --emit-ir         仅在显式模式下启用 IR 输出\n"
     << "  --emit-asm        仅在显式模式下启用 AArch64 汇编输出\n"
     << "\n"
     << "说明:\n"
     << "  - 默认输出 IR\n"
     << "  - 若使用 --emit-parse-tree/--emit-ir/--emit-asm，则仅输出显式选择的阶段\n"
     << "  - 可使用重定向写入文件:\n"
     << "      compiler --emit-asm test/test_case/simple_add.sy > out.s\n";
}
