refactor: restructure CLI with optimization flags and debug modes #242
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Refactor the CLI interface to support optimization level specification and granular debug output capabilities. Improves developer experience through modularized structure and enhanced error handling.
Changes
Library Configuration
CLI Argument Parsing Refactor
handle_runandhandle_buildfunctionsDebugFlagsstruct for modular debug output control-O0,-O1,-O2,-O3,-Oz,-OfastDebug Output System
--debug-wave=tokens: Display lexer token stream--debug-wave=ast: Show abstract syntax tree--debug-wave=ir: Print LLVM intermediate representation--debug-wave=mc: Display machine code path--debug-wave=hex: Dump binary in hexadecimal format--debug-wave=all: Enable all debug outputsCompilation Pipeline Updates
Simplify runner.rs Execution Flow
Error Handling Improvements
CliErrorenum (NotEnoughArgs, UnknownCommand, MissingArgument)Help Output Improvements
Usage Examples
Benefits