AI开发C语言应用按步走,表达式计算器calc的第九步,命令行参数与项目说明文档

📅 2026/7/24 14:02:28
AI开发C语言应用按步走,表达式计算器calc的第九步,命令行参数与项目说明文档
calc9 — 命令行参数与项目说明文档1. 概述本次迭代为 calc 程序增加了标准的命令行参数支持并创建了项目级说明文档readme.md。新增功能参数行为calc --version输出版本号1.0calc --help输出详细帮助信息用法、运算符、优先级、示例calc无参数进入交互模式不变calc 表达式批处理模式求值不变2. 变更清单文件操作说明main.c编辑新增VERSION 1.0宏新增print_help()函数main()增加--help/--version分支doc/readme.md新建综合项目说明文档涵盖构建、使用、语法、特性、构建历史其余文件无需改动Makefile/test.expr等不受影响3. main.c 改动3.1 版本宏#defineVERSION1.03.2 print_help 函数输出内容涵盖calc — 中缀表达式求值器 用法: calc 表达式 批处理模式求值并输出结果 calc 交互模式REPL显示运算步骤 calc --help 显示帮助信息 calc --version 输出版本号 支持的运算符: - * / % 四则运算与取模 ( ) 圆括号最高优先级 一元 - 负号 优先级从低到高: 1. -左结合 2. * / %左结合 3. 一元 -右结合 REPL 内置命令: exit 退出交互模式 vars 显示所有变量 示例: calc (90-18)/315 → 39 calc 3.14 * 2 → 6.28 calc → 进入交互模式3.3 main 函数分支逻辑intmain(intargc,char*argv[]){if(argc1){if(strcmp(argv[1],--help)0){print_help();return0;}if(strcmp(argv[1],--version)0){printf(calc version %s\n,VERSION);return0;}/* 批处理模式 */returnparse_and_eval(argv[1]);}/* 交互模式 */returnrepl();}参数检查位于表达式求值分支之前不影响现有批处理模式。4. readme.md 项目说明文档新建doc/readme.md包含以下章节章节内容快速开始编译、批处理模式、交互模式、管道输入示例命令行选项四种运行方式的说明表表达式语法运算符表、优先级层次、数字格式说明REPL 内置命令exit、vars、变量赋值功能特性8 项核心特性总结构建说明make/make test/make clean用法构建文档引用doc/calc1~8.md系列文档的索引表5. 目录结构calc/ ├── Makefile ├── parse.h / parse.c ├── eval.h / eval.c ├── sym.h / sym.c ├── main.c # 新增 --help / --version ├── test.expr ├── doc/ │ ├── readme.md # 项目说明文档新增 │ ├── calc1.md # tokenizer 基础 │ ├── calc2.md # 取模、负号区分、测试套件 │ ├── calc3.md # 表达式求值器 │ ├── calc4.md # 交互式 REPL │ ├── calc5.md # 变量绑定 增强错误提示 │ ├── calc6.md # 测试覆盖增强 │ ├── calc7.md # 哈希表符号表 │ ├── calc8.md # 浮点数计算支持 │ └── calc9.md # 本次构建命令行参数与项目说明文档 └── build/ └── calc6. 测试验证$maketestcalc — 测试套件29passed,0failed,29total$ ./build/calc--versioncalc version1.0$ ./build/calc--helpcalc — 中缀表达式求值器...所有回归测试 29/29 PASS新增参数不影响现有功能。