Minor fixes for last change

* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6: Adapt to added Mercury support.

* lib-src/etags.c (find_entries, test_objc_is_mercury):
* etc/NEWS: Fix punctuation and typos in last change.
This commit is contained in:
Eli Zaretskii 2021-06-06 12:44:49 +03:00
parent 5a8a5a990a
commit 6ef5760b10
8 changed files with 891 additions and 17 deletions

View file

@ -112,11 +112,15 @@ filters.
* Changes in Emacs 28.1
+++
** Etags support for the Mercury programming language (https://mercurylang.org).
** Etags now supports the Mercury programming language.
See https://mercurylang.org.
+++
** Etags command line option --declarations now has Mercury-specific behavior.
All Mercury declarations are tagged by default.
For compatibility with Prolog etags support, predicates and functions appearing
first in clauses will also be tagged if etags is run with '--declarations'.
All Mercury declarations are tagged by default. However, for
compatibility with 'etags' support for Prolog, predicates and
functions appearing first in clauses will also be tagged if 'etags' is
invoked with the '--declarations' command-line option.
+++
** New command 'font-lock-update', bound to 'C-x x f'.

View file

@ -1810,7 +1810,7 @@ find_entries (FILE *inf)
{
lang = get_language_from_filename (curfdp->infname, true);
/* Disambiguate file names between Objc and Mercury */
/* Disambiguate file names between Objc and Mercury. */
if (lang != NULL && strcmp (lang->name, "objc") == 0)
test_objc_is_mercury (curfdp->infname, &lang);
@ -6105,7 +6105,7 @@ prolog_atom (char *s, size_t pos)
/*
* Support for Mercury
*
* Assumes that the declarationa starts at column 0.
* Assumes that the declarations start at column 0.
* Original code by Sunichirou Sugou (1989) for Prolog.
* Rewritten by Anders Lindgren (1996) for Prolog.
* Adapted by Fabrice Nicol (2021) for Mercury.
@ -6121,11 +6121,11 @@ static bool is_mercury_quantifier = false;
static bool is_mercury_declaration = false;
/*
* Objective-C and Mercury have identical file extension .m
* Objective-C and Mercury have identical file extension .m.
* To disambiguate between Objective C and Mercury, parse file
* with the following heuristics hook:
* - if line starts with :- choose Mercury unconditionally,
* - if line starts with #, @, choose Objective-C,
* - if line starts with :-, choose Mercury unconditionally;
* - if line starts with #, @, choose Objective-C;
* - otherwise compute the following ratio:
*
* r = (number of lines with :-
@ -6137,12 +6137,12 @@ static bool is_mercury_declaration = false;
*
* If r > mercury_heuristics_ratio, choose Mercury.
* Experimental tests show that a possibly optimal default value for
* this floor value is around 0.5. This is the default value for
* this floor value is around 0.5. This is the default value for
* MERCURY_HEURISTICS_RATIO, defined in the first lines of this file.
* The closer r to 0.5, the closer the source code to pure Prolog.
* The closer r is to 0.5, the closer the source code to pure Prolog.
* Idiomatic Mercury is scored either with r = 1.0 or higher.
* Objective-C is scored with r = 0.0. When this fails, the r-score never
* rose above 0.1 in Objective-C tests.
* Objective-C is scored with r = 0.0. When this fails, the r-score
* never rose above 0.1 in Objective-C tests.
*/
static void
@ -6183,7 +6183,7 @@ test_objc_is_mercury (char *this_file, language **lang)
found_dot = ! commented_line;
only_space_before = false;
break;
case '%': /* More frequent in Mercury. May be modulo in Obj.-C. */
case '%': /* More frequent in Mercury. May be modulo in Obj.-C. */
if (! commented_line)
{
++percentage_signs;
@ -6228,7 +6228,7 @@ test_objc_is_mercury (char *this_file, language **lang)
}
else
{
/* p :- q. Frequent in Mercury.
/* p :- q. Frequent in Mercury.
Rare or in quoted exprs in Obj.-C. */
if (c == '-' && ! commented_line)
++rule_signs;
@ -6253,7 +6253,7 @@ test_objc_is_mercury (char *this_file, language **lang)
}
}
/* Fallback heuristic test. Not failsafe but errless in pratice. */
/* Fallback heuristic test. Not failsafe but errless in pratice. */
ratio = ((float) rule_signs + percentage_signs + mercury_dots) / lines;
out:
@ -6262,7 +6262,7 @@ test_objc_is_mercury (char *this_file, language **lang)
if (ratio > mercury_heuristics_ratio)
{
/* Change the language from Objective C to Mercury. */
/* Change the language from Objective-C to Mercury. */
static language lang0 = { "mercury", Mercury_help, Mercury_functions,
Mercury_suffixes };
*lang = &lang0;

View file

@ -3881,6 +3881,122 @@ Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
\global\def={=3307,107500
\def\normalbackslash{\normalbackslash3321,107882
merc-src/accumulator.m,4275
:- module transform_hlds.accumulator145,5333
:- import_module hlds148,5386
:- import_module hlds.hlds_module149,5409
:- import_module hlds.hlds_pred150,5444
:- import_module univ152,5478
:- pred accu_transform_proc(159,5793
:- import_module hlds.assertion168,6135
:- import_module hlds.goal_util169,6168
:- import_module hlds.hlds_error_util170,6201
:- import_module hlds.hlds_goal171,6240
:- import_module hlds.hlds_out172,6273
:- import_module hlds.hlds_out.hlds_out_util173,6305
:- import_module hlds.hlds_promise174,6351
:- import_module hlds.instmap175,6387
:- import_module hlds.pred_table176,6418
:- import_module hlds.quantification177,6452
:- import_module hlds.status178,6490
:- import_module hlds.vartypes179,6520
:- import_module libs180,6552
:- import_module libs.globals181,6575
:- import_module libs.optimization_options182,6606
:- import_module libs.options183,6650
:- import_module mdbcomp184,6681
:- import_module mdbcomp.sym_name185,6707
:- import_module parse_tree186,6742
:- import_module parse_tree.error_util187,6771
:- import_module parse_tree.prog_data188,6811
:- import_module parse_tree.prog_mode189,6850
:- import_module parse_tree.prog_util190,6889
:- import_module parse_tree.set_of_var191,6928
:- import_module transform_hlds.goal_store192,6968
:- import_module assoc_list194,7013
:- import_module bool195,7042
:- import_module int196,7065
:- import_module io197,7087
:- import_module list198,7108
:- import_module map199,7131
:- import_module maybe200,7153
:- import_module pair201,7177
:- import_module require202,7200
:- import_module set203,7226
:- import_module solutions204,7248
:- import_module string205,7276
:- import_module term206,7301
:- import_module varset207,7324
:- type top_level213,7499
:- type accu_goal_id225,7900
:- type accu_case228,7964
:- type accu_goal_store234,8091
:- type accu_subst238,8216
:- type accu_warning240,8264
:- pred generate_warnings(334,12550
:- pred generate_warning(342,12895
:- pred should_attempt_accu_transform(365,13886
:- pred should_attempt_accu_transform_2(398,15406
:- pred accu_standardize(440,17390
:- pred identify_goal_type(465,18169
:- pred is_recursive_case(549,21175
:- type store_info560,21713
:- func initialize_goal_store(570,22060
:- pred accu_store(580,22421
:- pred identify_recursive_calls(601,23288
:- pred identify_out_and_out_prime(626,24396
:- type accu_sets676,26425
:- pred accu_stage1(689,26977
:- pred accu_stage1_2(727,28347
:- pred accu_sets_init(781,30557
:- func set_upto(796,30984
:- pred accu_before(812,31498
:- pred accu_assoc(835,32477
:- pred accu_construct(862,33712
:- pred accu_construct_assoc(896,35307
:- pred accu_update(938,37069
:- pred member_lessthan_goalid(964,38219
:- type accu_assoc975,38652
:- pred accu_is_associative(986,39138
:- pred associativity_assertion(1014,40263
:- pred commutativity_assertion(1037,41242
:- pred accu_is_update(1057,41952
:- pred is_associative_construction(1078,42802
:- type accu_substs1095,43480
:- type accu_base1103,43744
:- pred accu_stage2(1124,44605
:- pred accu_substs_init(1179,46957
:- pred acc_var_subst_init(1194,47573
:- pred create_new_var(1207,48147
:- pred accu_process_assoc_set(1223,48862
:- pred accu_has_heuristic(1297,52081
:- pred accu_heuristic(1304,52336
:- pred accu_process_update_set(1318,52906
:- pred accu_divide_base_case(1380,55844
:- pred accu_related(1412,57146
:- pred lookup_call(1449,58601
:- pred accu_stage3(1470,59432
:- pred acc_proc_info(1508,61326
:- pred acc_pred_info(1556,63449
:- pred accu_create_goal(1600,65285
:- func create_acc_call(1621,66400
:- pred create_orig_goal(1634,66987
:- pred create_acc_goal(1662,68157
:- func create_new_orig_recursive_goals(1709,70225
:- func create_new_recursive_goals(1723,70918
:- func create_new_base_goals(1738,71717
:- pred acc_unification(1749,72156
:- pred accu_top_level(1766,72896
:- pred update_accumulator_pred(1856,76290
:- func accu_rename(1876,77253
:- func base_case_ids(1889,77784
:- func base_case_ids_set(1898,78048
:- func accu_goal_list(1905,78269
:- pred calculate_goal_info(1916,78680
:- func chain_subst(1932,79319
:- pred chain_subst_2(1938,79482
:- end_module transform_hlds.accumulator1953,79939
c-src/c.c,76
T f(1,0
}T i;2,14

View file

@ -4454,6 +4454,180 @@ Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
\global\def={=3307,107500
\def\normalbackslash{\normalbackslash3321,107882
merc-src/accumulator.m,5996
:- module transform_hlds.accumulator145,5333
:- import_module hlds148,5386
:- import_module hlds.hlds_module149,5409
:- import_module hlds.hlds_pred150,5444
:- import_module univ152,5478
:- pred accu_transform_proc(159,5793
:- import_module hlds.assertion168,6135
:- import_module hlds.goal_util169,6168
:- import_module hlds.hlds_error_util170,6201
:- import_module hlds.hlds_goal171,6240
:- import_module hlds.hlds_out172,6273
:- import_module hlds.hlds_out.hlds_out_util173,6305
:- import_module hlds.hlds_promise174,6351
:- import_module hlds.instmap175,6387
:- import_module hlds.pred_table176,6418
:- import_module hlds.quantification177,6452
:- import_module hlds.status178,6490
:- import_module hlds.vartypes179,6520
:- import_module libs180,6552
:- import_module libs.globals181,6575
:- import_module libs.optimization_options182,6606
:- import_module libs.options183,6650
:- import_module mdbcomp184,6681
:- import_module mdbcomp.sym_name185,6707
:- import_module parse_tree186,6742
:- import_module parse_tree.error_util187,6771
:- import_module parse_tree.prog_data188,6811
:- import_module parse_tree.prog_mode189,6850
:- import_module parse_tree.prog_util190,6889
:- import_module parse_tree.set_of_var191,6928
:- import_module transform_hlds.goal_store192,6968
:- import_module assoc_list194,7013
:- import_module bool195,7042
:- import_module int196,7065
:- import_module io197,7087
:- import_module list198,7108
:- import_module map199,7131
:- import_module maybe200,7153
:- import_module pair201,7177
:- import_module require202,7200
:- import_module set203,7226
:- import_module solutions204,7248
:- import_module string205,7276
:- import_module term206,7301
:- import_module varset207,7324
:- type top_level213,7499
:- type accu_goal_id225,7900
:- type accu_case228,7964
:- type accu_goal_store234,8091
:- type accu_subst238,8216
:- type accu_warning240,8264
accu_transform_proc(247,8578
:- pred generate_warnings(334,12550
generate_warnings(337,12669
:- pred generate_warning(342,12895
generate_warning(345,13001
:- pred should_attempt_accu_transform(365,13886
should_attempt_accu_transform(370,14123
:- pred should_attempt_accu_transform_2(398,15406
should_attempt_accu_transform_2(405,15763
:- pred accu_standardize(440,17390
accu_standardize(442,17455
:- pred identify_goal_type(465,18169
identify_goal_type(469,18359
:- pred is_recursive_case(549,21175
is_recursive_case(551,21253
:- type store_info560,21713
:- func initialize_goal_store(570,22060
initialize_goal_store(573,22166
:- pred accu_store(580,22421
accu_store(584,22576
:- pred identify_recursive_calls(601,23288
identify_recursive_calls(604,23406
:- pred identify_out_and_out_prime(626,24396
identify_out_and_out_prime(631,24631
:- type accu_sets676,26425
:- pred accu_stage1(689,26977
accu_stage1(693,27155
:- pred accu_stage1_2(727,28347
accu_stage1_2(731,28515
:- pred accu_sets_init(781,30557
accu_sets_init(783,30605
:- func set_upto(796,30984
set_upto(798,31039
:- pred accu_before(812,31498
accu_before(815,31639
:- pred accu_assoc(835,32477
accu_assoc(838,32617
:- pred accu_construct(862,33712
accu_construct(865,33856
:- pred accu_construct_assoc(896,35307
accu_construct_assoc(899,35457
:- pred accu_update(938,37069
accu_update(941,37210
:- pred member_lessthan_goalid(964,38219
member_lessthan_goalid(967,38342
:- type accu_assoc975,38652
:- pred accu_is_associative(986,39138
accu_is_associative(989,39250
:- pred associativity_assertion(1014,40263
associativity_assertion(1017,40404
:- pred commutativity_assertion(1037,41242
commutativity_assertion(1040,41369
:- pred accu_is_update(1057,41952
accu_is_update(1060,42066
:- pred is_associative_construction(1078,42802
is_associative_construction(1081,42898
:- type accu_substs1095,43480
:- type accu_base1103,43744
:- pred accu_stage2(1124,44605
accu_stage2(1131,44946
:- pred accu_substs_init(1179,46957
accu_substs_init(1182,47097
:- pred acc_var_subst_init(1194,47573
acc_var_subst_init(1198,47718
:- pred create_new_var(1207,48147
create_new_var(1210,48288
:- pred accu_process_assoc_set(1223,48862
accu_process_assoc_set(1229,49150
:- pred accu_has_heuristic(1297,52081
accu_has_heuristic(1299,52161
:- pred accu_heuristic(1304,52336
accu_heuristic(1307,52457
:- pred accu_process_update_set(1318,52906
accu_process_update_set(1325,53221
:- pred accu_divide_base_case(1380,55844
accu_divide_base_case(1385,56059
:- pred accu_related(1412,57146
accu_related(1415,57270
:- pred lookup_call(1449,58601
lookup_call(1452,58715
:- pred accu_stage3(1470,59432
accu_stage3(1477,59826
:- pred acc_proc_info(1508,61326
acc_proc_info(1512,61485
:- pred acc_pred_info(1556,63449
acc_pred_info(1559,63597
:- pred accu_create_goal(1600,65285
accu_create_goal(1607,65628
:- func create_acc_call(1621,66400
create_acc_call(1625,66569
:- pred create_orig_goal(1634,66987
create_orig_goal(1638,67176
:- pred create_acc_goal(1662,68157
create_acc_goal(1667,68380
:- func create_new_orig_recursive_goals(1709,70225
create_new_orig_recursive_goals(1712,70368
:- func create_new_recursive_goals(1723,70918
create_new_recursive_goals(1727,71108
:- func create_new_base_goals(1738,71717
create_new_base_goals(1741,71831
:- pred acc_unification(1749,72156
acc_unification(1751,72225
:- pred accu_top_level(1766,72896
accu_top_level(1770,73058
:- pred update_accumulator_pred(1856,76290
update_accumulator_pred(1859,76411
:- func accu_rename(1876,77253
accu_rename(1879,77363
:- func base_case_ids(1889,77784
base_case_ids(1891,77846
:- func base_case_ids_set(1898,78048
base_case_ids_set(1900,78113
:- func accu_goal_list(1905,78269
accu_goal_list(1907,78349
:- pred calculate_goal_info(1916,78680
calculate_goal_info(1918,78753
:- func chain_subst(1932,79319
chain_subst(1934,79378
:- pred chain_subst_2(1938,79482
chain_subst_2(1941,79576
:- end_module transform_hlds.accumulator1953,79939
c-src/c.c,76
T f(1,0
}T i;2,14

View file

@ -4288,6 +4288,122 @@ Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
\global\def={=3307,107500
\def\normalbackslash{\normalbackslash3321,107882
merc-src/accumulator.m,4275
:- module transform_hlds.accumulator145,5333
:- import_module hlds148,5386
:- import_module hlds.hlds_module149,5409
:- import_module hlds.hlds_pred150,5444
:- import_module univ152,5478
:- pred accu_transform_proc(159,5793
:- import_module hlds.assertion168,6135
:- import_module hlds.goal_util169,6168
:- import_module hlds.hlds_error_util170,6201
:- import_module hlds.hlds_goal171,6240
:- import_module hlds.hlds_out172,6273
:- import_module hlds.hlds_out.hlds_out_util173,6305
:- import_module hlds.hlds_promise174,6351
:- import_module hlds.instmap175,6387
:- import_module hlds.pred_table176,6418
:- import_module hlds.quantification177,6452
:- import_module hlds.status178,6490
:- import_module hlds.vartypes179,6520
:- import_module libs180,6552
:- import_module libs.globals181,6575
:- import_module libs.optimization_options182,6606
:- import_module libs.options183,6650
:- import_module mdbcomp184,6681
:- import_module mdbcomp.sym_name185,6707
:- import_module parse_tree186,6742
:- import_module parse_tree.error_util187,6771
:- import_module parse_tree.prog_data188,6811
:- import_module parse_tree.prog_mode189,6850
:- import_module parse_tree.prog_util190,6889
:- import_module parse_tree.set_of_var191,6928
:- import_module transform_hlds.goal_store192,6968
:- import_module assoc_list194,7013
:- import_module bool195,7042
:- import_module int196,7065
:- import_module io197,7087
:- import_module list198,7108
:- import_module map199,7131
:- import_module maybe200,7153
:- import_module pair201,7177
:- import_module require202,7200
:- import_module set203,7226
:- import_module solutions204,7248
:- import_module string205,7276
:- import_module term206,7301
:- import_module varset207,7324
:- type top_level213,7499
:- type accu_goal_id225,7900
:- type accu_case228,7964
:- type accu_goal_store234,8091
:- type accu_subst238,8216
:- type accu_warning240,8264
:- pred generate_warnings(334,12550
:- pred generate_warning(342,12895
:- pred should_attempt_accu_transform(365,13886
:- pred should_attempt_accu_transform_2(398,15406
:- pred accu_standardize(440,17390
:- pred identify_goal_type(465,18169
:- pred is_recursive_case(549,21175
:- type store_info560,21713
:- func initialize_goal_store(570,22060
:- pred accu_store(580,22421
:- pred identify_recursive_calls(601,23288
:- pred identify_out_and_out_prime(626,24396
:- type accu_sets676,26425
:- pred accu_stage1(689,26977
:- pred accu_stage1_2(727,28347
:- pred accu_sets_init(781,30557
:- func set_upto(796,30984
:- pred accu_before(812,31498
:- pred accu_assoc(835,32477
:- pred accu_construct(862,33712
:- pred accu_construct_assoc(896,35307
:- pred accu_update(938,37069
:- pred member_lessthan_goalid(964,38219
:- type accu_assoc975,38652
:- pred accu_is_associative(986,39138
:- pred associativity_assertion(1014,40263
:- pred commutativity_assertion(1037,41242
:- pred accu_is_update(1057,41952
:- pred is_associative_construction(1078,42802
:- type accu_substs1095,43480
:- type accu_base1103,43744
:- pred accu_stage2(1124,44605
:- pred accu_substs_init(1179,46957
:- pred acc_var_subst_init(1194,47573
:- pred create_new_var(1207,48147
:- pred accu_process_assoc_set(1223,48862
:- pred accu_has_heuristic(1297,52081
:- pred accu_heuristic(1304,52336
:- pred accu_process_update_set(1318,52906
:- pred accu_divide_base_case(1380,55844
:- pred accu_related(1412,57146
:- pred lookup_call(1449,58601
:- pred accu_stage3(1470,59432
:- pred acc_proc_info(1508,61326
:- pred acc_pred_info(1556,63449
:- pred accu_create_goal(1600,65285
:- func create_acc_call(1621,66400
:- pred create_orig_goal(1634,66987
:- pred create_acc_goal(1662,68157
:- func create_new_orig_recursive_goals(1709,70225
:- func create_new_recursive_goals(1723,70918
:- func create_new_base_goals(1738,71717
:- pred acc_unification(1749,72156
:- pred accu_top_level(1766,72896
:- pred update_accumulator_pred(1856,76290
:- func accu_rename(1876,77253
:- func base_case_ids(1889,77784
:- func base_case_ids_set(1898,78048
:- func accu_goal_list(1905,78269
:- pred calculate_goal_info(1916,78680
:- func chain_subst(1932,79319
:- pred chain_subst_2(1938,79482
:- end_module transform_hlds.accumulator1953,79939
c-src/c.c,76
T f(1,0
}T i;2,14

View file

@ -4043,6 +4043,122 @@ Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
\global\def={=3307,107500
\def\normalbackslash{\normalbackslash3321,107882
merc-src/accumulator.m,4275
:- module transform_hlds.accumulator145,5333
:- import_module hlds148,5386
:- import_module hlds.hlds_module149,5409
:- import_module hlds.hlds_pred150,5444
:- import_module univ152,5478
:- pred accu_transform_proc(159,5793
:- import_module hlds.assertion168,6135
:- import_module hlds.goal_util169,6168
:- import_module hlds.hlds_error_util170,6201
:- import_module hlds.hlds_goal171,6240
:- import_module hlds.hlds_out172,6273
:- import_module hlds.hlds_out.hlds_out_util173,6305
:- import_module hlds.hlds_promise174,6351
:- import_module hlds.instmap175,6387
:- import_module hlds.pred_table176,6418
:- import_module hlds.quantification177,6452
:- import_module hlds.status178,6490
:- import_module hlds.vartypes179,6520
:- import_module libs180,6552
:- import_module libs.globals181,6575
:- import_module libs.optimization_options182,6606
:- import_module libs.options183,6650
:- import_module mdbcomp184,6681
:- import_module mdbcomp.sym_name185,6707
:- import_module parse_tree186,6742
:- import_module parse_tree.error_util187,6771
:- import_module parse_tree.prog_data188,6811
:- import_module parse_tree.prog_mode189,6850
:- import_module parse_tree.prog_util190,6889
:- import_module parse_tree.set_of_var191,6928
:- import_module transform_hlds.goal_store192,6968
:- import_module assoc_list194,7013
:- import_module bool195,7042
:- import_module int196,7065
:- import_module io197,7087
:- import_module list198,7108
:- import_module map199,7131
:- import_module maybe200,7153
:- import_module pair201,7177
:- import_module require202,7200
:- import_module set203,7226
:- import_module solutions204,7248
:- import_module string205,7276
:- import_module term206,7301
:- import_module varset207,7324
:- type top_level213,7499
:- type accu_goal_id225,7900
:- type accu_case228,7964
:- type accu_goal_store234,8091
:- type accu_subst238,8216
:- type accu_warning240,8264
:- pred generate_warnings(334,12550
:- pred generate_warning(342,12895
:- pred should_attempt_accu_transform(365,13886
:- pred should_attempt_accu_transform_2(398,15406
:- pred accu_standardize(440,17390
:- pred identify_goal_type(465,18169
:- pred is_recursive_case(549,21175
:- type store_info560,21713
:- func initialize_goal_store(570,22060
:- pred accu_store(580,22421
:- pred identify_recursive_calls(601,23288
:- pred identify_out_and_out_prime(626,24396
:- type accu_sets676,26425
:- pred accu_stage1(689,26977
:- pred accu_stage1_2(727,28347
:- pred accu_sets_init(781,30557
:- func set_upto(796,30984
:- pred accu_before(812,31498
:- pred accu_assoc(835,32477
:- pred accu_construct(862,33712
:- pred accu_construct_assoc(896,35307
:- pred accu_update(938,37069
:- pred member_lessthan_goalid(964,38219
:- type accu_assoc975,38652
:- pred accu_is_associative(986,39138
:- pred associativity_assertion(1014,40263
:- pred commutativity_assertion(1037,41242
:- pred accu_is_update(1057,41952
:- pred is_associative_construction(1078,42802
:- type accu_substs1095,43480
:- type accu_base1103,43744
:- pred accu_stage2(1124,44605
:- pred accu_substs_init(1179,46957
:- pred acc_var_subst_init(1194,47573
:- pred create_new_var(1207,48147
:- pred accu_process_assoc_set(1223,48862
:- pred accu_has_heuristic(1297,52081
:- pred accu_heuristic(1304,52336
:- pred accu_process_update_set(1318,52906
:- pred accu_divide_base_case(1380,55844
:- pred accu_related(1412,57146
:- pred lookup_call(1449,58601
:- pred accu_stage3(1470,59432
:- pred acc_proc_info(1508,61326
:- pred acc_pred_info(1556,63449
:- pred accu_create_goal(1600,65285
:- func create_acc_call(1621,66400
:- pred create_orig_goal(1634,66987
:- pred create_acc_goal(1662,68157
:- func create_new_orig_recursive_goals(1709,70225
:- func create_new_recursive_goals(1723,70918
:- func create_new_base_goals(1738,71717
:- pred acc_unification(1749,72156
:- pred accu_top_level(1766,72896
:- pred update_accumulator_pred(1856,76290
:- func accu_rename(1876,77253
:- func base_case_ids(1889,77784
:- func base_case_ids_set(1898,78048
:- func accu_goal_list(1905,78269
:- pred calculate_goal_info(1916,78680
:- func chain_subst(1932,79319
:- pred chain_subst_2(1938,79482
:- end_module transform_hlds.accumulator1953,79939
c-src/c.c,76
T f(1,0
}T i;2,14

View file

@ -5023,6 +5023,180 @@ Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
\global\def={=3307,107500
\def\normalbackslash{\normalbackslash3321,107882
merc-src/accumulator.m,5996
:- module transform_hlds.accumulator145,5333
:- import_module hlds148,5386
:- import_module hlds.hlds_module149,5409
:- import_module hlds.hlds_pred150,5444
:- import_module univ152,5478
:- pred accu_transform_proc(159,5793
:- import_module hlds.assertion168,6135
:- import_module hlds.goal_util169,6168
:- import_module hlds.hlds_error_util170,6201
:- import_module hlds.hlds_goal171,6240
:- import_module hlds.hlds_out172,6273
:- import_module hlds.hlds_out.hlds_out_util173,6305
:- import_module hlds.hlds_promise174,6351
:- import_module hlds.instmap175,6387
:- import_module hlds.pred_table176,6418
:- import_module hlds.quantification177,6452
:- import_module hlds.status178,6490
:- import_module hlds.vartypes179,6520
:- import_module libs180,6552
:- import_module libs.globals181,6575
:- import_module libs.optimization_options182,6606
:- import_module libs.options183,6650
:- import_module mdbcomp184,6681
:- import_module mdbcomp.sym_name185,6707
:- import_module parse_tree186,6742
:- import_module parse_tree.error_util187,6771
:- import_module parse_tree.prog_data188,6811
:- import_module parse_tree.prog_mode189,6850
:- import_module parse_tree.prog_util190,6889
:- import_module parse_tree.set_of_var191,6928
:- import_module transform_hlds.goal_store192,6968
:- import_module assoc_list194,7013
:- import_module bool195,7042
:- import_module int196,7065
:- import_module io197,7087
:- import_module list198,7108
:- import_module map199,7131
:- import_module maybe200,7153
:- import_module pair201,7177
:- import_module require202,7200
:- import_module set203,7226
:- import_module solutions204,7248
:- import_module string205,7276
:- import_module term206,7301
:- import_module varset207,7324
:- type top_level213,7499
:- type accu_goal_id225,7900
:- type accu_case228,7964
:- type accu_goal_store234,8091
:- type accu_subst238,8216
:- type accu_warning240,8264
accu_transform_proc(247,8578
:- pred generate_warnings(334,12550
generate_warnings(337,12669
:- pred generate_warning(342,12895
generate_warning(345,13001
:- pred should_attempt_accu_transform(365,13886
should_attempt_accu_transform(370,14123
:- pred should_attempt_accu_transform_2(398,15406
should_attempt_accu_transform_2(405,15763
:- pred accu_standardize(440,17390
accu_standardize(442,17455
:- pred identify_goal_type(465,18169
identify_goal_type(469,18359
:- pred is_recursive_case(549,21175
is_recursive_case(551,21253
:- type store_info560,21713
:- func initialize_goal_store(570,22060
initialize_goal_store(573,22166
:- pred accu_store(580,22421
accu_store(584,22576
:- pred identify_recursive_calls(601,23288
identify_recursive_calls(604,23406
:- pred identify_out_and_out_prime(626,24396
identify_out_and_out_prime(631,24631
:- type accu_sets676,26425
:- pred accu_stage1(689,26977
accu_stage1(693,27155
:- pred accu_stage1_2(727,28347
accu_stage1_2(731,28515
:- pred accu_sets_init(781,30557
accu_sets_init(783,30605
:- func set_upto(796,30984
set_upto(798,31039
:- pred accu_before(812,31498
accu_before(815,31639
:- pred accu_assoc(835,32477
accu_assoc(838,32617
:- pred accu_construct(862,33712
accu_construct(865,33856
:- pred accu_construct_assoc(896,35307
accu_construct_assoc(899,35457
:- pred accu_update(938,37069
accu_update(941,37210
:- pred member_lessthan_goalid(964,38219
member_lessthan_goalid(967,38342
:- type accu_assoc975,38652
:- pred accu_is_associative(986,39138
accu_is_associative(989,39250
:- pred associativity_assertion(1014,40263
associativity_assertion(1017,40404
:- pred commutativity_assertion(1037,41242
commutativity_assertion(1040,41369
:- pred accu_is_update(1057,41952
accu_is_update(1060,42066
:- pred is_associative_construction(1078,42802
is_associative_construction(1081,42898
:- type accu_substs1095,43480
:- type accu_base1103,43744
:- pred accu_stage2(1124,44605
accu_stage2(1131,44946
:- pred accu_substs_init(1179,46957
accu_substs_init(1182,47097
:- pred acc_var_subst_init(1194,47573
acc_var_subst_init(1198,47718
:- pred create_new_var(1207,48147
create_new_var(1210,48288
:- pred accu_process_assoc_set(1223,48862
accu_process_assoc_set(1229,49150
:- pred accu_has_heuristic(1297,52081
accu_has_heuristic(1299,52161
:- pred accu_heuristic(1304,52336
accu_heuristic(1307,52457
:- pred accu_process_update_set(1318,52906
accu_process_update_set(1325,53221
:- pred accu_divide_base_case(1380,55844
accu_divide_base_case(1385,56059
:- pred accu_related(1412,57146
accu_related(1415,57270
:- pred lookup_call(1449,58601
lookup_call(1452,58715
:- pred accu_stage3(1470,59432
accu_stage3(1477,59826
:- pred acc_proc_info(1508,61326
acc_proc_info(1512,61485
:- pred acc_pred_info(1556,63449
acc_pred_info(1559,63597
:- pred accu_create_goal(1600,65285
accu_create_goal(1607,65628
:- func create_acc_call(1621,66400
create_acc_call(1625,66569
:- pred create_orig_goal(1634,66987
create_orig_goal(1638,67176
:- pred create_acc_goal(1662,68157
create_acc_goal(1667,68380
:- func create_new_orig_recursive_goals(1709,70225
create_new_orig_recursive_goals(1712,70368
:- func create_new_recursive_goals(1723,70918
create_new_recursive_goals(1727,71108
:- func create_new_base_goals(1738,71717
create_new_base_goals(1741,71831
:- pred acc_unification(1749,72156
acc_unification(1751,72225
:- pred accu_top_level(1766,72896
accu_top_level(1770,73058
:- pred update_accumulator_pred(1856,76290
update_accumulator_pred(1859,76411
:- func accu_rename(1876,77253
accu_rename(1879,77363
:- func base_case_ids(1889,77784
base_case_ids(1891,77846
:- func base_case_ids_set(1898,78048
base_case_ids_set(1900,78113
:- func accu_goal_list(1905,78269
accu_goal_list(1907,78349
:- pred calculate_goal_info(1916,78680
calculate_goal_info(1918,78753
:- func chain_subst(1932,79319
chain_subst(1934,79378
:- pred chain_subst_2(1938,79482
chain_subst_2(1941,79576
:- end_module transform_hlds.accumulator1953,79939
c-src/c.c,76
T f(1,0
}T i;2,14

View file

@ -5023,6 +5023,180 @@ Section\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno %
\global\def={=3307,107500
\def\normalbackslash{\normalbackslash3321,107882
merc-src/accumulator.m,5996
:- module transform_hlds.accumulator145,5333
:- import_module hlds148,5386
:- import_module hlds.hlds_module149,5409
:- import_module hlds.hlds_pred150,5444
:- import_module univ152,5478
:- pred accu_transform_proc(159,5793
:- import_module hlds.assertion168,6135
:- import_module hlds.goal_util169,6168
:- import_module hlds.hlds_error_util170,6201
:- import_module hlds.hlds_goal171,6240
:- import_module hlds.hlds_out172,6273
:- import_module hlds.hlds_out.hlds_out_util173,6305
:- import_module hlds.hlds_promise174,6351
:- import_module hlds.instmap175,6387
:- import_module hlds.pred_table176,6418
:- import_module hlds.quantification177,6452
:- import_module hlds.status178,6490
:- import_module hlds.vartypes179,6520
:- import_module libs180,6552
:- import_module libs.globals181,6575
:- import_module libs.optimization_options182,6606
:- import_module libs.options183,6650
:- import_module mdbcomp184,6681
:- import_module mdbcomp.sym_name185,6707
:- import_module parse_tree186,6742
:- import_module parse_tree.error_util187,6771
:- import_module parse_tree.prog_data188,6811
:- import_module parse_tree.prog_mode189,6850
:- import_module parse_tree.prog_util190,6889
:- import_module parse_tree.set_of_var191,6928
:- import_module transform_hlds.goal_store192,6968
:- import_module assoc_list194,7013
:- import_module bool195,7042
:- import_module int196,7065
:- import_module io197,7087
:- import_module list198,7108
:- import_module map199,7131
:- import_module maybe200,7153
:- import_module pair201,7177
:- import_module require202,7200
:- import_module set203,7226
:- import_module solutions204,7248
:- import_module string205,7276
:- import_module term206,7301
:- import_module varset207,7324
:- type top_level213,7499
:- type accu_goal_id225,7900
:- type accu_case228,7964
:- type accu_goal_store234,8091
:- type accu_subst238,8216
:- type accu_warning240,8264
accu_transform_proc(247,8578
:- pred generate_warnings(334,12550
generate_warnings(337,12669
:- pred generate_warning(342,12895
generate_warning(345,13001
:- pred should_attempt_accu_transform(365,13886
should_attempt_accu_transform(370,14123
:- pred should_attempt_accu_transform_2(398,15406
should_attempt_accu_transform_2(405,15763
:- pred accu_standardize(440,17390
accu_standardize(442,17455
:- pred identify_goal_type(465,18169
identify_goal_type(469,18359
:- pred is_recursive_case(549,21175
is_recursive_case(551,21253
:- type store_info560,21713
:- func initialize_goal_store(570,22060
initialize_goal_store(573,22166
:- pred accu_store(580,22421
accu_store(584,22576
:- pred identify_recursive_calls(601,23288
identify_recursive_calls(604,23406
:- pred identify_out_and_out_prime(626,24396
identify_out_and_out_prime(631,24631
:- type accu_sets676,26425
:- pred accu_stage1(689,26977
accu_stage1(693,27155
:- pred accu_stage1_2(727,28347
accu_stage1_2(731,28515
:- pred accu_sets_init(781,30557
accu_sets_init(783,30605
:- func set_upto(796,30984
set_upto(798,31039
:- pred accu_before(812,31498
accu_before(815,31639
:- pred accu_assoc(835,32477
accu_assoc(838,32617
:- pred accu_construct(862,33712
accu_construct(865,33856
:- pred accu_construct_assoc(896,35307
accu_construct_assoc(899,35457
:- pred accu_update(938,37069
accu_update(941,37210
:- pred member_lessthan_goalid(964,38219
member_lessthan_goalid(967,38342
:- type accu_assoc975,38652
:- pred accu_is_associative(986,39138
accu_is_associative(989,39250
:- pred associativity_assertion(1014,40263
associativity_assertion(1017,40404
:- pred commutativity_assertion(1037,41242
commutativity_assertion(1040,41369
:- pred accu_is_update(1057,41952
accu_is_update(1060,42066
:- pred is_associative_construction(1078,42802
is_associative_construction(1081,42898
:- type accu_substs1095,43480
:- type accu_base1103,43744
:- pred accu_stage2(1124,44605
accu_stage2(1131,44946
:- pred accu_substs_init(1179,46957
accu_substs_init(1182,47097
:- pred acc_var_subst_init(1194,47573
acc_var_subst_init(1198,47718
:- pred create_new_var(1207,48147
create_new_var(1210,48288
:- pred accu_process_assoc_set(1223,48862
accu_process_assoc_set(1229,49150
:- pred accu_has_heuristic(1297,52081
accu_has_heuristic(1299,52161
:- pred accu_heuristic(1304,52336
accu_heuristic(1307,52457
:- pred accu_process_update_set(1318,52906
accu_process_update_set(1325,53221
:- pred accu_divide_base_case(1380,55844
accu_divide_base_case(1385,56059
:- pred accu_related(1412,57146
accu_related(1415,57270
:- pred lookup_call(1449,58601
lookup_call(1452,58715
:- pred accu_stage3(1470,59432
accu_stage3(1477,59826
:- pred acc_proc_info(1508,61326
acc_proc_info(1512,61485
:- pred acc_pred_info(1556,63449
acc_pred_info(1559,63597
:- pred accu_create_goal(1600,65285
accu_create_goal(1607,65628
:- func create_acc_call(1621,66400
create_acc_call(1625,66569
:- pred create_orig_goal(1634,66987
create_orig_goal(1638,67176
:- pred create_acc_goal(1662,68157
create_acc_goal(1667,68380
:- func create_new_orig_recursive_goals(1709,70225
create_new_orig_recursive_goals(1712,70368
:- func create_new_recursive_goals(1723,70918
create_new_recursive_goals(1727,71108
:- func create_new_base_goals(1738,71717
create_new_base_goals(1741,71831
:- pred acc_unification(1749,72156
acc_unification(1751,72225
:- pred accu_top_level(1766,72896
accu_top_level(1770,73058
:- pred update_accumulator_pred(1856,76290
update_accumulator_pred(1859,76411
:- func accu_rename(1876,77253
accu_rename(1879,77363
:- func base_case_ids(1889,77784
base_case_ids(1891,77846
:- func base_case_ids_set(1898,78048
base_case_ids_set(1900,78113
:- func accu_goal_list(1905,78269
accu_goal_list(1907,78349
:- pred calculate_goal_info(1916,78680
calculate_goal_info(1918,78753
:- func chain_subst(1932,79319
chain_subst(1934,79378
:- pred chain_subst_2(1938,79482
chain_subst_2(1941,79576
:- end_module transform_hlds.accumulator1953,79939
c-src/c.c,76
T f(1,0
}T i;2,14