* 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'.
{
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);
/*
* 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.
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 :-
*
* 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
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;
}
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;
}
}
- /* 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:
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;
\global\def={\7f=\ 13307,107500
\def\normalbackslash{\7f\normalbackslash\ 13321,107882
\f
+merc-src/accumulator.m,4275
+:- module transform_hlds.accumulator\7f145,5333
+:- import_module hlds\7f148,5386
+:- import_module hlds.hlds_module\7f149,5409
+:- import_module hlds.hlds_pred\7f150,5444
+:- import_module univ\7f152,5478
+:- pred accu_transform_proc(\7f159,5793
+:- import_module hlds.assertion\7f168,6135
+:- import_module hlds.goal_util\7f169,6168
+:- import_module hlds.hlds_error_util\7f170,6201
+:- import_module hlds.hlds_goal\7f171,6240
+:- import_module hlds.hlds_out\7f172,6273
+:- import_module hlds.hlds_out.hlds_out_util\7f173,6305
+:- import_module hlds.hlds_promise\7f174,6351
+:- import_module hlds.instmap\7f175,6387
+:- import_module hlds.pred_table\7f176,6418
+:- import_module hlds.quantification\7f177,6452
+:- import_module hlds.status\7f178,6490
+:- import_module hlds.vartypes\7f179,6520
+:- import_module libs\7f180,6552
+:- import_module libs.globals\7f181,6575
+:- import_module libs.optimization_options\7f182,6606
+:- import_module libs.options\7f183,6650
+:- import_module mdbcomp\7f184,6681
+:- import_module mdbcomp.sym_name\7f185,6707
+:- import_module parse_tree\7f186,6742
+:- import_module parse_tree.error_util\7f187,6771
+:- import_module parse_tree.prog_data\7f188,6811
+:- import_module parse_tree.prog_mode\7f189,6850
+:- import_module parse_tree.prog_util\7f190,6889
+:- import_module parse_tree.set_of_var\7f191,6928
+:- import_module transform_hlds.goal_store\7f192,6968
+:- import_module assoc_list\7f194,7013
+:- import_module bool\7f195,7042
+:- import_module int\7f196,7065
+:- import_module io\7f197,7087
+:- import_module list\7f198,7108
+:- import_module map\7f199,7131
+:- import_module maybe\7f200,7153
+:- import_module pair\7f201,7177
+:- import_module require\7f202,7200
+:- import_module set\7f203,7226
+:- import_module solutions\7f204,7248
+:- import_module string\7f205,7276
+:- import_module term\7f206,7301
+:- import_module varset\7f207,7324
+:- type top_level\7f213,7499
+:- type accu_goal_id\7f225,7900
+:- type accu_case\7f228,7964
+:- type accu_goal_store\7f234,8091
+:- type accu_subst\7f238,8216
+:- type accu_warning\7f240,8264
+:- pred generate_warnings(\7f334,12550
+:- pred generate_warning(\7f342,12895
+:- pred should_attempt_accu_transform(\7f365,13886
+:- pred should_attempt_accu_transform_2(\7f398,15406
+:- pred accu_standardize(\7f440,17390
+:- pred identify_goal_type(\7f465,18169
+:- pred is_recursive_case(\7f549,21175
+:- type store_info\7f560,21713
+:- func initialize_goal_store(\7f570,22060
+:- pred accu_store(\7f580,22421
+:- pred identify_recursive_calls(\7f601,23288
+:- pred identify_out_and_out_prime(\7f626,24396
+:- type accu_sets\7f676,26425
+:- pred accu_stage1(\7f689,26977
+:- pred accu_stage1_2(\7f727,28347
+:- pred accu_sets_init(\7f781,30557
+:- func set_upto(\7f796,30984
+:- pred accu_before(\7f812,31498
+:- pred accu_assoc(\7f835,32477
+:- pred accu_construct(\7f862,33712
+:- pred accu_construct_assoc(\7f896,35307
+:- pred accu_update(\7f938,37069
+:- pred member_lessthan_goalid(\7f964,38219
+:- type accu_assoc\7f975,38652
+:- pred accu_is_associative(\7f986,39138
+:- pred associativity_assertion(\7f1014,40263
+:- pred commutativity_assertion(\7f1037,41242
+:- pred accu_is_update(\7f1057,41952
+:- pred is_associative_construction(\7f1078,42802
+:- type accu_substs\7f1095,43480
+:- type accu_base\7f1103,43744
+:- pred accu_stage2(\7f1124,44605
+:- pred accu_substs_init(\7f1179,46957
+:- pred acc_var_subst_init(\7f1194,47573
+:- pred create_new_var(\7f1207,48147
+:- pred accu_process_assoc_set(\7f1223,48862
+:- pred accu_has_heuristic(\7f1297,52081
+:- pred accu_heuristic(\7f1304,52336
+:- pred accu_process_update_set(\7f1318,52906
+:- pred accu_divide_base_case(\7f1380,55844
+:- pred accu_related(\7f1412,57146
+:- pred lookup_call(\7f1449,58601
+:- pred accu_stage3(\7f1470,59432
+:- pred acc_proc_info(\7f1508,61326
+:- pred acc_pred_info(\7f1556,63449
+:- pred accu_create_goal(\7f1600,65285
+:- func create_acc_call(\7f1621,66400
+:- pred create_orig_goal(\7f1634,66987
+:- pred create_acc_goal(\7f1662,68157
+:- func create_new_orig_recursive_goals(\7f1709,70225
+:- func create_new_recursive_goals(\7f1723,70918
+:- func create_new_base_goals(\7f1738,71717
+:- pred acc_unification(\7f1749,72156
+:- pred accu_top_level(\7f1766,72896
+:- pred update_accumulator_pred(\7f1856,76290
+:- func accu_rename(\7f1876,77253
+:- func base_case_ids(\7f1889,77784
+:- func base_case_ids_set(\7f1898,78048
+:- func accu_goal_list(\7f1905,78269
+:- pred calculate_goal_info(\7f1916,78680
+:- func chain_subst(\7f1932,79319
+:- pred chain_subst_2(\7f1938,79482
+:- end_module transform_hlds.accumulator\7f1953,79939
+\f
c-src/c.c,76
T f(\7f1,0
}T i;\7f2,14
\global\def={\7f=\ 13307,107500
\def\normalbackslash{\7f\normalbackslash\ 13321,107882
\f
+merc-src/accumulator.m,5996
+:- module transform_hlds.accumulator\7f145,5333
+:- import_module hlds\7f148,5386
+:- import_module hlds.hlds_module\7f149,5409
+:- import_module hlds.hlds_pred\7f150,5444
+:- import_module univ\7f152,5478
+:- pred accu_transform_proc(\7f159,5793
+:- import_module hlds.assertion\7f168,6135
+:- import_module hlds.goal_util\7f169,6168
+:- import_module hlds.hlds_error_util\7f170,6201
+:- import_module hlds.hlds_goal\7f171,6240
+:- import_module hlds.hlds_out\7f172,6273
+:- import_module hlds.hlds_out.hlds_out_util\7f173,6305
+:- import_module hlds.hlds_promise\7f174,6351
+:- import_module hlds.instmap\7f175,6387
+:- import_module hlds.pred_table\7f176,6418
+:- import_module hlds.quantification\7f177,6452
+:- import_module hlds.status\7f178,6490
+:- import_module hlds.vartypes\7f179,6520
+:- import_module libs\7f180,6552
+:- import_module libs.globals\7f181,6575
+:- import_module libs.optimization_options\7f182,6606
+:- import_module libs.options\7f183,6650
+:- import_module mdbcomp\7f184,6681
+:- import_module mdbcomp.sym_name\7f185,6707
+:- import_module parse_tree\7f186,6742
+:- import_module parse_tree.error_util\7f187,6771
+:- import_module parse_tree.prog_data\7f188,6811
+:- import_module parse_tree.prog_mode\7f189,6850
+:- import_module parse_tree.prog_util\7f190,6889
+:- import_module parse_tree.set_of_var\7f191,6928
+:- import_module transform_hlds.goal_store\7f192,6968
+:- import_module assoc_list\7f194,7013
+:- import_module bool\7f195,7042
+:- import_module int\7f196,7065
+:- import_module io\7f197,7087
+:- import_module list\7f198,7108
+:- import_module map\7f199,7131
+:- import_module maybe\7f200,7153
+:- import_module pair\7f201,7177
+:- import_module require\7f202,7200
+:- import_module set\7f203,7226
+:- import_module solutions\7f204,7248
+:- import_module string\7f205,7276
+:- import_module term\7f206,7301
+:- import_module varset\7f207,7324
+:- type top_level\7f213,7499
+:- type accu_goal_id\7f225,7900
+:- type accu_case\7f228,7964
+:- type accu_goal_store\7f234,8091
+:- type accu_subst\7f238,8216
+:- type accu_warning\7f240,8264
+accu_transform_proc(\7f247,8578
+:- pred generate_warnings(\7f334,12550
+generate_warnings(\7f337,12669
+:- pred generate_warning(\7f342,12895
+generate_warning(\7f345,13001
+:- pred should_attempt_accu_transform(\7f365,13886
+should_attempt_accu_transform(\7f370,14123
+:- pred should_attempt_accu_transform_2(\7f398,15406
+should_attempt_accu_transform_2(\7f405,15763
+:- pred accu_standardize(\7f440,17390
+accu_standardize(\7f442,17455
+:- pred identify_goal_type(\7f465,18169
+identify_goal_type(\7f469,18359
+:- pred is_recursive_case(\7f549,21175
+is_recursive_case(\7f551,21253
+:- type store_info\7f560,21713
+:- func initialize_goal_store(\7f570,22060
+initialize_goal_store(\7f573,22166
+:- pred accu_store(\7f580,22421
+accu_store(\7f584,22576
+:- pred identify_recursive_calls(\7f601,23288
+identify_recursive_calls(\7f604,23406
+:- pred identify_out_and_out_prime(\7f626,24396
+identify_out_and_out_prime(\7f631,24631
+:- type accu_sets\7f676,26425
+:- pred accu_stage1(\7f689,26977
+accu_stage1(\7f693,27155
+:- pred accu_stage1_2(\7f727,28347
+accu_stage1_2(\7f731,28515
+:- pred accu_sets_init(\7f781,30557
+accu_sets_init(\7f783,30605
+:- func set_upto(\7f796,30984
+set_upto(\7f798,31039
+:- pred accu_before(\7f812,31498
+accu_before(\7f815,31639
+:- pred accu_assoc(\7f835,32477
+accu_assoc(\7f838,32617
+:- pred accu_construct(\7f862,33712
+accu_construct(\7f865,33856
+:- pred accu_construct_assoc(\7f896,35307
+accu_construct_assoc(\7f899,35457
+:- pred accu_update(\7f938,37069
+accu_update(\7f941,37210
+:- pred member_lessthan_goalid(\7f964,38219
+member_lessthan_goalid(\7f967,38342
+:- type accu_assoc\7f975,38652
+:- pred accu_is_associative(\7f986,39138
+accu_is_associative(\7f989,39250
+:- pred associativity_assertion(\7f1014,40263
+associativity_assertion(\7f1017,40404
+:- pred commutativity_assertion(\7f1037,41242
+commutativity_assertion(\7f1040,41369
+:- pred accu_is_update(\7f1057,41952
+accu_is_update(\7f1060,42066
+:- pred is_associative_construction(\7f1078,42802
+is_associative_construction(\7f1081,42898
+:- type accu_substs\7f1095,43480
+:- type accu_base\7f1103,43744
+:- pred accu_stage2(\7f1124,44605
+accu_stage2(\7f1131,44946
+:- pred accu_substs_init(\7f1179,46957
+accu_substs_init(\7f1182,47097
+:- pred acc_var_subst_init(\7f1194,47573
+acc_var_subst_init(\7f1198,47718
+:- pred create_new_var(\7f1207,48147
+create_new_var(\7f1210,48288
+:- pred accu_process_assoc_set(\7f1223,48862
+accu_process_assoc_set(\7f1229,49150
+:- pred accu_has_heuristic(\7f1297,52081
+accu_has_heuristic(\7f1299,52161
+:- pred accu_heuristic(\7f1304,52336
+accu_heuristic(\7f1307,52457
+:- pred accu_process_update_set(\7f1318,52906
+accu_process_update_set(\7f1325,53221
+:- pred accu_divide_base_case(\7f1380,55844
+accu_divide_base_case(\7f1385,56059
+:- pred accu_related(\7f1412,57146
+accu_related(\7f1415,57270
+:- pred lookup_call(\7f1449,58601
+lookup_call(\7f1452,58715
+:- pred accu_stage3(\7f1470,59432
+accu_stage3(\7f1477,59826
+:- pred acc_proc_info(\7f1508,61326
+acc_proc_info(\7f1512,61485
+:- pred acc_pred_info(\7f1556,63449
+acc_pred_info(\7f1559,63597
+:- pred accu_create_goal(\7f1600,65285
+accu_create_goal(\7f1607,65628
+:- func create_acc_call(\7f1621,66400
+create_acc_call(\7f1625,66569
+:- pred create_orig_goal(\7f1634,66987
+create_orig_goal(\7f1638,67176
+:- pred create_acc_goal(\7f1662,68157
+create_acc_goal(\7f1667,68380
+:- func create_new_orig_recursive_goals(\7f1709,70225
+create_new_orig_recursive_goals(\7f1712,70368
+:- func create_new_recursive_goals(\7f1723,70918
+create_new_recursive_goals(\7f1727,71108
+:- func create_new_base_goals(\7f1738,71717
+create_new_base_goals(\7f1741,71831
+:- pred acc_unification(\7f1749,72156
+acc_unification(\7f1751,72225
+:- pred accu_top_level(\7f1766,72896
+accu_top_level(\7f1770,73058
+:- pred update_accumulator_pred(\7f1856,76290
+update_accumulator_pred(\7f1859,76411
+:- func accu_rename(\7f1876,77253
+accu_rename(\7f1879,77363
+:- func base_case_ids(\7f1889,77784
+base_case_ids(\7f1891,77846
+:- func base_case_ids_set(\7f1898,78048
+base_case_ids_set(\7f1900,78113
+:- func accu_goal_list(\7f1905,78269
+accu_goal_list(\7f1907,78349
+:- pred calculate_goal_info(\7f1916,78680
+calculate_goal_info(\7f1918,78753
+:- func chain_subst(\7f1932,79319
+chain_subst(\7f1934,79378
+:- pred chain_subst_2(\7f1938,79482
+chain_subst_2(\7f1941,79576
+:- end_module transform_hlds.accumulator\7f1953,79939
+\f
c-src/c.c,76
T f(\7f1,0
}T i;\7f2,14
\global\def={\7f=\ 13307,107500
\def\normalbackslash{\7f\normalbackslash\ 13321,107882
\f
+merc-src/accumulator.m,4275
+:- module transform_hlds.accumulator\7f145,5333
+:- import_module hlds\7f148,5386
+:- import_module hlds.hlds_module\7f149,5409
+:- import_module hlds.hlds_pred\7f150,5444
+:- import_module univ\7f152,5478
+:- pred accu_transform_proc(\7f159,5793
+:- import_module hlds.assertion\7f168,6135
+:- import_module hlds.goal_util\7f169,6168
+:- import_module hlds.hlds_error_util\7f170,6201
+:- import_module hlds.hlds_goal\7f171,6240
+:- import_module hlds.hlds_out\7f172,6273
+:- import_module hlds.hlds_out.hlds_out_util\7f173,6305
+:- import_module hlds.hlds_promise\7f174,6351
+:- import_module hlds.instmap\7f175,6387
+:- import_module hlds.pred_table\7f176,6418
+:- import_module hlds.quantification\7f177,6452
+:- import_module hlds.status\7f178,6490
+:- import_module hlds.vartypes\7f179,6520
+:- import_module libs\7f180,6552
+:- import_module libs.globals\7f181,6575
+:- import_module libs.optimization_options\7f182,6606
+:- import_module libs.options\7f183,6650
+:- import_module mdbcomp\7f184,6681
+:- import_module mdbcomp.sym_name\7f185,6707
+:- import_module parse_tree\7f186,6742
+:- import_module parse_tree.error_util\7f187,6771
+:- import_module parse_tree.prog_data\7f188,6811
+:- import_module parse_tree.prog_mode\7f189,6850
+:- import_module parse_tree.prog_util\7f190,6889
+:- import_module parse_tree.set_of_var\7f191,6928
+:- import_module transform_hlds.goal_store\7f192,6968
+:- import_module assoc_list\7f194,7013
+:- import_module bool\7f195,7042
+:- import_module int\7f196,7065
+:- import_module io\7f197,7087
+:- import_module list\7f198,7108
+:- import_module map\7f199,7131
+:- import_module maybe\7f200,7153
+:- import_module pair\7f201,7177
+:- import_module require\7f202,7200
+:- import_module set\7f203,7226
+:- import_module solutions\7f204,7248
+:- import_module string\7f205,7276
+:- import_module term\7f206,7301
+:- import_module varset\7f207,7324
+:- type top_level\7f213,7499
+:- type accu_goal_id\7f225,7900
+:- type accu_case\7f228,7964
+:- type accu_goal_store\7f234,8091
+:- type accu_subst\7f238,8216
+:- type accu_warning\7f240,8264
+:- pred generate_warnings(\7f334,12550
+:- pred generate_warning(\7f342,12895
+:- pred should_attempt_accu_transform(\7f365,13886
+:- pred should_attempt_accu_transform_2(\7f398,15406
+:- pred accu_standardize(\7f440,17390
+:- pred identify_goal_type(\7f465,18169
+:- pred is_recursive_case(\7f549,21175
+:- type store_info\7f560,21713
+:- func initialize_goal_store(\7f570,22060
+:- pred accu_store(\7f580,22421
+:- pred identify_recursive_calls(\7f601,23288
+:- pred identify_out_and_out_prime(\7f626,24396
+:- type accu_sets\7f676,26425
+:- pred accu_stage1(\7f689,26977
+:- pred accu_stage1_2(\7f727,28347
+:- pred accu_sets_init(\7f781,30557
+:- func set_upto(\7f796,30984
+:- pred accu_before(\7f812,31498
+:- pred accu_assoc(\7f835,32477
+:- pred accu_construct(\7f862,33712
+:- pred accu_construct_assoc(\7f896,35307
+:- pred accu_update(\7f938,37069
+:- pred member_lessthan_goalid(\7f964,38219
+:- type accu_assoc\7f975,38652
+:- pred accu_is_associative(\7f986,39138
+:- pred associativity_assertion(\7f1014,40263
+:- pred commutativity_assertion(\7f1037,41242
+:- pred accu_is_update(\7f1057,41952
+:- pred is_associative_construction(\7f1078,42802
+:- type accu_substs\7f1095,43480
+:- type accu_base\7f1103,43744
+:- pred accu_stage2(\7f1124,44605
+:- pred accu_substs_init(\7f1179,46957
+:- pred acc_var_subst_init(\7f1194,47573
+:- pred create_new_var(\7f1207,48147
+:- pred accu_process_assoc_set(\7f1223,48862
+:- pred accu_has_heuristic(\7f1297,52081
+:- pred accu_heuristic(\7f1304,52336
+:- pred accu_process_update_set(\7f1318,52906
+:- pred accu_divide_base_case(\7f1380,55844
+:- pred accu_related(\7f1412,57146
+:- pred lookup_call(\7f1449,58601
+:- pred accu_stage3(\7f1470,59432
+:- pred acc_proc_info(\7f1508,61326
+:- pred acc_pred_info(\7f1556,63449
+:- pred accu_create_goal(\7f1600,65285
+:- func create_acc_call(\7f1621,66400
+:- pred create_orig_goal(\7f1634,66987
+:- pred create_acc_goal(\7f1662,68157
+:- func create_new_orig_recursive_goals(\7f1709,70225
+:- func create_new_recursive_goals(\7f1723,70918
+:- func create_new_base_goals(\7f1738,71717
+:- pred acc_unification(\7f1749,72156
+:- pred accu_top_level(\7f1766,72896
+:- pred update_accumulator_pred(\7f1856,76290
+:- func accu_rename(\7f1876,77253
+:- func base_case_ids(\7f1889,77784
+:- func base_case_ids_set(\7f1898,78048
+:- func accu_goal_list(\7f1905,78269
+:- pred calculate_goal_info(\7f1916,78680
+:- func chain_subst(\7f1932,79319
+:- pred chain_subst_2(\7f1938,79482
+:- end_module transform_hlds.accumulator\7f1953,79939
+\f
c-src/c.c,76
T f(\7f1,0
}T i;\7f2,14
\global\def={\7f=\ 13307,107500
\def\normalbackslash{\7f\normalbackslash\ 13321,107882
\f
+merc-src/accumulator.m,4275
+:- module transform_hlds.accumulator\7f145,5333
+:- import_module hlds\7f148,5386
+:- import_module hlds.hlds_module\7f149,5409
+:- import_module hlds.hlds_pred\7f150,5444
+:- import_module univ\7f152,5478
+:- pred accu_transform_proc(\7f159,5793
+:- import_module hlds.assertion\7f168,6135
+:- import_module hlds.goal_util\7f169,6168
+:- import_module hlds.hlds_error_util\7f170,6201
+:- import_module hlds.hlds_goal\7f171,6240
+:- import_module hlds.hlds_out\7f172,6273
+:- import_module hlds.hlds_out.hlds_out_util\7f173,6305
+:- import_module hlds.hlds_promise\7f174,6351
+:- import_module hlds.instmap\7f175,6387
+:- import_module hlds.pred_table\7f176,6418
+:- import_module hlds.quantification\7f177,6452
+:- import_module hlds.status\7f178,6490
+:- import_module hlds.vartypes\7f179,6520
+:- import_module libs\7f180,6552
+:- import_module libs.globals\7f181,6575
+:- import_module libs.optimization_options\7f182,6606
+:- import_module libs.options\7f183,6650
+:- import_module mdbcomp\7f184,6681
+:- import_module mdbcomp.sym_name\7f185,6707
+:- import_module parse_tree\7f186,6742
+:- import_module parse_tree.error_util\7f187,6771
+:- import_module parse_tree.prog_data\7f188,6811
+:- import_module parse_tree.prog_mode\7f189,6850
+:- import_module parse_tree.prog_util\7f190,6889
+:- import_module parse_tree.set_of_var\7f191,6928
+:- import_module transform_hlds.goal_store\7f192,6968
+:- import_module assoc_list\7f194,7013
+:- import_module bool\7f195,7042
+:- import_module int\7f196,7065
+:- import_module io\7f197,7087
+:- import_module list\7f198,7108
+:- import_module map\7f199,7131
+:- import_module maybe\7f200,7153
+:- import_module pair\7f201,7177
+:- import_module require\7f202,7200
+:- import_module set\7f203,7226
+:- import_module solutions\7f204,7248
+:- import_module string\7f205,7276
+:- import_module term\7f206,7301
+:- import_module varset\7f207,7324
+:- type top_level\7f213,7499
+:- type accu_goal_id\7f225,7900
+:- type accu_case\7f228,7964
+:- type accu_goal_store\7f234,8091
+:- type accu_subst\7f238,8216
+:- type accu_warning\7f240,8264
+:- pred generate_warnings(\7f334,12550
+:- pred generate_warning(\7f342,12895
+:- pred should_attempt_accu_transform(\7f365,13886
+:- pred should_attempt_accu_transform_2(\7f398,15406
+:- pred accu_standardize(\7f440,17390
+:- pred identify_goal_type(\7f465,18169
+:- pred is_recursive_case(\7f549,21175
+:- type store_info\7f560,21713
+:- func initialize_goal_store(\7f570,22060
+:- pred accu_store(\7f580,22421
+:- pred identify_recursive_calls(\7f601,23288
+:- pred identify_out_and_out_prime(\7f626,24396
+:- type accu_sets\7f676,26425
+:- pred accu_stage1(\7f689,26977
+:- pred accu_stage1_2(\7f727,28347
+:- pred accu_sets_init(\7f781,30557
+:- func set_upto(\7f796,30984
+:- pred accu_before(\7f812,31498
+:- pred accu_assoc(\7f835,32477
+:- pred accu_construct(\7f862,33712
+:- pred accu_construct_assoc(\7f896,35307
+:- pred accu_update(\7f938,37069
+:- pred member_lessthan_goalid(\7f964,38219
+:- type accu_assoc\7f975,38652
+:- pred accu_is_associative(\7f986,39138
+:- pred associativity_assertion(\7f1014,40263
+:- pred commutativity_assertion(\7f1037,41242
+:- pred accu_is_update(\7f1057,41952
+:- pred is_associative_construction(\7f1078,42802
+:- type accu_substs\7f1095,43480
+:- type accu_base\7f1103,43744
+:- pred accu_stage2(\7f1124,44605
+:- pred accu_substs_init(\7f1179,46957
+:- pred acc_var_subst_init(\7f1194,47573
+:- pred create_new_var(\7f1207,48147
+:- pred accu_process_assoc_set(\7f1223,48862
+:- pred accu_has_heuristic(\7f1297,52081
+:- pred accu_heuristic(\7f1304,52336
+:- pred accu_process_update_set(\7f1318,52906
+:- pred accu_divide_base_case(\7f1380,55844
+:- pred accu_related(\7f1412,57146
+:- pred lookup_call(\7f1449,58601
+:- pred accu_stage3(\7f1470,59432
+:- pred acc_proc_info(\7f1508,61326
+:- pred acc_pred_info(\7f1556,63449
+:- pred accu_create_goal(\7f1600,65285
+:- func create_acc_call(\7f1621,66400
+:- pred create_orig_goal(\7f1634,66987
+:- pred create_acc_goal(\7f1662,68157
+:- func create_new_orig_recursive_goals(\7f1709,70225
+:- func create_new_recursive_goals(\7f1723,70918
+:- func create_new_base_goals(\7f1738,71717
+:- pred acc_unification(\7f1749,72156
+:- pred accu_top_level(\7f1766,72896
+:- pred update_accumulator_pred(\7f1856,76290
+:- func accu_rename(\7f1876,77253
+:- func base_case_ids(\7f1889,77784
+:- func base_case_ids_set(\7f1898,78048
+:- func accu_goal_list(\7f1905,78269
+:- pred calculate_goal_info(\7f1916,78680
+:- func chain_subst(\7f1932,79319
+:- pred chain_subst_2(\7f1938,79482
+:- end_module transform_hlds.accumulator\7f1953,79939
+\f
c-src/c.c,76
T f(\7f1,0
}T i;\7f2,14
\global\def={\7f=\ 13307,107500
\def\normalbackslash{\7f\normalbackslash\ 13321,107882
\f
+merc-src/accumulator.m,5996
+:- module transform_hlds.accumulator\7f145,5333
+:- import_module hlds\7f148,5386
+:- import_module hlds.hlds_module\7f149,5409
+:- import_module hlds.hlds_pred\7f150,5444
+:- import_module univ\7f152,5478
+:- pred accu_transform_proc(\7f159,5793
+:- import_module hlds.assertion\7f168,6135
+:- import_module hlds.goal_util\7f169,6168
+:- import_module hlds.hlds_error_util\7f170,6201
+:- import_module hlds.hlds_goal\7f171,6240
+:- import_module hlds.hlds_out\7f172,6273
+:- import_module hlds.hlds_out.hlds_out_util\7f173,6305
+:- import_module hlds.hlds_promise\7f174,6351
+:- import_module hlds.instmap\7f175,6387
+:- import_module hlds.pred_table\7f176,6418
+:- import_module hlds.quantification\7f177,6452
+:- import_module hlds.status\7f178,6490
+:- import_module hlds.vartypes\7f179,6520
+:- import_module libs\7f180,6552
+:- import_module libs.globals\7f181,6575
+:- import_module libs.optimization_options\7f182,6606
+:- import_module libs.options\7f183,6650
+:- import_module mdbcomp\7f184,6681
+:- import_module mdbcomp.sym_name\7f185,6707
+:- import_module parse_tree\7f186,6742
+:- import_module parse_tree.error_util\7f187,6771
+:- import_module parse_tree.prog_data\7f188,6811
+:- import_module parse_tree.prog_mode\7f189,6850
+:- import_module parse_tree.prog_util\7f190,6889
+:- import_module parse_tree.set_of_var\7f191,6928
+:- import_module transform_hlds.goal_store\7f192,6968
+:- import_module assoc_list\7f194,7013
+:- import_module bool\7f195,7042
+:- import_module int\7f196,7065
+:- import_module io\7f197,7087
+:- import_module list\7f198,7108
+:- import_module map\7f199,7131
+:- import_module maybe\7f200,7153
+:- import_module pair\7f201,7177
+:- import_module require\7f202,7200
+:- import_module set\7f203,7226
+:- import_module solutions\7f204,7248
+:- import_module string\7f205,7276
+:- import_module term\7f206,7301
+:- import_module varset\7f207,7324
+:- type top_level\7f213,7499
+:- type accu_goal_id\7f225,7900
+:- type accu_case\7f228,7964
+:- type accu_goal_store\7f234,8091
+:- type accu_subst\7f238,8216
+:- type accu_warning\7f240,8264
+accu_transform_proc(\7f247,8578
+:- pred generate_warnings(\7f334,12550
+generate_warnings(\7f337,12669
+:- pred generate_warning(\7f342,12895
+generate_warning(\7f345,13001
+:- pred should_attempt_accu_transform(\7f365,13886
+should_attempt_accu_transform(\7f370,14123
+:- pred should_attempt_accu_transform_2(\7f398,15406
+should_attempt_accu_transform_2(\7f405,15763
+:- pred accu_standardize(\7f440,17390
+accu_standardize(\7f442,17455
+:- pred identify_goal_type(\7f465,18169
+identify_goal_type(\7f469,18359
+:- pred is_recursive_case(\7f549,21175
+is_recursive_case(\7f551,21253
+:- type store_info\7f560,21713
+:- func initialize_goal_store(\7f570,22060
+initialize_goal_store(\7f573,22166
+:- pred accu_store(\7f580,22421
+accu_store(\7f584,22576
+:- pred identify_recursive_calls(\7f601,23288
+identify_recursive_calls(\7f604,23406
+:- pred identify_out_and_out_prime(\7f626,24396
+identify_out_and_out_prime(\7f631,24631
+:- type accu_sets\7f676,26425
+:- pred accu_stage1(\7f689,26977
+accu_stage1(\7f693,27155
+:- pred accu_stage1_2(\7f727,28347
+accu_stage1_2(\7f731,28515
+:- pred accu_sets_init(\7f781,30557
+accu_sets_init(\7f783,30605
+:- func set_upto(\7f796,30984
+set_upto(\7f798,31039
+:- pred accu_before(\7f812,31498
+accu_before(\7f815,31639
+:- pred accu_assoc(\7f835,32477
+accu_assoc(\7f838,32617
+:- pred accu_construct(\7f862,33712
+accu_construct(\7f865,33856
+:- pred accu_construct_assoc(\7f896,35307
+accu_construct_assoc(\7f899,35457
+:- pred accu_update(\7f938,37069
+accu_update(\7f941,37210
+:- pred member_lessthan_goalid(\7f964,38219
+member_lessthan_goalid(\7f967,38342
+:- type accu_assoc\7f975,38652
+:- pred accu_is_associative(\7f986,39138
+accu_is_associative(\7f989,39250
+:- pred associativity_assertion(\7f1014,40263
+associativity_assertion(\7f1017,40404
+:- pred commutativity_assertion(\7f1037,41242
+commutativity_assertion(\7f1040,41369
+:- pred accu_is_update(\7f1057,41952
+accu_is_update(\7f1060,42066
+:- pred is_associative_construction(\7f1078,42802
+is_associative_construction(\7f1081,42898
+:- type accu_substs\7f1095,43480
+:- type accu_base\7f1103,43744
+:- pred accu_stage2(\7f1124,44605
+accu_stage2(\7f1131,44946
+:- pred accu_substs_init(\7f1179,46957
+accu_substs_init(\7f1182,47097
+:- pred acc_var_subst_init(\7f1194,47573
+acc_var_subst_init(\7f1198,47718
+:- pred create_new_var(\7f1207,48147
+create_new_var(\7f1210,48288
+:- pred accu_process_assoc_set(\7f1223,48862
+accu_process_assoc_set(\7f1229,49150
+:- pred accu_has_heuristic(\7f1297,52081
+accu_has_heuristic(\7f1299,52161
+:- pred accu_heuristic(\7f1304,52336
+accu_heuristic(\7f1307,52457
+:- pred accu_process_update_set(\7f1318,52906
+accu_process_update_set(\7f1325,53221
+:- pred accu_divide_base_case(\7f1380,55844
+accu_divide_base_case(\7f1385,56059
+:- pred accu_related(\7f1412,57146
+accu_related(\7f1415,57270
+:- pred lookup_call(\7f1449,58601
+lookup_call(\7f1452,58715
+:- pred accu_stage3(\7f1470,59432
+accu_stage3(\7f1477,59826
+:- pred acc_proc_info(\7f1508,61326
+acc_proc_info(\7f1512,61485
+:- pred acc_pred_info(\7f1556,63449
+acc_pred_info(\7f1559,63597
+:- pred accu_create_goal(\7f1600,65285
+accu_create_goal(\7f1607,65628
+:- func create_acc_call(\7f1621,66400
+create_acc_call(\7f1625,66569
+:- pred create_orig_goal(\7f1634,66987
+create_orig_goal(\7f1638,67176
+:- pred create_acc_goal(\7f1662,68157
+create_acc_goal(\7f1667,68380
+:- func create_new_orig_recursive_goals(\7f1709,70225
+create_new_orig_recursive_goals(\7f1712,70368
+:- func create_new_recursive_goals(\7f1723,70918
+create_new_recursive_goals(\7f1727,71108
+:- func create_new_base_goals(\7f1738,71717
+create_new_base_goals(\7f1741,71831
+:- pred acc_unification(\7f1749,72156
+acc_unification(\7f1751,72225
+:- pred accu_top_level(\7f1766,72896
+accu_top_level(\7f1770,73058
+:- pred update_accumulator_pred(\7f1856,76290
+update_accumulator_pred(\7f1859,76411
+:- func accu_rename(\7f1876,77253
+accu_rename(\7f1879,77363
+:- func base_case_ids(\7f1889,77784
+base_case_ids(\7f1891,77846
+:- func base_case_ids_set(\7f1898,78048
+base_case_ids_set(\7f1900,78113
+:- func accu_goal_list(\7f1905,78269
+accu_goal_list(\7f1907,78349
+:- pred calculate_goal_info(\7f1916,78680
+calculate_goal_info(\7f1918,78753
+:- func chain_subst(\7f1932,79319
+chain_subst(\7f1934,79378
+:- pred chain_subst_2(\7f1938,79482
+chain_subst_2(\7f1941,79576
+:- end_module transform_hlds.accumulator\7f1953,79939
+\f
c-src/c.c,76
T f(\7f1,0
}T i;\7f2,14
\global\def={\7f=\ 13307,107500
\def\normalbackslash{\7f\normalbackslash\ 13321,107882
\f
+merc-src/accumulator.m,5996
+:- module transform_hlds.accumulator\7f145,5333
+:- import_module hlds\7f148,5386
+:- import_module hlds.hlds_module\7f149,5409
+:- import_module hlds.hlds_pred\7f150,5444
+:- import_module univ\7f152,5478
+:- pred accu_transform_proc(\7f159,5793
+:- import_module hlds.assertion\7f168,6135
+:- import_module hlds.goal_util\7f169,6168
+:- import_module hlds.hlds_error_util\7f170,6201
+:- import_module hlds.hlds_goal\7f171,6240
+:- import_module hlds.hlds_out\7f172,6273
+:- import_module hlds.hlds_out.hlds_out_util\7f173,6305
+:- import_module hlds.hlds_promise\7f174,6351
+:- import_module hlds.instmap\7f175,6387
+:- import_module hlds.pred_table\7f176,6418
+:- import_module hlds.quantification\7f177,6452
+:- import_module hlds.status\7f178,6490
+:- import_module hlds.vartypes\7f179,6520
+:- import_module libs\7f180,6552
+:- import_module libs.globals\7f181,6575
+:- import_module libs.optimization_options\7f182,6606
+:- import_module libs.options\7f183,6650
+:- import_module mdbcomp\7f184,6681
+:- import_module mdbcomp.sym_name\7f185,6707
+:- import_module parse_tree\7f186,6742
+:- import_module parse_tree.error_util\7f187,6771
+:- import_module parse_tree.prog_data\7f188,6811
+:- import_module parse_tree.prog_mode\7f189,6850
+:- import_module parse_tree.prog_util\7f190,6889
+:- import_module parse_tree.set_of_var\7f191,6928
+:- import_module transform_hlds.goal_store\7f192,6968
+:- import_module assoc_list\7f194,7013
+:- import_module bool\7f195,7042
+:- import_module int\7f196,7065
+:- import_module io\7f197,7087
+:- import_module list\7f198,7108
+:- import_module map\7f199,7131
+:- import_module maybe\7f200,7153
+:- import_module pair\7f201,7177
+:- import_module require\7f202,7200
+:- import_module set\7f203,7226
+:- import_module solutions\7f204,7248
+:- import_module string\7f205,7276
+:- import_module term\7f206,7301
+:- import_module varset\7f207,7324
+:- type top_level\7f213,7499
+:- type accu_goal_id\7f225,7900
+:- type accu_case\7f228,7964
+:- type accu_goal_store\7f234,8091
+:- type accu_subst\7f238,8216
+:- type accu_warning\7f240,8264
+accu_transform_proc(\7f247,8578
+:- pred generate_warnings(\7f334,12550
+generate_warnings(\7f337,12669
+:- pred generate_warning(\7f342,12895
+generate_warning(\7f345,13001
+:- pred should_attempt_accu_transform(\7f365,13886
+should_attempt_accu_transform(\7f370,14123
+:- pred should_attempt_accu_transform_2(\7f398,15406
+should_attempt_accu_transform_2(\7f405,15763
+:- pred accu_standardize(\7f440,17390
+accu_standardize(\7f442,17455
+:- pred identify_goal_type(\7f465,18169
+identify_goal_type(\7f469,18359
+:- pred is_recursive_case(\7f549,21175
+is_recursive_case(\7f551,21253
+:- type store_info\7f560,21713
+:- func initialize_goal_store(\7f570,22060
+initialize_goal_store(\7f573,22166
+:- pred accu_store(\7f580,22421
+accu_store(\7f584,22576
+:- pred identify_recursive_calls(\7f601,23288
+identify_recursive_calls(\7f604,23406
+:- pred identify_out_and_out_prime(\7f626,24396
+identify_out_and_out_prime(\7f631,24631
+:- type accu_sets\7f676,26425
+:- pred accu_stage1(\7f689,26977
+accu_stage1(\7f693,27155
+:- pred accu_stage1_2(\7f727,28347
+accu_stage1_2(\7f731,28515
+:- pred accu_sets_init(\7f781,30557
+accu_sets_init(\7f783,30605
+:- func set_upto(\7f796,30984
+set_upto(\7f798,31039
+:- pred accu_before(\7f812,31498
+accu_before(\7f815,31639
+:- pred accu_assoc(\7f835,32477
+accu_assoc(\7f838,32617
+:- pred accu_construct(\7f862,33712
+accu_construct(\7f865,33856
+:- pred accu_construct_assoc(\7f896,35307
+accu_construct_assoc(\7f899,35457
+:- pred accu_update(\7f938,37069
+accu_update(\7f941,37210
+:- pred member_lessthan_goalid(\7f964,38219
+member_lessthan_goalid(\7f967,38342
+:- type accu_assoc\7f975,38652
+:- pred accu_is_associative(\7f986,39138
+accu_is_associative(\7f989,39250
+:- pred associativity_assertion(\7f1014,40263
+associativity_assertion(\7f1017,40404
+:- pred commutativity_assertion(\7f1037,41242
+commutativity_assertion(\7f1040,41369
+:- pred accu_is_update(\7f1057,41952
+accu_is_update(\7f1060,42066
+:- pred is_associative_construction(\7f1078,42802
+is_associative_construction(\7f1081,42898
+:- type accu_substs\7f1095,43480
+:- type accu_base\7f1103,43744
+:- pred accu_stage2(\7f1124,44605
+accu_stage2(\7f1131,44946
+:- pred accu_substs_init(\7f1179,46957
+accu_substs_init(\7f1182,47097
+:- pred acc_var_subst_init(\7f1194,47573
+acc_var_subst_init(\7f1198,47718
+:- pred create_new_var(\7f1207,48147
+create_new_var(\7f1210,48288
+:- pred accu_process_assoc_set(\7f1223,48862
+accu_process_assoc_set(\7f1229,49150
+:- pred accu_has_heuristic(\7f1297,52081
+accu_has_heuristic(\7f1299,52161
+:- pred accu_heuristic(\7f1304,52336
+accu_heuristic(\7f1307,52457
+:- pred accu_process_update_set(\7f1318,52906
+accu_process_update_set(\7f1325,53221
+:- pred accu_divide_base_case(\7f1380,55844
+accu_divide_base_case(\7f1385,56059
+:- pred accu_related(\7f1412,57146
+accu_related(\7f1415,57270
+:- pred lookup_call(\7f1449,58601
+lookup_call(\7f1452,58715
+:- pred accu_stage3(\7f1470,59432
+accu_stage3(\7f1477,59826
+:- pred acc_proc_info(\7f1508,61326
+acc_proc_info(\7f1512,61485
+:- pred acc_pred_info(\7f1556,63449
+acc_pred_info(\7f1559,63597
+:- pred accu_create_goal(\7f1600,65285
+accu_create_goal(\7f1607,65628
+:- func create_acc_call(\7f1621,66400
+create_acc_call(\7f1625,66569
+:- pred create_orig_goal(\7f1634,66987
+create_orig_goal(\7f1638,67176
+:- pred create_acc_goal(\7f1662,68157
+create_acc_goal(\7f1667,68380
+:- func create_new_orig_recursive_goals(\7f1709,70225
+create_new_orig_recursive_goals(\7f1712,70368
+:- func create_new_recursive_goals(\7f1723,70918
+create_new_recursive_goals(\7f1727,71108
+:- func create_new_base_goals(\7f1738,71717
+create_new_base_goals(\7f1741,71831
+:- pred acc_unification(\7f1749,72156
+acc_unification(\7f1751,72225
+:- pred accu_top_level(\7f1766,72896
+accu_top_level(\7f1770,73058
+:- pred update_accumulator_pred(\7f1856,76290
+update_accumulator_pred(\7f1859,76411
+:- func accu_rename(\7f1876,77253
+accu_rename(\7f1879,77363
+:- func base_case_ids(\7f1889,77784
+base_case_ids(\7f1891,77846
+:- func base_case_ids_set(\7f1898,78048
+base_case_ids_set(\7f1900,78113
+:- func accu_goal_list(\7f1905,78269
+accu_goal_list(\7f1907,78349
+:- pred calculate_goal_info(\7f1916,78680
+calculate_goal_info(\7f1918,78753
+:- func chain_subst(\7f1932,79319
+chain_subst(\7f1934,79378
+:- pred chain_subst_2(\7f1938,79482
+chain_subst_2(\7f1941,79576
+:- end_module transform_hlds.accumulator\7f1953,79939
+\f
c-src/c.c,76
T f(\7f1,0
}T i;\7f2,14