about summary refs log tree commit diff
path: root/users/tazjin/rlox/src/scanner.rs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-11-28T18·53+0100
committertazjin <mail@tazj.in>2020-11-30T16·42+0000
commit349583d5a96dc182eda1776a94fcb4b80f4da873 (patch)
tree3414de3fb83ec3455f6f396df377a00edc2652dd /users/tazjin/rlox/src/scanner.rs
parent754edb46160609c2a6387d20a136ec6766e24139 (diff)
feat(tazjin/rlox): Bootstrap recursive-descent parser for Lox r/1966
... mostly some AST boilerplate and a first top-level rule, plus
boilerplate similar to that set up in the Scanner.

Change-Id: I605d1de23c47a3b3702ab4f62cd3371bc3988c7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2194
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/tazjin/rlox/src/scanner.rs')
-rw-r--r--users/tazjin/rlox/src/scanner.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/users/tazjin/rlox/src/scanner.rs b/users/tazjin/rlox/src/scanner.rs
index 2eed89bd6beb..eeb247d9bd53 100644
--- a/users/tazjin/rlox/src/scanner.rs
+++ b/users/tazjin/rlox/src/scanner.rs
@@ -1,6 +1,6 @@
 use crate::errors::{Error, ErrorKind};
 
-#[derive(Debug)]
+#[derive(Debug, PartialEq)]
 pub enum TokenKind {
     // Single-character tokens.
     LeftParen,
@@ -54,10 +54,9 @@ pub enum TokenKind {
 
 #[derive(Debug)]
 pub struct Token<'a> {
-    kind: TokenKind,
-    lexeme: &'a [char],
-    // literal: Object, // TODO(tazjin): Uhh?
-    line: usize,
+    pub kind: TokenKind,
+    pub lexeme: &'a [char],
+    pub line: usize,
 }
 
 struct Scanner<'a> {