From b5d8b8f4a5425ec7bcaa50d8394e76cffe4baadc Mon Sep 17 00:00:00 2001 From: Laurenz Date: Wed, 30 Oct 2019 21:13:12 +0100 Subject: =?UTF-8?q?Token=20spans=20=F0=9F=94=9C=F0=9F=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/syntax/mod.rs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/syntax/mod.rs') diff --git a/src/syntax/mod.rs b/src/syntax/mod.rs index da8cdc80..8a6329de 100644 --- a/src/syntax/mod.rs +++ b/src/syntax/mod.rs @@ -129,3 +129,29 @@ impl Display for Expression { } } } + +pub struct Spanned { + pub val: T, + pub span: Span, +} + +impl Spanned { + pub fn new(val: T, span: Span) -> Spanned { + Spanned { val, span } + } +} + +pub struct Span { + pub start: usize, + pub end: usize, +} + +impl Span { + pub fn new(start: usize, end: usize) -> Span { + Span { start, end } + } + + pub fn at(index: usize) -> Span { + Span { start: index, end: index + 1 } + } +} -- cgit v1.2.3