Google
 

Trailing-Edge - PDP-10 Archives - BB-J941C-BB_A19 - bliss.hlp
There are 8 other files named bliss.hlp in the archive. Click here to see a list.
BLISS.HLP--Help file for BLISS-36   Version 3   Feb-82  [4 pages]



1.0  INTRODUCTION

BLISS-36 is a BLISS language compiler  that  runs  under  TOPS-10  and
generates  code  for  KA, KI, KS, and KL processors.  The BLISS system
consists of the BLISS-36 compiler and a collection of  BLISS  oriented
utilities and documentation.

The BLISS language  is  designed  for  the  implementation  of  system
software.  It combines the simplicity, transportability and clarity of
high-level languages, with the precision and flexibility  of  assembly
languages.   Special care has been taken so that the BLISS language is
transportable.     Compilers    are    currently     available     for
DECsystem-10/DECSYSTEM-20   (BLISS-36),   VAX  (BLISS-32)  and  PDP-11
(BLISS-16).  Each compiler includes machine specific  extensions  that
may be used as required.  The BLISS-36 compiler optimizes greatly and,
generally, resultant programs are comparable  in  size  and  speed  to
those coded in assembly language.

This summary, as well as other BLISS documents, assumes that the BLISS
compiler  and  its  object time libraries are installed on SYS:;  help
files are installed on HLP:;  other documentation is installed on DOC:
and all other files are installed on BLI:.

The file DOC:BLISS.DOC, distributed with this release contains:

      o  Detailed description of the  differences  between  version  3
         (this version) and version 2.1 of BLISS-36

      o  A list of known bugs in this release

      o  "Pointers" to other sources of information about BLISS-36 and
         its associated utilities

      o  A list of the major components of the BLISS-36 system




2.0  COMMAND LINE

BLISS uses SCAN to parse the command line, and so its command line  is
similar  to  most other TOPS-10 command lines.  Invoke the compiler by
running BLISS.  The compiler responds with a prompt  (*).   The  basic
form of the command line is:

        *objfil,lstfil=srcfil/switches
or
        *@indfil

Default commands can be placed in a SWITCH.INI file,  under  the  name
BLISS.
3.0  SWITCHES

A listing of the available switches  is  given  below.   Defaults  are
marked  with  an  asterisk(*).   The  options for the /LIST switch are
described below.

SWITCH                   DESCRIPTION

/C(ODE)*                 Generate object code.

/D(EBUG)                 Generate symbols for  debugging,  emit  debug
                         linkages,  and  disable certain optimizations
                         which might mislead the debugger.

/ERRL(IM):n*             Number of compilation errors permitted before
                         compilation will be automatically terminated.
                         Default value for "n" is 30 errors.

/ERRS*                   Report errors to the terminal.

/H(EADER)*               Produce a heading on the top of each page  of
                         the   listing  file  including  configuration
                         information.

/KA(10)*                 Assume generated code is to be executed on  a
                         KA-10.

/KI(10)                  Assume generated code is to be executed on  a
                         KI-10.

/KS(10)                  Assume generated code is to be executed on  a
                         KS-10.  (Synonymous with /KL10).

/KL(10)                  Assume generated code is to be executed on  a
                         KL-10 or KL-20.

/LIB(RARY):fs            Interpret the source  file(s)  as  a  library
                         source  file.   The  resultant object file is
                         the precompiled  library  file  that  can  be
                         requested   from  a  source  program  with  a
                         library-declaration.  The  default  file-spec
                         (fs) name is the same as the source file name
                         and the default extension is ".L36".  Library
                         files  compiled  with  version  1B  or  older
                         compilers  must  be  recompiled   using   the
                         current version.

/LIS(T):options          Specify certain options to control the format
                         of the listing file (see below).

/NOxxx                   Invert the meaning of switch /xxx.

/OPTI(MIZE)*             Perform full flow analysis.  (Invert  meaning
                         by /OPTIMIZE:NO)
