[m-dev.] for review: rewrite of termination analysis (part 2)
Fergus Henderson
fjh at cs.mu.oz.au
Mon Dec 22 15:40:37 AEDT 1997
On 22-Dec-1997, Zoltan Somogyi <zs at cs.mu.oz.au> wrote:
[options.m:]
> + io__write_string("\t--term-single-arg <n>, --termination-single-argument-analysis <n>\n"),
> + io__write_string("\t\tWhen performing termination analysis, try analyzing\n"),
> + io__write_string("\t\trecursion on single arguments in strongly connected\n"),
> + io__write_string("\t\tcomponents of the call graph that have up to n procedures.\n"),
I suggest s/n/<n>/
> io__write_string("\t--termination-norm {simple, total, num-data-elems}\n"),
> io__write_string("\t\tThe norm defines how termination analysis measures the size\n"),
> io__write_string("\t\tof a memory cell. The simple norm says that size is always one.\n"),
> @@ -1538,6 +1550,12 @@
> io__write_string("\t\tThe num-data-elems norm says that it is the number of words in\n"),
> io__write_string("\t\tthe cell that contain something other than pointers to cells of\n"),
> io__write_string("\t\tthe same type.\n"),
What about the total norm?
Also it would be clearer if you did s/simple/`simple'/
and s/num-data-elems/`num-data-elems'/.
> + io__write_string("\t--termination-error-limit <n>, --term-err-limit <n>\n"),
It would more consistent to list the shorter message first,
since that's what is done elsewhere.
> + io__write_string("\t\tPrint at most n reasons for any single termination error\n"),
s/n/<n>/.
> + io__write_string("\t--termination-path-limit <n>, --term-path-limit <n>\n"),
It would more consistent to list the shorter message first, since
that's what is done elsewhere.
> + io__write_string("\t\tPerform termination analysis only on predicates\n"),
> + io__write_string("\t\twith at most n paths (default: 256).\n"),
s/n/<n>/
> +++ compiler_design.html 1997/12/22 03:31:22
> @@ -32,12 +32,12 @@
> stages:
>
> <ol>
> -<li> parsing (source files -> HLDS)
> -<li> semantic analysis and error checking (HLDS -> annotated HLDS)
> -<li> high-level transformations (annotated HLDS -> annotated HLDS)
> -<li> code generation (annotated HLDS -> LLDS)
> -<li> low-level optimizations (LLDS -> LLDS)
> -<li> output C code (LLDS -> C)
> +<li> parsing (source files -> HLDS)
> +<li> semantic analysis and error checking (HLDS -> annotated HLDS)
> +<li> high-level transformations (annotated HLDS -> annotated HLDS)
> +<li> code generation (annotated HLDS -> LLDS)
> +<li> low-level optimizations (LLDS -> LLDS)
> +<li> output C code (LLDS -> C)
I think `>' should be `>'.
I'm pretty sure HTML requires &-escapes to be terminated with a semicolon.
> + at sp 1
> + at item --termination-single-argument-analysis @var{limit}
> + at itemx --term-single-arg @var{limit}
I suggest swapping the order here.
> + at sp 1
> + at item --termination-error-limit @var{limit}
> + at itemx --term-err-limit @var{limit}
Ditto.
> + at item --termination-path-limit @var{limit}
> + at itemx --term-path-limit @var{limit}
Ditto.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- the last words of T. S. Garp.
More information about the developers
mailing list