- Add `-fprofile-update=atomic` flag to both GCC and Clang compiler configurations for thread-safe coverage data updates
- Change `--all` argument in clean command to default to True and add `-a` short option for consistency with common CLI patterns
- Introduce new SCF (SCC Format) library with header, implementation, and test files
- SCF is a minimal executable/linkable format focused on internal linking with external symbol import/export abstraction
- Rename lexer and lex_parser packages from 'smcc_' to 'scc_' prefix for consistency
- Update hashmap implementation to use 'scc_' prefix for types and structures
- Add build configuration for new format library with dependencies on libcore and libutils
Updated type names from `core_*` to `scc_*` across lex_parser and stream modules to maintain naming consistency within the SCC codebase. This includes changes to function signatures and internal usage of types like `core_probe_stream_t`, `core_pos_t`, and `cstring_t` to their `scc_*` counterparts.
- Introduce Translator class for simple i18n with English and Chinese locales
- Add concurrent.futures, os, and locale imports for parallel execution and language detection
- Implement automatic language detection based on system locale
- Provide translation keys for build messages, test results, and command outputs
- Support dynamic language switching via set_language method
- Refactor logging system with simplified ColorFormatter and improved output formatting
- Add test command with regex pattern matching and timeout support
- Implement file size formatting utility for build output
- Remove unused imports and streamline code structure
- Update .gitignore to exclude external/ directory
- Improve error handling and subprocess management in test execution
- Optimize build dependency resolution with topological sorting
- Enhance configuration parsing and target management
The changes focus on code quality improvements, adding testing capabilities, and optimizing the build process for better performance and maintainability.
- Rename `cstring_push` to `cstring_append_ch` and `cstring_push_cstr` to `cstring_append_cstr` for consistent naming with new `cstring_append` function
- Update all callers in lexer and tests to use new function names
- Rename stream `destroy` method to `drop` for consistency with resource management conventions
- Fix potential overflow in string capacity calculation by adjusting growth logic