From 93353f0f9e6b89877af275965d0f6452274fdd92 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Thu, 22 Dec 2016 09:24:53 -0800 Subject: [PATCH] Documentation for the set functions in characters.rs --- src/characters.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/characters.rs b/src/characters.rs index ded09ec..f01b0dd 100644 --- a/src/characters.rs +++ b/src/characters.rs @@ -7,6 +7,9 @@ use std::iter::FromIterator; pub type CharSet = HashSet; +// TODO: Use std::sync::Once for these sets? +// https://doc.rust-lang.org/beta/std/sync/struct.Once.html + fn ascii_letters() -> CharSet { let letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".chars(); CharSet::from_iter(letters) @@ -17,6 +20,7 @@ fn ascii_digits() -> CharSet { CharSet::from_iter(digits) } +/// A set of all characters allowed to start Scheme identifiers. pub fn identifier_initials() -> CharSet { let letters = ascii_letters(); let extras = CharSet::from_iter("!$%&*/:<=>?~_^".chars()); @@ -26,6 +30,7 @@ pub fn identifier_initials() -> CharSet { initials } +/// A set of all characters allowed to follow an identifier initial. pub fn identifier_subsequents() -> CharSet { let initials = identifier_initials(); let digits = ascii_digits();