1
0
Fork 0
lesson-lisp/src/ctype.c

53 lines
882 B
C

#include "ctype.h"
#include <ctype.h>
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);
}