From 4f59c4fdfc11faee14430701fba356410edd8aaf Mon Sep 17 00:00:00 2001 From: overlookmotel Date: Mon, 22 Jan 2024 05:45:12 +0000 Subject: [PATCH] refactor(syntax): reformat identifier byte tables (#2111) Not a substantive change, just reformatting the ASCII byte tables in `oxc_syntax`. In my opinion, this makes them easier to read. --- crates/oxc_syntax/src/identifier.rs | 36 +++++++++++++++++++---------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/crates/oxc_syntax/src/identifier.rs b/crates/oxc_syntax/src/identifier.rs index ba07377f9..4822e2c9c 100644 --- a/crates/oxc_syntax/src/identifier.rs +++ b/crates/oxc_syntax/src/identifier.rs @@ -63,26 +63,38 @@ pub fn is_line_terminator(c: char) -> bool { is_regular_line_terminator(c) || is_irregular_line_terminator(c) } -const T: bool = true; -const F: bool = false; +const XX: bool = true; +const __: bool = false; #[repr(C, align(64))] pub struct Align64(pub(crate) T); -// This contains `$` (36) and `_` (95) +// `a`-`z`, `A`-`Z`, `$` (0x24), `_` (0x5F) +#[rustfmt::skip] pub const ASCII_START: Align64<[bool; 128]> = Align64([ - F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, - F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, - F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, T, - F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, +// 0 1 2 3 4 5 6 7 8 9 A B C D E F // + __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 0 + __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 1 + __, __, __, __, XX, __, __, __, __, __, __, __, __, __, __, __, // 2 + __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 3 + __, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, // 4 + XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, __, __, __, __, XX, // 5 + __, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, // 6 + XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, __, __, __, __, __, // 7 ]); -// This contains `$` (36) +// `ASCII_START` + `0`-`9` +#[rustfmt::skip] pub const ASCII_CONTINUE: Align64<[bool; 128]> = Align64([ - F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, - F, F, F, F, T, F, F, F, F, F, F, F, F, F, F, F, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, - F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, T, - F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, +// 0 1 2 3 4 5 6 7 8 9 A B C D E F // + __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 0 + __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, __, // 1 + __, __, __, __, XX, __, __, __, __, __, __, __, __, __, __, __, // 2 + XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, __, __, __, __, __, __, // 3 + __, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, // 4 + XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, __, __, __, __, XX, // 5 + __, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, // 6 + XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, XX, __, __, __, __, __, // 7 ]); #[inline]