zzy 07f5d9331b feat(lexer, preprocessor): replace cstring conversion with copy and refactor macro expansion
- Replace `scc_cstring_from_cstr(scc_cstring_as_cstr(...))` with `scc_cstring_copy()` in lexer to fix memory leaks
- Extract macro expansion logic into separate `expand_macro.c` file
- Remove `expand_stack` parameter from `scc_pp_expand_macro()` function
- Add new parsing functions for macro replacement lists and arguments
- Add string utility functions for whitespace trimming and string joining
- Update memory stream documentation for clarity
2025-12-15 20:24:39 +08:00
2025-04-05 23:11:39 +08:00

Simple Models C Compiler

Smaller Compiler(SMCC)

This is a simple C compiler that generates executable code from a simple c99 sub programming language. The language supports basic operations such as arithmetic, logical, conditional statements and if else while for switch case statements and function calls and system calls.

Features

  • 隔离标准库

  • 轻量化

  • 模块化

  • 自举构建

Description
No description provided
Readme 506 KiB
Languages
C 69.5%
C++ 26.3%
Python 3.3%
Makefile 0.9%