From: Mark Thom Date: Sat, 19 Mar 2022 22:52:27 +0000 (-0600) Subject: use Rust's native UTF-8 functions (#1355) X-Git-Tag: v0.9.1~101 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=d916da9ba8d61d09d78ecf6574da3e3c337ca3a2;p=scryer-prolog.git use Rust's native UTF-8 functions (#1355) --- diff --git a/src/parser/macros.rs b/src/parser/macros.rs index 3b65b259..dfeb201b 100644 --- a/src/parser/macros.rs +++ b/src/parser/macros.rs @@ -7,19 +7,7 @@ macro_rules! char_class { #[macro_export] macro_rules! alpha_char { ($c: expr) => { - match $c { - 'a'..='z' => true, - 'A'..='Z' => true, - '_' => true, - '\u{00A0}'..='\u{00BF}' => true, - '\u{00C0}'..='\u{00D6}' => true, - '\u{00D8}'..='\u{00F6}' => true, - '\u{00F8}'..='\u{00FF}' => true, - '\u{0100}'..='\u{FFFF}' => true, /* skip some control - characters but admit the remaining code points as alphabetic - characters. */ - _ => false, - } + $c.is_alphabetic() || $c == '_' }; } @@ -54,7 +42,7 @@ macro_rules! octet_char { #[macro_export] macro_rules! capital_letter_char { ($c: expr) => { - ('A'..='Z').contains(&$c) + $c.is_uppercase() }; } @@ -117,7 +105,7 @@ macro_rules! exponent_char { #[macro_export] macro_rules! graphic_char { ($c: expr) => ($crate::char_class!($c, ['#', '$', '&', '*', '+', '-', '.', '/', ':', - '<', '=', '>', '?', '@', '^', '~'])) + '<', '=', '>', '?', '@', '^', '~'])) } #[macro_export] @@ -165,7 +153,7 @@ macro_rules! octal_digit_char { #[macro_export] macro_rules! binary_digit_char { ($c: expr) => { - $c >= '0' && $c <= '1' + $c == '0' || $c == '1' }; } @@ -204,7 +192,7 @@ macro_rules! single_quote_char { #[macro_export] macro_rules! small_letter_char { ($c: expr) => { - ('a'..='z').contains(&$c) + $c.is_lowercase() }; }