Skip to content

Commit 5d5df94

Browse files
authored
Merge pull request #1533 from linas/remove-assert
Remove asserts that generate compiler warnings
2 parents 9580083 + 7f67ba9 commit 5d5df94

File tree

1 file changed

+27
-44
lines changed

1 file changed

+27
-44
lines changed

link-grammar/post-process/post-process.c

+27-44
Original file line numberDiff line numberDiff line change
@@ -380,19 +380,17 @@ apply_contains_none(PP_data *pp_data, Linkage sublinkage, pp_rule *rule)
380380
static bool
381381
apply_contains_one_globally(PP_data *pp_data, Linkage sublinkage, pp_rule *rule)
382382
{
383-
size_t i, j, count;
383+
size_t i;
384384
for (i = 0; i < sublinkage->num_links; i++)
385385
{
386-
assert(sublinkage->link_array[i].lw != SIZE_MAX, "Missing word in link");
387386
if (post_process_match(rule->selector, sublinkage->link_array[i].link_name)) break;
388387
}
389388
if (i == sublinkage->num_links) return true;
390389

391390
/* selector link of rule appears in sentence */
392-
count = 0;
393-
for (j = 0; j < sublinkage->num_links && count == 0; j++)
391+
size_t count = 0;
392+
for (size_t j = 0; j < sublinkage->num_links && count == 0; j++)
394393
{
395-
assert(sublinkage->link_array[j].lw != SIZE_MAX, "Missing word in link");
396394
if (string_in_list(sublinkage->link_array[j].link_name, rule->link_array))
397395
{
398396
count = 1;
@@ -501,47 +499,44 @@ apply_bounded(PP_data *pp_data, Linkage sublinkage, pp_rule *rule)
501499
*/
502500
static void build_graph(Postprocessor *pp, Linkage sublinkage)
503501
{
504-
size_t link;
505-
List_o_links * lol;
506502
PP_data *pp_data = &pp->pp_data;
507503

508504
/* Get more size, if needed */
509505
if (pp_data->wowlen <= pp_data->num_words)
510506
{
511-
size_t newsz;
512507
pp_data->wowlen += pp_data->num_words;
513-
newsz = pp_data->wowlen * sizeof(List_o_links *);
508+
size_t newsz = pp_data->wowlen * sizeof(List_o_links *);
514509
pp_data->word_links = (List_o_links **) realloc(
515510
pp_data->word_links, newsz);
516511
}
517512
memset(pp_data->word_links, 0, pp_data->wowlen * sizeof(List_o_links *));
518513

519-
for (link = 0; link < sublinkage->num_links; link++)
514+
for (size_t link = 0; link < sublinkage->num_links; link++)
520515
{
521-
assert (sublinkage->link_array[link].lw != SIZE_MAX, "Missing word in link");
522516
if (NULL == sublinkage->link_array[link].link_name) continue;
517+
518+
List_o_links * lol = (List_o_links *) malloc(sizeof(List_o_links));
519+
lol->link = link;
520+
lol->word = sublinkage->link_array[link].rw;
521+
523522
if (pp_linkset_match(pp->knowledge->ignore_these_links,
524523
sublinkage->link_array[link].link_name))
525524
{
526-
lol = (List_o_links *) malloc(sizeof(List_o_links));
527525
lol->next = pp_data->links_to_ignore;
528526
pp_data->links_to_ignore = lol;
529-
lol->link = link;
530-
lol->word = sublinkage->link_array[link].rw;
531527
continue;
532528
}
533529

534-
lol = (List_o_links *) malloc(sizeof(List_o_links));
535530
lol->next = pp_data->word_links[sublinkage->link_array[link].lw];
536531
pp_data->word_links[sublinkage->link_array[link].lw] = lol;
537-
lol->link = link;
538-
lol->word = sublinkage->link_array[link].rw;
539532

533+
/* Do it again, for left word */
540534
lol = (List_o_links *) malloc(sizeof(List_o_links));
541-
lol->next = pp_data->word_links[sublinkage->link_array[link].rw];
542-
pp_data->word_links[sublinkage->link_array[link].rw] = lol;
543535
lol->link = link;
544536
lol->word = sublinkage->link_array[link].lw;
537+
538+
lol->next = pp_data->word_links[sublinkage->link_array[link].rw];
539+
pp_data->word_links[sublinkage->link_array[link].rw] = lol;
545540
}
546541
}
547542

@@ -709,17 +704,13 @@ static int domain_compare(const Domain * d1, const Domain * d2)
709704

710705
static void build_domains(Postprocessor *pp, Linkage sublinkage)
711706
{
712-
size_t link, i, d;
713-
const char *s;
714707
PP_data *pp_data = &pp->pp_data;
715-
716708
pp_data->N_domains = 0;
717709

718-
for (link = 0; link<sublinkage->num_links; link++)
710+
for (size_t link = 0; link<sublinkage->num_links; link++)
719711
{
720-
assert (sublinkage->link_array[link].lw != SIZE_MAX, "Missing word in link");
721712
if (NULL == sublinkage->link_array[link].link_name) continue;
722-
s = sublinkage->link_array[link].link_name;
713+
const char *s = sublinkage->link_array[link].link_name;
723714

724715
if (pp_linkset_match(pp->knowledge->ignore_these_links, s)) continue;
725716
if (pp_linkset_match(pp->knowledge->domain_starter_links, s))
@@ -771,9 +762,9 @@ static void build_domains(Postprocessor *pp, Linkage sublinkage)
771762
(int (*)(const void *, const void *)) domain_compare);
772763

773764
/* sanity check: all links in all domains have a legal domain name */
774-
for (d = 0; d < pp_data->N_domains; d++)
765+
for (size_t d = 0; d < pp_data->N_domains; d++)
775766
{
776-
i = find_domain_name(pp, pp_data->domain_array[d].string);
767+
size_t i = find_domain_name(pp, pp_data->domain_array[d].string);
777768
if (i == SIZE_MAX)
778769
prt_error("Error: post_process(): Need an entry for %s in LINK_TYPE_TABLE\n",
779770
pp_data->domain_array[d].string);
@@ -783,14 +774,12 @@ static void build_domains(Postprocessor *pp, Linkage sublinkage)
783774

784775
static void build_domain_forest(PP_data *pp_data, Linkage sublinkage)
785776
{
786-
size_t d, d1, link;
787-
DTreeLeaf * dtl;
788-
789777
if (0 == pp_data->N_domains) return;
790778

791779
pp_data->domain_array[pp_data->N_domains-1].parent = NULL;
792-
for (d=0; d < pp_data->N_domains-1; d++)
780+
for (size_t d=0; d < pp_data->N_domains-1; d++)
793781
{
782+
size_t d1;
794783
for (d1 = d+1; d1 < pp_data->N_domains; d1++)
795784
{
796785
if (contained_in(&pp_data->domain_array[d], &pp_data->domain_array[d1], sublinkage))
@@ -808,19 +797,18 @@ static void build_domain_forest(PP_data *pp_data, Linkage sublinkage)
808797

809798
/* The parent links of domain nodes have been established.
810799
* Now do the leaves. */
811-
for (d = 0; d < pp_data->N_domains; d++)
800+
for (size_t d = 0; d < pp_data->N_domains; d++)
812801
{
813802
pp_data->domain_array[d].child = NULL;
814803
}
815804

816-
for (link=0; link < sublinkage->num_links; link++)
805+
for (size_t link=0; link < sublinkage->num_links; link++)
817806
{
818-
assert (sublinkage->link_array[link].lw != SIZE_MAX, "Missing word in link");
819-
for (d=0; d<pp_data->N_domains; d++)
807+
for (size_t d=0; d<pp_data->N_domains; d++)
820808
{
821809
if (link_in_domain(link, &pp_data->domain_array[d]))
822810
{
823-
dtl = (DTreeLeaf *) malloc(sizeof(DTreeLeaf));
811+
DTreeLeaf * dtl = (DTreeLeaf *) malloc(sizeof(DTreeLeaf));
824812
dtl->link = link;
825813
dtl->parent = &pp_data->domain_array[d];
826814
dtl->next = pp_data->domain_array[d].child;
@@ -834,7 +822,6 @@ static void build_domain_forest(PP_data *pp_data, Linkage sublinkage)
834822
static int
835823
internal_process(Postprocessor *pp, Linkage sublinkage, const char **msg)
836824
{
837-
size_t i;
838825
PP_data *pp_data = &pp->pp_data;
839826

840827
/* quick test: try applying just the relevant global rules */
@@ -843,7 +830,7 @@ internal_process(Postprocessor *pp, Linkage sublinkage, const char **msg)
843830
pp->knowledge->contains_one_rules,
844831
pp->relevant_contains_one_rules, msg))
845832
{
846-
for (i = 0; i < pp_data->wowlen; i++)
833+
for (size_t i = 0; i < pp_data->wowlen; i++)
847834
pp_data->word_links[i] = NULL;
848835
pp_data->N_domains = 0;
849836
return -1;
@@ -1017,8 +1004,6 @@ static void post_process_scan_linkage(Postprocessor *pp, Linkage linkage)
10171004
if (pp == NULL) return;
10181005
for (i = 0; i < linkage->num_links; i++)
10191006
{
1020-
assert(linkage->link_array[i].lw != SIZE_MAX, "Missing word in link");
1021-
10221007
pp_linkset_add(pp->set_of_links_of_sentence,
10231008
linkage->link_array[i].link_name);
10241009
}
@@ -1027,8 +1012,7 @@ static void post_process_scan_linkage(Postprocessor *pp, Linkage linkage)
10271012
static size_t report_rule_use(pp_rule *set)
10281013
{
10291014
size_t cnt = 0;
1030-
size_t i;
1031-
for (i=0; set[i].msg != NULL; i++)
1015+
for (size_t i=0; set[i].msg != NULL; i++)
10321016
{
10331017
err_msg(lg_Debug, "Used: %d rule: %s\n", set[i].use_count, set[i].msg);
10341018
cnt++;
@@ -1038,9 +1022,8 @@ static size_t report_rule_use(pp_rule *set)
10381022

10391023
static size_t report_unused_rule(pp_rule *set)
10401024
{
1041-
size_t i;
10421025
size_t cnt = 0;
1043-
for (i=0; set[i].msg != NULL; i++)
1026+
for (size_t i=0; set[i].msg != NULL; i++)
10441027
{
10451028
if (0 == set[i].use_count)
10461029
{

0 commit comments

Comments
 (0)