Switch fully to ArcIntern.

This commit is contained in:
2023-01-12 09:14:28 -08:00
parent cd3247ac9f
commit 228f447a06
5 changed files with 6 additions and 74 deletions

View File

@@ -1,4 +1,4 @@
use crate::util::istring::InternedString;
use internment::ArcIntern;
use logos::{Lexer, Logos};
use std::fmt;
use std::num::ParseIntError;
@@ -24,8 +24,8 @@ pub enum Token {
#[regex(r"[0-9]+", |v| parse_number(None, v))]
Number((Option<u8>, i128)),
#[regex(r"[a-z][a-zA-Z0-9_]*", |v| InternedString::new(v.slice()))]
Variable(InternedString),
#[regex(r"[a-z][a-zA-Z0-9_]*", |v| ArcIntern::new(v.slice().to_string()))]
Variable(ArcIntern<String>),
#[error]
#[regex(r"[ \t\r\n\f]+", logos::skip)]
@@ -57,7 +57,7 @@ impl fmt::Display for Token {
#[cfg(test)]
impl Token {
pub(crate) fn var(s: &str) -> Token {
Token::Variable(InternedString::new(s))
Token::Variable(ArcIntern::new(s.to_string()))
}
}