/** * Parsing * * Created on 2021/11/17. */ #ifndef FORTH_FH_PARSE_H #define FORTH_FH_PARSE_H typedef bool (*chartest_t)(char c, void* param); void fh_input_consume_matching(struct fh_thread_s *fh, chartest_t test, void* param); void fh_input_consume_spaces(struct fh_thread_s *fh); enum fh_error fh_input_read_delimited(struct fh_thread_s *fh, char **out, size_t *len, chartest_t test, void* param); enum fh_error fh_input_read_word(struct fh_thread_s *fh, char **out, size_t *len); enum fh_error fh_input_read_quotedstring(struct fh_thread_s *fh, bool escaped, char *outbuf, size_t capacity, size_t *out_len); #endif //FORTH_FH_PARSE_H