#include "ctype.h" #include bool is_space(const char chr) { // ' ' (space) // '\f' (form-feed) // '\n' (newline) // '\r' (carriage return) // '\t' (horizontal tab) // '\v' (vertical tab) return isspace(chr); } bool is_tag(const char chr) { return isalnum(chr); } bool is_ident_head(const char chr) { return isalpha(chr) || chr == '!' || chr == '$' || chr == '%' || chr == '&' || chr == '*' || chr == '+' || chr == '-' || chr == '.' || chr == '/' || chr == ':' || chr == '<' || chr == '=' || chr == '>' || chr == '?' || chr == '@' || chr == '^' || chr == '_' || chr == '~'; } bool is_ident_tail(const char chr) { return is_ident_head(chr) || isdigit(chr); } bool is_number(const char chr) { return isdigit(chr); }