From bf03cb8ef93182fb489d92311d1322bd8f518171 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Mon, 2 Jan 2017 12:00:31 -0500 Subject: [PATCH] lex() function in lexer module --- src/lexer/mod.rs | 4 ++++ src/main.rs | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lexer/mod.rs b/src/lexer/mod.rs index 016c9c8..3a81176 100644 --- a/src/lexer/mod.rs +++ b/src/lexer/mod.rs @@ -49,6 +49,10 @@ enum NewlineState { N, Ne, New, Newl, Newli, Newlin, Newline } #[derive(Clone, PartialEq, Debug)] enum SpaceState { S, Sp, Spa, Spac, Space } +pub fn lex(input: &str) -> Lexer { + Lexer::new(&input) +} + pub struct Lexer { input: String, begin: usize, diff --git a/src/main.rs b/src/main.rs index 460485b..c014b3e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,8 +2,10 @@ mod lexer; mod parser; mod types; +use lexer::lex; + fn main() { - let lexer = lexer::Lexer::new("((abc def + ghi #f))"); + let lexer = lex("((abc def + ghi #f))"); for t in lexer { println!("token = {:?}", t); }