소스 검색

Scan *

main
Dylan Baker 4 년 전
부모
커밋
e4bd56b098
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8
    1
      src/lexer.rs

+ 8
- 1
src/lexer.rs 파일 보기

26
     Identfiier,
26
     Identfiier,
27
     Keyword,
27
     Keyword,
28
     Number,
28
     Number,
29
+    Star,
29
     String,
30
     String,
30
 }
31
 }
31
 
32
 
50
         Matcher::new(r#""(.*)""#, TokenType::String),
51
         Matcher::new(r#""(.*)""#, TokenType::String),
51
         Matcher::new(r#"(SELECT|FROM)"#, TokenType::Keyword),
52
         Matcher::new(r#"(SELECT|FROM)"#, TokenType::Keyword),
52
         Matcher::new(r#"[a-z][a-zA-Z_]*"#, TokenType::Identfiier),
53
         Matcher::new(r#"[a-z][a-zA-Z_]*"#, TokenType::Identfiier),
53
-        Matcher::new(r#"[0-9]+"#, TokenType::Number)
54
+        Matcher::new(r#"[0-9]+"#, TokenType::Number),
55
+        Matcher::new(r#"\*"#, TokenType::Star),
54
     ];
56
     ];
55
 }
57
 }
56
 
58
 
129
             vec![Token::new(TokenType::Identfiier, "abc")]
131
             vec![Token::new(TokenType::Identfiier, "abc")]
130
         )
132
         )
131
     }
133
     }
134
+
135
+    #[test]
136
+    fn it_scans_a_star() {
137
+        assert_eq!(scan("*").unwrap(), vec![Token::new(TokenType::Star, "*")])
138
+    }
132
 }
139
 }

Loading…
취소
저장