@@ -41,7 +41,7 @@ typedef struct {
4141 size_t nonterms_count ;
4242 size_t terms_count ;
4343 size_t rules_count ;
44- LAGraph_rule_WCNF * rules ;
44+ LAGraph_rule_EWCNF * rules ;
4545} grammar_t ;
4646
4747GrB_Matrix * adj_matrices = NULL ;
@@ -124,14 +124,14 @@ void free_workspace() {
124124// A -> a [1 4 -1 0]
125125// B -> b [2 5 -1 0]
126126void init_grammar_aSb () {
127- LAGraph_rule_WCNF * rules = NULL ;
128- LAGraph_Calloc ((void * * )& rules , 5 , sizeof (LAGraph_rule_WCNF ), msg );
127+ LAGraph_rule_EWCNF * rules = NULL ;
128+ LAGraph_Calloc ((void * * )& rules , 5 , sizeof (LAGraph_rule_EWCNF ), msg );
129129
130- rules [0 ] = (LAGraph_rule_WCNF ){0 , 1 , 2 , 0 };
131- rules [1 ] = (LAGraph_rule_WCNF ){0 , 1 , 3 , 0 };
132- rules [2 ] = (LAGraph_rule_WCNF ){3 , 0 , 2 , 0 };
133- rules [3 ] = (LAGraph_rule_WCNF ){1 , 4 , -1 , 0 };
134- rules [4 ] = (LAGraph_rule_WCNF ){2 , 5 , -1 , 0 };
130+ rules [0 ] = (LAGraph_rule_EWCNF ){0 , 1 , 2 , 0 , 0 };
131+ rules [1 ] = (LAGraph_rule_EWCNF ){0 , 1 , 3 , 0 , 0 };
132+ rules [2 ] = (LAGraph_rule_EWCNF ){3 , 0 , 2 , 0 , 0 };
133+ rules [3 ] = (LAGraph_rule_EWCNF ){1 , 4 , -1 , 0 , 0 };
134+ rules [4 ] = (LAGraph_rule_EWCNF ){2 , 5 , -1 , 0 , 0 };
135135
136136 grammar = (grammar_t ){
137137 .nonterms_count = 4 , .terms_count = 2 , .rules_count = 5 , .rules = rules };
@@ -145,12 +145,12 @@ void init_grammar_aSb() {
145145// S -> a [0 1 -1 0]
146146// S -> eps [0 -1 -1 0]
147147void init_grammar_aS () {
148- LAGraph_rule_WCNF * rules = NULL ;
149- LAGraph_Calloc ((void * * )& rules , 3 , sizeof (LAGraph_rule_WCNF ), msg );
148+ LAGraph_rule_EWCNF * rules = NULL ;
149+ LAGraph_Calloc ((void * * )& rules , 3 , sizeof (LAGraph_rule_EWCNF ), msg );
150150
151- rules [0 ] = (LAGraph_rule_WCNF ){0 , 0 , 0 , 0 };
152- rules [1 ] = (LAGraph_rule_WCNF ){0 , 1 , -1 , 0 };
153- rules [2 ] = (LAGraph_rule_WCNF ){0 , -1 , -1 , 0 };
151+ rules [0 ] = (LAGraph_rule_EWCNF ){0 , 0 , 0 , 0 };
152+ rules [1 ] = (LAGraph_rule_EWCNF ){0 , 1 , -1 , 0 };
153+ rules [2 ] = (LAGraph_rule_EWCNF ){0 , -1 , -1 , 0 };
154154
155155 grammar = (grammar_t ){
156156 .nonterms_count = 1 , .terms_count = 1 , .rules_count = 3 , .rules = rules };
@@ -188,35 +188,35 @@ void init_grammar_aS() {
188188// S23 -> b [23 26 -1 0]
189189// S24 -> b [24 26 -1 0]
190190void init_grammar_complex () {
191- LAGraph_rule_WCNF * rules = NULL ;
192- LAGraph_Calloc ((void * * )& rules , 26 , sizeof (LAGraph_rule_WCNF ), msg );
193-
194- rules [0 ] = (LAGraph_rule_WCNF ){0 , 1 , 2 , 0 };
195- rules [1 ] = (LAGraph_rule_WCNF ){0 , 15 , 16 , 0 };
196- rules [2 ] = (LAGraph_rule_WCNF ){1 , 3 , 4 , 0 };
197- rules [3 ] = (LAGraph_rule_WCNF ){2 , 5 , 6 , 0 };
198- rules [4 ] = (LAGraph_rule_WCNF ){3 , 7 , 8 , 0 };
199- rules [5 ] = (LAGraph_rule_WCNF ){4 , 9 , 10 , 0 };
200- rules [6 ] = (LAGraph_rule_WCNF ){5 , 11 , 12 , 0 };
201- rules [7 ] = (LAGraph_rule_WCNF ){6 , 13 , 14 , 0 };
202- rules [8 ] = (LAGraph_rule_WCNF ){16 , 17 , 18 , 0 };
203- rules [9 ] = (LAGraph_rule_WCNF ){17 , 19 , 20 , 0 };
204- rules [10 ] = (LAGraph_rule_WCNF ){18 , 21 , 22 , 0 };
205- rules [11 ] = (LAGraph_rule_WCNF ){22 , 23 , 24 , 0 };
206- rules [12 ] = (LAGraph_rule_WCNF ){7 , 25 , -1 , 0 };
207- rules [13 ] = (LAGraph_rule_WCNF ){8 , 25 , -1 , 0 };
208- rules [14 ] = (LAGraph_rule_WCNF ){9 , 25 , -1 , 0 };
209- rules [15 ] = (LAGraph_rule_WCNF ){10 , 25 , -1 , 0 };
210- rules [16 ] = (LAGraph_rule_WCNF ){11 , 26 , -1 , 0 };
211- rules [17 ] = (LAGraph_rule_WCNF ){12 , 26 , -1 , 0 };
212- rules [18 ] = (LAGraph_rule_WCNF ){13 , 26 , -1 , 0 };
213- rules [19 ] = (LAGraph_rule_WCNF ){14 , 26 , -1 , 0 };
214- rules [20 ] = (LAGraph_rule_WCNF ){15 , 25 , -1 , 0 };
215- rules [21 ] = (LAGraph_rule_WCNF ){19 , 25 , -1 , 0 };
216- rules [22 ] = (LAGraph_rule_WCNF ){20 , 25 , -1 , 0 };
217- rules [23 ] = (LAGraph_rule_WCNF ){21 , 26 , -1 , 0 };
218- rules [24 ] = (LAGraph_rule_WCNF ){23 , 26 , -1 , 0 };
219- rules [25 ] = (LAGraph_rule_WCNF ){24 , 26 , -1 , 0 };
191+ LAGraph_rule_EWCNF * rules = NULL ;
192+ LAGraph_Calloc ((void * * )& rules , 26 , sizeof (LAGraph_rule_EWCNF ), msg );
193+
194+ rules [0 ] = (LAGraph_rule_EWCNF ){0 , 1 , 2 , 0 , 0 };
195+ rules [1 ] = (LAGraph_rule_EWCNF ){0 , 15 , 16 , 0 , 0 };
196+ rules [2 ] = (LAGraph_rule_EWCNF ){1 , 3 , 4 , 0 , 0 };
197+ rules [3 ] = (LAGraph_rule_EWCNF ){2 , 5 , 6 , 0 , 0 };
198+ rules [4 ] = (LAGraph_rule_EWCNF ){3 , 7 , 8 , 0 , 0 };
199+ rules [5 ] = (LAGraph_rule_EWCNF ){4 , 9 , 10 , 0 , 0 };
200+ rules [6 ] = (LAGraph_rule_EWCNF ){5 , 11 , 12 , 0 , 0 };
201+ rules [7 ] = (LAGraph_rule_EWCNF ){6 , 13 , 14 , 0 , 0 };
202+ rules [8 ] = (LAGraph_rule_EWCNF ){16 , 17 , 18 , 0 , 0 };
203+ rules [9 ] = (LAGraph_rule_EWCNF ){17 , 19 , 20 , 0 , 0 };
204+ rules [10 ] = (LAGraph_rule_EWCNF ){18 , 21 , 22 , 0 , 0 };
205+ rules [11 ] = (LAGraph_rule_EWCNF ){22 , 23 , 24 , 0 , 0 };
206+ rules [12 ] = (LAGraph_rule_EWCNF ){7 , 25 , -1 , 0 , 0 };
207+ rules [13 ] = (LAGraph_rule_EWCNF ){8 , 25 , -1 , 0 , 0 };
208+ rules [14 ] = (LAGraph_rule_EWCNF ){9 , 25 , -1 , 0 , 0 };
209+ rules [15 ] = (LAGraph_rule_EWCNF ){10 , 25 , -1 , 0 , 0 };
210+ rules [16 ] = (LAGraph_rule_EWCNF ){11 , 26 , -1 , 0 , 0 };
211+ rules [17 ] = (LAGraph_rule_EWCNF ){12 , 26 , -1 , 0 , 0 };
212+ rules [18 ] = (LAGraph_rule_EWCNF ){13 , 26 , -1 , 0 , 0 };
213+ rules [19 ] = (LAGraph_rule_EWCNF ){14 , 26 , -1 , 0 , 0 };
214+ rules [20 ] = (LAGraph_rule_EWCNF ){15 , 25 , -1 , 0 , 0 };
215+ rules [21 ] = (LAGraph_rule_EWCNF ){19 , 25 , -1 , 0 , 0 };
216+ rules [22 ] = (LAGraph_rule_EWCNF ){20 , 25 , -1 , 0 , 0 };
217+ rules [23 ] = (LAGraph_rule_EWCNF ){21 , 26 , -1 , 0 , 0 };
218+ rules [24 ] = (LAGraph_rule_EWCNF ){23 , 26 , -1 , 0 , 0 };
219+ rules [25 ] = (LAGraph_rule_EWCNF ){24 , 26 , -1 , 0 , 0 };
220220
221221 grammar = (grammar_t ){
222222 .nonterms_count = 25 , .terms_count = 2 , .rules_count = 26 , .rules = rules };
@@ -663,27 +663,27 @@ void test_CFL_reachability_invalid_rules(void) {
663663
664664 // Rule [Variable -> _ B]
665665 grammar .rules [0 ] =
666- (LAGraph_rule_WCNF ){.nonterm = 0 , .prod_A = -1 , .prod_B = 1 , .index = 0 };
666+ (LAGraph_rule_EWCNF ){.nonterm = 0 , .prod_A = -1 , .prod_B = 1 , .indexed_count = 0 };
667667 check_error (GrB_INVALID_VALUE , 0 );
668668
669669 // Rule [_ -> A B]
670670 grammar .rules [0 ] =
671- (LAGraph_rule_WCNF ){.nonterm = -1 , .prod_A = 1 , .prod_B = 2 , .index = 0 };
671+ (LAGraph_rule_EWCNF ){.nonterm = -1 , .prod_A = 1 , .prod_B = 2 , .indexed_count = 0 };
672672 check_error (GrB_INVALID_VALUE , 0 );
673673
674674 // Rule [C -> A B], where C >= nonterms_count
675675 grammar .rules [0 ] =
676- (LAGraph_rule_WCNF ){.nonterm = 10 , .prod_A = 1 , .prod_B = 2 , .index = 0 };
676+ (LAGraph_rule_EWCNF ){.nonterm = 10 , .prod_A = 1 , .prod_B = 2 , .indexed_count = 0 };
677677 check_error (GrB_INVALID_VALUE , 0 );
678678
679679 // Rule [S -> A B], where A >= nonterms_count
680680 grammar .rules [0 ] =
681- (LAGraph_rule_WCNF ){.nonterm = 0 , .prod_A = 10 , .prod_B = 2 , .index = 0 };
681+ (LAGraph_rule_EWCNF ){.nonterm = 0 , .prod_A = 10 , .prod_B = 2 , .indexed_count = 0 };
682682 check_error (GrB_INVALID_VALUE , 0 );
683683
684684 // Rule [C -> t], where t >= terms_count
685- grammar .rules [0 ] =
686- ( LAGraph_rule_WCNF ){ .nonterm = 0 , .prod_A = 10 , .prod_B = -1 , .index = 0 };
685+ grammar .rules [0 ] = ( LAGraph_rule_EWCNF ){
686+ .nonterm = 0 , .prod_A = 10 , .prod_B = -1 , .indexed_count = 0 };
687687 check_error (GrB_INVALID_VALUE , 0 );
688688
689689 free_workspace ();
0 commit comments