/* * Copyright (c) 2026, Chloe M. * Provided under the BSD-3 clause */ #ifndef CESCAL_STATE_H #define CESCAL_STATE_H 1 #include #include "cescal/readbuf.h" #include "cescal/tokbuf.h" /* * Compiler state machine * * @in_fd: Input file descriptor * @rb: Read buffer * @tokbuf: Token buffer */ struct cescal_state { int in_fd; struct readbuf rb; struct tokbuf tokbuf; }; /* * Initialize the compiler state machine * * @state: Compiler state machine * @pathname: Path of input source file * * Returns zero on success */ int state_init(struct cescal_state *state, const char *pathname); /* * Close the compiler state machine * * @state: Compiler state machine to close */ void state_close(struct cescal_state *state); #endif /* !CESCAL_STATE_H */