|
1 |
| -use std::{env, fmt, fs}; |
| 1 | +use std::fmt; |
2 | 2 |
|
3 |
| -use ariadne::{sources, Color, Label, Report, ReportKind}; |
4 | 3 | use chumsky::prelude::*;
|
5 | 4 |
|
6 | 5 | pub type Span = SimpleSpan<usize>;
|
| 6 | +pub type Output<'a> = Vec<(Token<'a>, Span)>; |
| 7 | +pub type Error<'a> = extra::Err<Rich<'a, char, Span>>; |
7 | 8 |
|
8 | 9 | #[derive(Clone, Debug, PartialEq, Eq)]
|
9 | 10 | pub enum Token<'src> {
|
@@ -76,7 +77,7 @@ impl<'src> fmt::Display for Token<'src> {
|
76 | 77 | }
|
77 | 78 | }
|
78 | 79 |
|
79 |
| -pub fn lexer<'src>() -> impl Parser<'src, &'src str, Vec<(Token<'src>, Span)>, extra::Err<Rich<'src, char, Span>>> { |
| 80 | +pub fn lexer<'src>() -> impl Parser<'src, &'src str, Output<'src>, Error<'src>> { |
80 | 81 | // A parser for numbers
|
81 | 82 | let digits = text::digits(10).slice();
|
82 | 83 |
|
@@ -173,8 +174,6 @@ mod tests {
|
173 | 174 | #[test]
|
174 | 175 | fn simple_test() {
|
175 | 176 | use Token::*;
|
176 |
| - type Output<'a> = Vec<(Token<'a>, Span)>; |
177 |
| - type MyErr<'a> = extra::Err<Rich<'a, char, Span>>; |
178 | 177 | let cases = [
|
179 | 178 | ("true", vec![(Bool(true), Span::new(0, 4))]),
|
180 | 179 | ("false", vec![(Bool(false), Span::new(0, 5))]),
|
|
0 commit comments