File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed
Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ pub enum Token {
3232 Comma ,
3333 Dot ,
3434 Assign ,
35+ Hashtag ,
3536 If ,
3637 Elif ,
3738 Else ,
@@ -237,6 +238,9 @@ impl Tokenizer {
237238 } else if c == ']' {
238239 self . pos += 1 ;
239240 return Token :: Rbracket ;
241+ } else if c == '#' {
242+ self . pos += 1 ;
243+ return Token :: Hashtag ;
240244 } else if c == '=' {
241245 self . pos += 1 ;
242246 if self . pos < self . code . len ( ) {
Original file line number Diff line number Diff line change @@ -425,3 +425,19 @@ fn tokenizer_test_dot() {
425425 let token = tokenizer. next ( ) ;
426426 assert ! ( matches!( token, Token :: Number ( 1.0 ) ) ) ;
427427}
428+
429+ #[ test]
430+ fn tokenizer_test_hashtag ( ) {
431+ let mut tokenizer = Tokenizer :: new ( "fn main {return 2 + 1 # 1 + 2; }" . into ( ) ) ;
432+ tokenizer. next ( ) ;
433+ tokenizer. next ( ) ;
434+ tokenizer. next ( ) ;
435+ tokenizer. next ( ) ;
436+ tokenizer. next ( ) ;
437+ tokenizer. next ( ) ;
438+ tokenizer. next ( ) ;
439+ let token = tokenizer. next ( ) ;
440+ assert ! ( matches!( token, Token :: Hashtag ) ) ;
441+ let token = tokenizer. next ( ) ;
442+ assert ! ( matches!( token, Token :: Number ( 1.0 ) ) ) ;
443+ }
You can’t perform that action at this time.
0 commit comments