feat(lex_parser, pprocessor): rename identifier header check and add macro system
- Rename `scc_lex_parse_is_identifier_header` to `scc_lex_parse_is_identifier_prefix` for clarity and add a TODO comment - Update lexer to use the renamed function for consistency - Fix package and dependency names in `cbuild.toml` (`smcc_pprocesser` → `scc_pprocesser`, `smcc_lex_parser` → `lex_parser`) - Introduce new macro system with header file `pp_macro.h` defining macro types, structures, and management functions - Refactor preprocessor initialization and cleanup in `pprocessor.c` to use new macro table and stream handling - Replace legacy `hashmap` with `scc_pp_macro_table_t` for macro storage - Improve error handling and resource management in preprocessor lifecycle
This commit is contained in:
11
libs/pprocessor/include/pp_parse.h
Normal file
11
libs/pprocessor/include/pp_parse.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef __SCC_PP_PARSE_H__
|
||||
#define __SCC_PP_PARSE_H__
|
||||
|
||||
#include <libcore.h>
|
||||
#include <pp_macro.h>
|
||||
void scc_pp_parse_directive(scc_probe_stream_t *stream, scc_pos_t *pos,
|
||||
scc_macro_table_t *macros);
|
||||
cbool scc_pp_expand_macro(scc_probe_stream_t *stream, scc_macro_table_t *macros,
|
||||
scc_probe_stream_t **out_stream, int depth);
|
||||
|
||||
#endif /* __SCC_PP_PARSE_H__ */
|
||||
Reference in New Issue
Block a user