aboutsummaryrefslogtreecommitdiffstats
path: root/src/tokenizer.rs
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-01-11 16:03:58 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-01-11 16:05:10 +0100
commit711968ffb31ee06630ed43740fd2538becc2765b (patch)
tree7d4277bb060ce8e3f919cfb205d99a39f3aa99fc /src/tokenizer.rs
parentd7d18a80bb70238dec107f6724938964d157a287 (diff)
downloadsylt-711968ffb31ee06630ed43740fd2538becc2765b.tar.gz
compile from strings
Diffstat (limited to 'src/tokenizer.rs')
-rw-r--r--src/tokenizer.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/tokenizer.rs b/src/tokenizer.rs
index 1da9835..e52410c 100644
--- a/src/tokenizer.rs
+++ b/src/tokenizer.rs
@@ -125,8 +125,7 @@ pub enum Token {
pub type PlacedToken = (Token, usize);
pub type TokenStream = Vec<PlacedToken>;
-pub fn file_to_tokens(file: &Path) -> TokenStream {
- let content = fs::read_to_string(file).unwrap();
+pub fn string_to_tokens(content: &str) -> TokenStream {
let lexer = Token::lexer(&content);
let mut placed_tokens = lexer.spanned().peekable();
@@ -152,6 +151,10 @@ pub fn file_to_tokens(file: &Path) -> TokenStream {
lined_tokens
}
+pub fn file_to_tokens(file: &Path) -> TokenStream {
+ string_to_tokens(&fs::read_to_string(file).unwrap())
+}
+
#[cfg(test)]
mod tests {
use super::Token;