@@ -288,7 +288,6 @@ impl Grammar {
288
288
// =====================================================================
289
289
let mut tokens_initializer = TokenStream :: new ( ) ;
290
290
let mut rule_names_initializer = TokenStream :: new ( ) ;
291
- let mut rule_id_initializer = TokenStream :: new ( ) ;
292
291
293
292
{
294
293
for rule in rules. into_iter ( ) {
@@ -314,10 +313,6 @@ impl Grammar {
314
313
rule_names_initializer. extend ( quote ! {
315
314
#nonterminals_enum_name:: #name,
316
315
} ) ;
317
- let id = Literal :: usize_unsuffixed ( rule. id ) ;
318
- rule_id_initializer. extend ( quote ! {
319
- #id,
320
- } ) ;
321
316
}
322
317
} ;
323
318
@@ -491,29 +486,20 @@ impl Grammar {
491
486
}
492
487
} ;
493
488
494
- let rule_id_typename = integer_typename (
495
- self . nonterminals
496
- . iter ( )
497
- . map ( |nonterm| nonterm. rules . iter ( ) . map ( |rule| rule. id ) . max ( ) . unwrap ( ) )
498
- . max ( )
499
- . unwrap ( )
500
- + 1 ,
501
- ) ;
502
489
let reduce_terminals_cache_typename = integer_typename ( reduce_terminals_cache_count) ;
503
490
let ruleset0_cache_typename = integer_typename ( ruleset0_cache_count) ;
504
491
492
+ let token_typename = & self . token_typename ;
493
+
505
494
Ok ( quote ! {
506
- let __rustylr_terminals = vec![ #comma_separated_terminals] ;
495
+ let __rustylr_terminals: Vec <#token_typename> = vec![ #comma_separated_terminals] ;
507
496
const RUSTYLR_RULES_TOKENS : & [ & [ #module_prefix:: Token <#terminal_index_typename, #nonterminals_enum_name>] ] = & [ #tokens_initializer] ;
508
497
const RUSTYLR_RULES_NAME : & [ #nonterminals_enum_name] = & [ #rule_names_initializer] ;
509
- const RUSTYLR_RULES_ID : & [ #rule_id_typename] = & [ #rule_id_initializer] ;
510
498
511
499
let rules: Vec <#rule_typename> = RUSTYLR_RULES_NAME . iter( ) . zip(
512
- RUSTYLR_RULES_TOKENS . iter( ) . zip(
513
- RUSTYLR_RULES_ID . iter( )
514
- )
500
+ RUSTYLR_RULES_TOKENS . iter( )
515
501
) . map(
516
- | ( name, ( tokens, id ) ) | {
502
+ | ( name, tokens) | {
517
503
#rule_typename {
518
504
name: * name,
519
505
rule: tokens. iter( ) . map(
@@ -524,7 +510,6 @@ impl Grammar {
524
510
}
525
511
}
526
512
) . collect( ) ,
527
- id: * id as usize ,
528
513
}
529
514
}
530
515
) . collect( ) ;
@@ -800,15 +785,15 @@ impl Grammar {
800
785
/// struct that holds internal parser data,
801
786
/// including data stack for each non-terminal,
802
787
/// and state stack for DFA
803
- #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut) ]
788
+ #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, non_snake_case , non_camel_case_types ) ]
804
789
pub struct #stack_struct_name {
805
790
#stack_def_streams
806
791
}
807
- #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, dead_code) ]
792
+ #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, non_snake_case , non_camel_case_types , dead_code) ]
808
793
impl #stack_struct_name {
809
794
#fn_reduce_for_each_rule_stream
810
795
}
811
- #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, dead_code) ]
796
+ #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, non_snake_case , non_camel_case_types , dead_code) ]
812
797
impl #module_prefix:: lr:: Stack for #stack_struct_name {
813
798
type Term = #token_typename;
814
799
type NonTerm = #nonterminals_enum_name;
@@ -844,7 +829,7 @@ impl Grammar {
844
829
}
845
830
846
831
/// struct that holds parser data, DFA tables
847
- #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut) ]
832
+ #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, dead_code ) ]
848
833
pub struct #parser_struct_name {
849
834
/// production rules
850
835
pub rules: Vec <#rule_typename>,
@@ -863,7 +848,7 @@ impl Grammar {
863
848
}
864
849
}
865
850
866
- #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut) ]
851
+ #[ allow( unused_braces, unused_parens, unused_variables, non_snake_case, unused_mut, dead_code ) ]
867
852
impl #parser_struct_name {
868
853
/// Create new parser instance.
869
854
/// Parser can be reused with different context, for multiple parsing.
0 commit comments