]> granicus.if.org Git - re2c/commitdiff
Comment on test for character class operations.
authorUlya Trofimovich <skvadrik@gmail.com>
Tue, 23 Jun 2015 21:02:27 +0000 (22:02 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Tue, 23 Jun 2015 21:02:27 +0000 (22:02 +0100)
re2c/src/test/range/test.h

index fb5463515a414e68954533fea2089ccd56e23dd1..18aa1aca73bbf0946ca76f8315b5d13b942e82c9 100644 (file)
@@ -7,6 +7,16 @@ namespace re2c { class Range; }
 
 namespace re2c_test {
 
+/*
+ * If encoding has N code units (characters), character class can be
+ * represented as an N-bit integer: k-th bit is set iff k-th character
+ * belongs to the class.
+ *
+ * Addition and subtraction can be implemented trivially for such
+ * integer representation of character classes: addition is simply
+ * bitwise OR of two classes, subtraction is bitwise AND of the first
+ * class and negated second class.
+ */
 template <uint8_t BITS> re2c::Range * range (uint32_t n);
 template <uint8_t BITS> re2c::Range * add (uint32_t n1, uint32_t n2);
 template <uint8_t BITS> re2c::Range * sub (uint32_t n1, uint32_t n2);