Enum erl_tokenize::Token [] [src]

pub enum Token {
    Atom(AtomToken),
    Char(CharToken),
    Comment(CommentToken),
    Float(FloatToken),
    Integer(IntegerToken),
    Keyword(KeywordToken),
    String(StringToken),
    Symbol(SymbolToken),
    Variable(VariableToken),
    Whitespace(WhitespaceToken),
}

Token.

Variants

Methods

impl Token
[src]

Tries to convert from any prefixes of the text to a token.

Examples

use erl_tokenize::{Token, TokenValue, Position};
use erl_tokenize::values::Symbol;

let pos = Position::new();

// Atom
assert_eq!(Token::from_text("foo", pos.clone()).unwrap().value(), TokenValue::Atom("foo"));

// Symbol
assert_eq!(Token::from_text("[foo]", pos.clone()).unwrap().value(),
           TokenValue::Symbol(Symbol::OpenSquare));

Returns the value of this token.

Examples

use erl_tokenize::{Token, TokenValue, Position};

let pos = Position::new();

// Comment
assert_eq!(Token::from_text("% foo", pos.clone()).unwrap().value(),
           TokenValue::Comment(" foo"));

// Float
assert_eq!(Token::from_text("1.23", pos.clone()).unwrap().value(),
           TokenValue::Float(1.23));

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"#);

Returns the start position of the begnning of this token.

Returns the kind of this token.

Examples

use erl_tokenize::{Token, TokenKind, Position};

let pos = Position::new();
assert_eq!(Token::from_text("foo", pos.clone()).unwrap().kind(), TokenKind::Atom);
assert_eq!(Token::from_text("123", pos.clone()).unwrap().kind(), TokenKind::Integer);
assert_eq!(Token::from_text(" ", pos.clone()).unwrap().kind(), TokenKind::Whitespace);

Trait Implementations

impl Debug for Token
[src]

Formats the value using the given formatter.

impl Clone for Token
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl From<AtomToken> for Token
[src]

Performs the conversion.

impl From<CharToken> for Token
[src]

Performs the conversion.

impl From<CommentToken> for Token
[src]

Performs the conversion.

impl From<FloatToken> for Token
[src]

Performs the conversion.

impl From<IntegerToken> for Token
[src]

Performs the conversion.

impl From<KeywordToken> for Token
[src]

Performs the conversion.

impl From<StringToken> for Token
[src]

Performs the conversion.

impl From<SymbolToken> for Token
[src]

Performs the conversion.

impl From<VariableToken> for Token
[src]

Performs the conversion.

impl From<WhitespaceToken> for Token
[src]

Performs the conversion.