Enum erl_tokenize::Token
source · pub enum Token {
Atom(AtomToken),
Char(CharToken),
Comment(CommentToken),
Float(FloatToken),
Integer(IntegerToken),
Keyword(KeywordToken),
SigilString(SigilStringToken),
String(StringToken),
Symbol(SymbolToken),
Variable(VariableToken),
Whitespace(WhitespaceToken),
}
Expand description
Token.
Variants§
Atom(AtomToken)
Char(CharToken)
Comment(CommentToken)
Float(FloatToken)
Integer(IntegerToken)
Keyword(KeywordToken)
SigilString(SigilStringToken)
String(StringToken)
Symbol(SymbolToken)
Variable(VariableToken)
Whitespace(WhitespaceToken)
Implementations§
source§impl Token
impl Token
sourcepub fn from_text(text: &str, pos: Position) -> Result<Self>
pub fn from_text(text: &str, pos: Position) -> Result<Self>
Tries to convert from any prefixes of the text to a token.
§Examples
use erl_tokenize::{Token, Position};
use erl_tokenize::values::Symbol;
let pos = Position::new();
// Atom
let token = Token::from_text("foo", pos.clone()).unwrap();
assert_eq!(token.as_atom_token().map(|t| t.value()), Some("foo"));
// Symbol
let token = Token::from_text("[foo]", pos.clone()).unwrap();
assert_eq!(token.as_symbol_token().map(|t| t.value()), Some(Symbol::OpenSquare));
sourcepub fn text(&self) -> &str
pub fn text(&self) -> &str
Returns the original textual representation of this token.
§Examples
use erl_tokenize::{Token, Position};
let pos = Position::new();
// Comment
assert_eq!(Token::from_text("% foo", pos.clone()).unwrap().text(), "% foo");
// Char
assert_eq!(Token::from_text(r#"$\t"#, pos.clone()).unwrap().text(), r#"$\t"#);
sourcepub fn is_lexical_token(&self) -> bool
pub fn is_lexical_token(&self) -> bool
Returns true
if this is a lexical token, otherwise false
.
Returns true
if this is a hidden token, otherwise false
.
sourcepub fn into_lexical_token(self) -> Result<LexicalToken, Self>
pub fn into_lexical_token(self) -> Result<LexicalToken, Self>
Tries to convert into LexicalToken
.
Tries to convert into HiddenToken
.
sourcepub fn as_atom_token(&self) -> Option<&AtomToken>
pub fn as_atom_token(&self) -> Option<&AtomToken>
Tries to return the reference to the inner AtomToken
.
sourcepub fn as_char_token(&self) -> Option<&CharToken>
pub fn as_char_token(&self) -> Option<&CharToken>
Tries to return the reference to the inner CharToken
.
sourcepub fn as_float_token(&self) -> Option<&FloatToken>
pub fn as_float_token(&self) -> Option<&FloatToken>
Tries to return the reference to the inner FloatToken
.
sourcepub fn as_integer_token(&self) -> Option<&IntegerToken>
pub fn as_integer_token(&self) -> Option<&IntegerToken>
Tries to return the reference to the inner IntegerToken
.
sourcepub fn as_keyword_token(&self) -> Option<&KeywordToken>
pub fn as_keyword_token(&self) -> Option<&KeywordToken>
Tries to return the reference to the inner KeywordToken
.
sourcepub fn as_string_token(&self) -> Option<&StringToken>
pub fn as_string_token(&self) -> Option<&StringToken>
Tries to return the reference to the inner StringToken
.
sourcepub fn as_symbol_token(&self) -> Option<&SymbolToken>
pub fn as_symbol_token(&self) -> Option<&SymbolToken>
Tries to return the reference to the inner SymbolToken
.
sourcepub fn as_variable_token(&self) -> Option<&VariableToken>
pub fn as_variable_token(&self) -> Option<&VariableToken>
Tries to return the reference to the inner VariableToken
.
sourcepub fn as_comment_token(&self) -> Option<&CommentToken>
pub fn as_comment_token(&self) -> Option<&CommentToken>
Tries to return the reference to the inner CommentToken
.
sourcepub fn as_whitespace_token(&self) -> Option<&WhitespaceToken>
pub fn as_whitespace_token(&self) -> Option<&WhitespaceToken>
Tries to return the reference to the inner WhitespaceToken
.
sourcepub fn into_atom_token(self) -> Result<AtomToken, Self>
pub fn into_atom_token(self) -> Result<AtomToken, Self>
Tries to return the inner AtomToken
.
sourcepub fn into_char_token(self) -> Result<CharToken, Self>
pub fn into_char_token(self) -> Result<CharToken, Self>
Tries to return the inner CharToken
.
sourcepub fn into_float_token(self) -> Result<FloatToken, Self>
pub fn into_float_token(self) -> Result<FloatToken, Self>
Tries to return the inner FloatToken
.
sourcepub fn into_integer_token(self) -> Result<IntegerToken, Self>
pub fn into_integer_token(self) -> Result<IntegerToken, Self>
Tries to return the inner IntegerToken
.
sourcepub fn into_keyword_token(self) -> Result<KeywordToken, Self>
pub fn into_keyword_token(self) -> Result<KeywordToken, Self>
Tries to return the inner KeywordToken
.
sourcepub fn into_string_token(self) -> Result<StringToken, Self>
pub fn into_string_token(self) -> Result<StringToken, Self>
Tries to return the inner StringToken
.
sourcepub fn into_symbol_token(self) -> Result<SymbolToken, Self>
pub fn into_symbol_token(self) -> Result<SymbolToken, Self>
Tries to return the inner SymbolToken
.
sourcepub fn into_variable_token(self) -> Result<VariableToken, Self>
pub fn into_variable_token(self) -> Result<VariableToken, Self>
Tries to return the inner VariableToken
.
sourcepub fn into_comment_token(self) -> Result<CommentToken, Self>
pub fn into_comment_token(self) -> Result<CommentToken, Self>
Tries to return the inner CommentToken
.
sourcepub fn into_whitespace_token(self) -> Result<WhitespaceToken, Self>
pub fn into_whitespace_token(self) -> Result<WhitespaceToken, Self>
Tries to return the inner WhitespaceToken
.