(********************************************************************)
(*                                                                  *)
(*  inter.txt                                                       *)
(*                                                                  *)
(*  Copyright (C) 1990 - 2013  Thomas Mertes                        *)
(*  All rights reserved.                                            *)
(*                                                                  *)
(*  Documentation: Using the Seed7 interpreter                      *)
(*                                                                  *)
(*  This file is distributed "AS IS" in the hope that it will be    *)
(*  useful, but WITHOUT ANY WARRANTY; without even the implied      *)
(*  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.*)
(*                                                                  *)
(********************************************************************)


THE SEED7 INTERPRETER
=====================

  The Seed7 interpreter is called with the command

    s7 [options] sourcefile [parameters]

  Note that the options must be written before the sourcefile.
  If the sourcefile is not found .sd7 is appended to the sourcefile
  and searched for that file.

  The following options are recognized by s7:

  -?   Write Seed7 interpreter usage.
  -a   Analyze only and suppress the execution phase.
  -dx  Set compile-time trace level to x. Where x is a string consisting
       of the following characters:
         a Trace primitive actions
         c Do action check
         d Trace dynamic calls
         e Trace exceptions and handlers
         h Trace heap size (in combination with 'a')
  -d   Equivalent to -da
  -i   Show the identifier table after the analyzing phase.
  -l   Add a directory to the include library search path (e.g.: -l ../lib).
  -q   Compile quiet. Line and file information and compilation
       statistics are suppressed.
  -tx  Set runtime trace level to x. Where x is a string consisting
       of the following characters:
         a Trace primitive actions
         c Do action check
         d Trace dynamic calls
         e Trace exceptions and handlers
         h Trace heap size (in combination with 'a')
  -t   Equivalent to -ta
  -vn  Set verbosity level of analyse phase to n. Where n is one
       of the following characters:
         0 Compile quiet (equivalent to -q)
         1 Write just the header with version information (default)
         2 Write a list of include libraries
         3 Write line numbers, while analyzing
  -v   Equivalent to -v2
  -x   Execute even when the program contains errors.

  In the program the 'parameters' can be accessed via 'argv(PROGRAM)'.
  The 'argv(PROGRAM)' function delivers an array of strings. The number
  of parameters is 'length(argv(PROGRAM))' and 'argv(PROGRAM)[1]'
  returns the first parameter.

  The environment can be accessed via the getenv(string) function.
  getenv(string) delivers a string containing the value of the environment
  variable described with 'string'. If no such variable exists the
  empty string is delivered.

  The interpreter is designed to analyze a program as fast as possible.
  This should speed up the typical programming cycle:

    while not OK do
      edit program
      test program
    end while;

  Note that a good design of your program is necessary before you
  start this cycle. But when you start programming you can act
  very fast. No compile time and no link time hurts you.
