summaryrefslogtreecommitdiff
path: root/flexdef.h
diff options
context:
space:
mode:
authorJohn Millaway <john43@users.sourceforge.net>2002-12-16 23:28:22 +0000
committerJohn Millaway <john43@users.sourceforge.net>2002-12-16 23:28:22 +0000
commit956b9210a1e161b760ce6c5cebf5e298866188c5 (patch)
tree9adb445f7914321b46f965673e69d5e628fe5268 /flexdef.h
parenta4312e900265e2ad8e731410b2f642ba7ea47cf4 (diff)
Added utility functions to deal with character case.
Diffstat (limited to 'flexdef.h')
-rw-r--r--flexdef.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/flexdef.h b/flexdef.h
index 17a7e23..e83422b 100644
--- a/flexdef.h
+++ b/flexdef.h
@@ -1105,5 +1105,28 @@ extern jmp_buf flex_main_jmp_buf;
/* Removes all \n and \r chars from tail of str. returns str. */
extern char *chomp (char *str);
+/* ctype functions forced to return boolean */
+#define b_isalnum(c) (isalnum(c)?true:false)
+#define b_isalpha(c) (isalpha(c)?true:false)
+#define b_isascii(c) (isascii(c)?true:false)
+#define b_isblank(c) (isblank(c)?true:false)
+#define b_iscntrl(c) (iscntrl(c)?true:false)
+#define b_isdigit(c) (isdigit(c)?true:false)
+#define b_isgraph(c) (isgraph(c)?true:false)
+#define b_islower(c) (islower(c)?true:false)
+#define b_isprint(c) (isprint(c)?true:false)
+#define b_ispunct(c) (ispunct(c)?true:false)
+#define b_isspace(c) (isspace(c)?true:false)
+#define b_isupper(c) (isupper(c)?true:false)
+#define b_isxdigit(c) (isxdigit(c)?true:false)
+
+/* return true if char is uppercase or lowercase. */
+bool has_case(int c);
+
+/* Change case of character if possible. */
+int reverse_case(int c);
+
+/* return false if [c1-c2] is ambiguous for a caseless scanner. */
+bool range_covers_case (int c1, int c2);
#endif /* not defined FLEXDEF_H */