@@ -64,10 +64,7 @@ pub struct Location {
64
64
65
65
impl Location {
66
66
pub fn new ( row : usize , column : usize ) -> Self {
67
- Location {
68
- row : row,
69
- column : column,
70
- }
67
+ Location { row, column }
71
68
}
72
69
73
70
pub fn get_row ( & self ) -> usize {
@@ -126,8 +123,7 @@ pub type Spanned<Tok> = Result<(Location, Tok, Location), LexicalError>;
126
123
pub fn make_tokenizer < ' a > ( source : & ' a str ) -> impl Iterator < Item = Spanned < Tok > > + ' a {
127
124
let nlh = NewlineHandler :: new ( source. chars ( ) ) ;
128
125
let lch = LineContinationHandler :: new ( nlh) ;
129
- let lexer = Lexer :: new ( lch) ;
130
- lexer
126
+ Lexer :: new ( lch)
131
127
}
132
128
133
129
// The newline handler is an iterator which collapses different newline
@@ -144,7 +140,7 @@ where
144
140
{
145
141
pub fn new ( source : T ) -> Self {
146
142
let mut nlh = NewlineHandler {
147
- source : source ,
143
+ source,
148
144
chr0 : None ,
149
145
chr1 : None ,
150
146
} ;
@@ -200,7 +196,7 @@ where
200
196
{
201
197
pub fn new ( source : T ) -> Self {
202
198
let mut nlh = LineContinationHandler {
203
- source : source ,
199
+ source,
204
200
chr0 : None ,
205
201
chr1 : None ,
206
202
} ;
@@ -313,7 +309,7 @@ where
313
309
if keywords. contains_key ( & name) {
314
310
Ok ( ( start_pos, keywords. remove ( & name) . unwrap ( ) , end_pos) )
315
311
} else {
316
- Ok ( ( start_pos, Tok :: Name { name : name } , end_pos) )
312
+ Ok ( ( start_pos, Tok :: Name { name } , end_pos) )
317
313
}
318
314
}
319
315
@@ -358,7 +354,7 @@ where
358
354
359
355
let end_pos = self . get_pos ( ) ;
360
356
let value = BigInt :: from_str_radix ( & value_text, radix) . unwrap ( ) ;
361
- Ok ( ( start_pos, Tok :: Int { value : value } , end_pos) )
357
+ Ok ( ( start_pos, Tok :: Int { value } , end_pos) )
362
358
}
363
359
364
360
fn lex_normal_number ( & mut self ) -> Spanned < Tok > {
@@ -410,26 +406,19 @@ where
410
406
) )
411
407
} else {
412
408
let end_pos = self . get_pos ( ) ;
413
- Ok ( ( start_pos, Tok :: Float { value : value } , end_pos) )
409
+ Ok ( ( start_pos, Tok :: Float { value } , end_pos) )
414
410
}
415
411
} else {
416
412
// Parse trailing 'j':
417
413
if self . chr0 == Some ( 'j' ) {
418
414
self . next_char ( ) ;
419
415
let end_pos = self . get_pos ( ) ;
420
416
let imag = f64:: from_str ( & value_text) . unwrap ( ) ;
421
- Ok ( (
422
- start_pos,
423
- Tok :: Complex {
424
- real : 0.0 ,
425
- imag : imag,
426
- } ,
427
- end_pos,
428
- ) )
417
+ Ok ( ( start_pos, Tok :: Complex { real : 0.0 , imag } , end_pos) )
429
418
} else {
430
419
let end_pos = self . get_pos ( ) ;
431
420
let value = value_text. parse :: < BigInt > ( ) . unwrap ( ) ;
432
- Ok ( ( start_pos, Tok :: Int { value : value } , end_pos) )
421
+ Ok ( ( start_pos, Tok :: Int { value } , end_pos) )
433
422
}
434
423
}
435
424
}
@@ -548,33 +537,33 @@ where
548
537
}
549
538
} ;
550
539
551
- return Ok ( ( start_pos, tok, end_pos) ) ;
540
+ Ok ( ( start_pos, tok, end_pos) )
552
541
}
553
542
554
543
fn is_char ( & self ) -> bool {
555
544
match self . chr0 {
556
- Some ( 'a' ...'z' ) | Some ( 'A' ...'Z' ) | Some ( '_' ) | Some ( '0' ...'9' ) => return true ,
557
- _ => return false ,
545
+ Some ( 'a' ...'z' ) | Some ( 'A' ...'Z' ) | Some ( '_' ) | Some ( '0' ...'9' ) => true ,
546
+ _ => false ,
558
547
}
559
548
}
560
549
561
550
fn is_number ( & self , radix : u32 ) -> bool {
562
551
match radix {
563
552
2 => match self . chr0 {
564
- Some ( '0' ...'1' ) => return true ,
565
- _ => return false ,
553
+ Some ( '0' ...'1' ) => true ,
554
+ _ => false ,
566
555
} ,
567
556
8 => match self . chr0 {
568
- Some ( '0' ...'7' ) => return true ,
569
- _ => return false ,
557
+ Some ( '0' ...'7' ) => true ,
558
+ _ => false ,
570
559
} ,
571
560
10 => match self . chr0 {
572
- Some ( '0' ...'9' ) => return true ,
573
- _ => return false ,
561
+ Some ( '0' ...'9' ) => true ,
562
+ _ => false ,
574
563
} ,
575
564
16 => match self . chr0 {
576
- Some ( '0' ...'9' ) | Some ( 'a' ...'f' ) | Some ( 'A' ...'F' ) => return true ,
577
- _ => return false ,
565
+ Some ( '0' ...'9' ) | Some ( 'a' ...'f' ) | Some ( 'A' ...'F' ) => true ,
566
+ _ => false ,
578
567
} ,
579
568
x => unimplemented ! ( "Radix not implemented: {}" , x) ,
580
569
}
0 commit comments