You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
649 B
22 lines
649 B
3 years ago
|
/**
|
||
|
* 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
|