From 7f8f225cb3cb44367d731c544f7ce1eebdb97dd5 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 3 Sep 2020 19:16:19 +0200 Subject: =?UTF-8?q?Split=20up=20parser=20into=20multiple=20files=20?= =?UTF-8?q?=F0=9F=A7=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Splits up into: - escaping: resolving of escape sequences - parser: the parsing code - tests: all integrated parsing tests Also moves Ident from the root syntax module into the tree module. --- src/syntax/mod.rs | 29 ----------------------------- 1 file changed, 29 deletions(-) (limited to 'src/syntax/mod.rs') diff --git a/src/syntax/mod.rs b/src/syntax/mod.rs index a9fe7c2e..70935e79 100644 --- a/src/syntax/mod.rs +++ b/src/syntax/mod.rs @@ -6,35 +6,6 @@ pub mod span; pub mod tokens; pub mod tree; -use std::fmt::{self, Debug, Formatter}; -use tokens::is_identifier; - -/// An identifier as defined by unicode with a few extra permissible characters. -#[derive(Clone, Eq, PartialEq, Ord, PartialOrd, Hash)] -pub struct Ident(pub String); - -impl Ident { - /// Create a new identifier from a string checking that it is a valid. - pub fn new(ident: impl AsRef + Into) -> Option { - if is_identifier(ident.as_ref()) { - Some(Self(ident.into())) - } else { - None - } - } - - /// Return a reference to the underlying string. - pub fn as_str(&self) -> &str { - self.0.as_str() - } -} - -impl Debug for Ident { - fn fmt(&self, f: &mut Formatter) -> fmt::Result { - write!(f, "`{}`", self.0) - } -} - #[cfg(test)] mod tests { use super::span; -- cgit v1.2.3