Browse Source

Scan =

main
Dylan Baker 3 years ago
parent
commit
34296a544b
2 changed files with 8 additions and 0 deletions
  1. 6
    0
      src/lexer.rs
  2. 2
    0
      src/token.rs

+ 6
- 0
src/lexer.rs View File

30
         Matcher::new(r#"^[0-9]+"#, TokenType::Number),
30
         Matcher::new(r#"^[0-9]+"#, TokenType::Number),
31
         Matcher::new(r#"^\*"#, TokenType::Star),
31
         Matcher::new(r#"^\*"#, TokenType::Star),
32
         Matcher::new(r#"^,"#, TokenType::Comma),
32
         Matcher::new(r#"^,"#, TokenType::Comma),
33
+        Matcher::new(r#"^="#, TokenType::Equals),
33
     ];
34
     ];
34
 }
35
 }
35
 
36
 
140
         assert_eq!(scan(",").unwrap(), vec![Token::new(TokenType::Comma, ",")])
141
         assert_eq!(scan(",").unwrap(), vec![Token::new(TokenType::Comma, ",")])
141
     }
142
     }
142
 
143
 
144
+    #[test]
145
+    fn it_scans_an_equals_sign() {
146
+        assert_eq!(scan("=").unwrap(), vec![Token::new(TokenType::Equals, "=")])
147
+    }
148
+
143
     #[test]
149
     #[test]
144
     fn it_allows_dots_in_identifiers() {
150
     fn it_allows_dots_in_identifiers() {
145
         assert_eq!(
151
         assert_eq!(

+ 2
- 0
src/token.rs View File

27
 pub enum TokenType {
27
 pub enum TokenType {
28
     Comma,
28
     Comma,
29
     From,
29
     From,
30
+    Equals,
30
     Identfiier,
31
     Identfiier,
31
     Number,
32
     Number,
32
     Select,
33
     Select,
42
             "{}",
43
             "{}",
43
             match self {
44
             match self {
44
                 TokenType::Comma => "Comma",
45
                 TokenType::Comma => "Comma",
46
+                TokenType::Equals => "Equals",
45
                 TokenType::Identfiier => "Identifier",
47
                 TokenType::Identfiier => "Identifier",
46
                 TokenType::Number => "Number",
48
                 TokenType::Number => "Number",
47
                 TokenType::Star => "Star",
49
                 TokenType::Star => "Star",

Loading…
Cancel
Save