/OPTL(EVEL):n            Specify the degree of optimization.   N  must
                         be  in  the  range  0  to  3.   Request 3 for
                         maximum optimization.  Default is 2.

/P(AGSIZ):n              Specify the number of lines printed  on  each
                         page  of the listing file.  N must be greater
                         than 20.  Default is 52.

/Q(UICK)                 Requests a "quick" compilation,  possibly  at
                         the expense of some optimization.

/SA(FE)*                 Specifies that the source program is coded in
                         a   "safe"  manner,  i.e.   values  of  named
                         variables  are  changed  only   by   explicit
                         assignment to the named variable.  If /NOSAFE
                         is  specified,  the  compiler  assumes   that
                         indirect   assignments  invalidate  a  larger
                         class of variables.

/ST(ATISTICS)            Print routine names on the terminal  as  they
                         are compiled.

/TOPS1(0)*               Produce code to run under TOPS-10.

/TOPS2(0)                Produce code to run under TOPS-20.

/U(NAMES)                Produce unique names for  own  variables  and
                         non-global  routine names in the listing file
                         when it is to be assembled.

/V(ARIANT):n             Assign n to  be  the  value  of  the  lexical
                         function %VARIANT.  If not present (default),
                         zero is assumed.  If present and no value  is
                         given, 1 is assumed.

/Z(IP)                   Optimized for time over space if there  is  a
                         choice to be made.

The following are the options that can be given with the /LIST switch.
The form of the /LIST switch is given by:

        /LIST:option
or
        /LIST:(option,option, ...)


A(SSEMBLY)               Produce a listing file that can be assembled.
                         (Some modification may be necessary.)

B(INARY)*                Include  in  the  listing  file   the   octal
                         representation of the binary code generated.

C(OMMENTARY)*            Include in the listing file commentary on the
                         operands  of  each  instruction.   Currently,
                         this consists of a source line number.
E(XPAND)                 Include   the   expansion   of   each   macro
                         invocation.  See also the TRACE option.

L(IBRARY)                Include  a  trace  identifying  the   library
                         accessed  by each library-declaration and the
                         first use of each name  whose  definition  is
                         obtained from a library file.

NOxxx                    Invert the meaning of option xxx.

O(BJECT)*                List  the  compiled  code.    The   ASSEMBLY,
                         SYMBOLIC,   BINARY,  and  COMMENTARY  options
                         determine the format of the compiled code.

R(EQUIRE)                Do not modify  the  listing  control  counter
                         (see  the  SOURCE  option)  when  opening  or
                         closing  files   specified   in   a   REQUIRE
                         declaration.    In  the  default  case,  this
                         results in not listing each REQUIRE file.

SO(URCE)*                Increments the listing control counter.   The
                         initial  value of the counter is 1.  When the
                         counter is greater than 0, source is  listed.
                         Require-declarations  automatically decrement
                         the counter for the  length  of  the  require
                         file unless the REQUIRE option is used.

SY(MBOLIC)*              List the  instructions  generated,  using  as
                         many program symbols as possible.

T(RACE)                  Trace macro  expansion.   This  includes  the
                         resulting   stream  of  lexemes  produced  by
                         EXPAND.



4.0  ENVIRONMENTS

The BLISS compiler  can  generate  code  for  a  number  of  different
environments.   That is, it can generate code which takes advantage of
special features of a variety of  processors  (KA10,  KI10,  KS10  and
KL10)  and  for  either TOPS-10 or TOPS-20.  Furthermore, BLISS allows
the user to specify a large variety of routine linkages.  Any of these
environmental changes may cause a need for another OTS (operating time
system) or high-level debugger (SIX12).  However, in almost all cases,
BLISS  will do the right thing automatically.  For unusual specialized
situations BLISS  requires  some  help  (See  DOC:BLISS.DOC  for  more
details).


[end of BLISS.HLP]