Informal version 6.21  /  Sean Barrett  /  2001-09-13

  Informal is a modified version of the Inform compiler written
  by Graham Nelson. Informal changes the way certain output
  statements compile.

  By default, Informal should be back-compatible with Inform 6.21,
  except if any printed strings contain the character '{'. Full
  back-compatibility can be obtained by launching Informal with
  the flag -~V

  Informal will display "Informal 6.21v" in the banner during compiles;
  the Informal source code can be recompiled to disable -V support,
  but will still show as "Informal 6.21" to avoid confusion with
  "Inform 6.21" (with which it should be fully compatible... stress
  on "should").

INFORMAL SWITCHES

  -N

     Defaults to off. If -N is defined, then the compiler turns
     newlines in print statements into calls to the veneer routine
     CR_(). Both newlines from print_ret and appearances of the
     character '^' are affected. The default implementation of CR_()
     prints a newline, so turning on -N should have no effect except
     to grow the code a little.

     The following statements are equivalent with -N:

        "foo";
        print_ret "foo";
        print "foo^"; rtrue;
        print "foo"; CR_(); rtrue;

     However,

        new_line;

     still prints a blank line.

  -Z ( default--disable with -~Z)

     controls whether print_ret "foo"; and the abbreviation "foo";
     generate newlines (or, if -N is enabled, calls CR_()) at the
     end of the string.

     So, with -~Z, the following are the same:

        "foo";
        print_ret "foo";
        print "foo"; rtrue;

     With -~Z and -N, the following are the same:

        "foo^bar";
        print "foo"; CR_(); print "bar"; rtrue;

  -V ( default--disable with -~V )

     -V enables "varying strings", which are documented in the
     accompanying file "varying.txt". Most printed strings will
     compile normally, but strings which contain a '{' are
     interpreted as containing lists of substrings such as
     "{one|two|three}" which are chosen between according to
     one of several user-selected rules. -~V causes the compiler
     to treat strings containing '{' in the normal fashion.
