LineDirective
=============

To aid in the debugging of code produced by program generators such
as http://www.eecs.harvard.edu/%7Enr/noweb/[Noweb], MLton supports
comments with line directives of the form
[source,sml]
----
(*#line l.c "f"*)
----
Here, _l_ and _c_ are sequences of decimal digits and _f_ is the
source file.  The first character of a source file has the position
1.1.  A line directive causes the front end to believe that the
character following the right parenthesis is at the line and column of
the specified file.  A line directive only affects the reporting of
error messages and does not affect program semantics (except for
functions like `MLton.Exn.history` that report source file positions).
Syntactically invalid line directives are ignored.  To prevent
incompatibilities with SML, the file name may not contain the
character sequence `*)`.
