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.
29 lines
542 B
C
29 lines
542 B
C
#ifndef __SCC_CORE_POS_H__
|
|
#define __SCC_CORE_POS_H__
|
|
|
|
#include "core_str.h"
|
|
#include "core_type.h"
|
|
typedef struct scc_pos {
|
|
scc_cstring_t name;
|
|
usize line;
|
|
usize col;
|
|
usize offset;
|
|
} scc_pos_t;
|
|
|
|
static inline scc_pos_t scc_pos_init() {
|
|
return (scc_pos_t){scc_cstring_new(), 1, 1, 0};
|
|
}
|
|
|
|
static inline void core_pos_next(scc_pos_t *pos) {
|
|
pos->offset++;
|
|
pos->col++;
|
|
}
|
|
|
|
static inline void core_pos_next_line(scc_pos_t *pos) {
|
|
pos->offset++;
|
|
pos->line++;
|
|
pos->col = 1;
|
|
}
|
|
|
|
#endif /* __SCC_CORE_POS_H__ */
|