diff options
Diffstat (limited to 'src/syntax/mod.rs')
| -rw-r--r-- | src/syntax/mod.rs | 26 |
1 files changed, 26 insertions, 0 deletions
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<T> { + pub val: T, + pub span: Span, +} + +impl<T> Spanned<T> { + pub fn new(val: T, span: Span) -> Spanned<T> { + 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 } + } +} |
