Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdl(1) — ACMSxp 3.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

acms(1)

acmsadmin(1)

acmsdbx(1)

acmslog(1)

gwlog(1)

acms_create_tpsystem(1)

acms_delete_tpsystem(1)

acms_set_version(1)

acms_start_tpsystem(1)

acmsxp_introduction(1)

stdl(1)  —  Commands

Digital

NAME

stdl − ACMSxp command that invokes the STDL compiler
 

SYNOPSIS

 stdl [-bcgGLstwz]
      [-B dec | mf | none]
      [-D text-type:header-type:wire-format]
      [-f file-specification]
      [-h directory]
      [-i path]
      [ {-M | -X }]
      [-n records | messages | prototypes [...]]
      [-o directory]
      [-q file-specification]
      [-S include]
      [-T {none | single | multi }]
      [-u uuid]
      [-v version]
  file-specification

FLAGS

-bgenerates a COBOL copy file. The contents of the COBOL copy file are based on the -n option flag. The compiler generates the COBOL copy file in the current working directory, or in the directory specified by  the -h directory flag, with the same name as the input source file and a file extension of .cob. 
 

-Bdec | mf |none
 
Identifies the COBOL compiler to use. The valid values are:
 
  dec       DIGITAL COBOL
  mf        Microfocus COBOL
  none      No COBOL compiler
  The -B option flag overrides the STDL_COBOL environment variable. If you omit the flag, and the environment variable is not set, the default is none. 
 

-cGenerates a C header file. The contents of the C header file are based on the -n option flag. The compiler generates the C header file in the current working directory, or in the directory specified by  -h directory,  with the same name as the input source file and a file extension of .h. 
 

-Dtext-type:header-type:wire-format
 
Specifies how an STDL data type is to be represented in header files and interprocess communications. The value "kanji" is the only valid entry for the text-type, to specify the Kanji text data type. 
 
The values for header-type are "char" and "wchar" (the default). The values for wire-format (describing the format in which characters are passed between clients and servers) are:
 
stdlwire    Conversion occurs before Kanji text data are transmitted
            across the wire.
 
none        No conversion is done before the Kanji text data are
            transmitted across the wire.
 
If you specify "char", a data alignment problem may occur. 
 

-ffile-specification
 
Specifies a file containing a group file specification for one or more processing group specification. The file-specification must be unqualified; it is looked for in the same directory as the #INCLUDE and #CINCLUDE files.  If an input source file contains a processing group specification, and if the procedures defined in the processing group specification access files, then the file descriptor information is required for MIA-compliant compilation of the processing group.  You can supply the group file specification by either this option flag or directly in the input source file. 
 

-gInserts debugging information into the task object file. By default, the compiler does not generate this information. To invoke the debugger for a task server, you must use this argument to compile all tasks that you want to debug in the task group. 
 

-GOnly with processing group specifications and with -T none.  Uses shared memory for communications between task servers and processing servers. 
 

-hdirectory
 
Specifies a directory into which the STDL compiler generates C header files. By default, the compiler generates these output files in the current working directory.
 

-ipath
 
The path argument specifies a directory search path for STDL #INCLUDE and #CINCLUDE files. Each argument must be either an environment variable or a legal directory specification. The compiler searches for the #INCLUDE or #CINCLUDE files in the following order:
 
1. Path containing the top-level source file.
 
2. Path specified by the -i option flag. 
 
3. Directories listed in the  STDL_INCLUDE_PATH environment variable.
 

-LProduces a file that contains a numbered source file listing with error messages inserted directly under the erroneous source lines. The compiler creates this file in the current working directory giving the file the same name as the input source file with the .lis file extension. Use the -S option in conjunction with this flag to further qualify the contents of the listing file. 
 

-MUses Multivendor Integration Architecture (MIA) syntax.  By default, X/Open syntax is used. 
 

-nrecords | messages | prototypes [...]
 
Specifies the desired contents of the  C header file. The -n option flag  is used in conjunction with -b and -c option flag.  You can specify one or more -n option flag with each -c option flag If you do not specify the -n option flag, the generated COBOL copy files and C header files contain all possible contents. You can specify one of the following keywords with each -n option flag:
 
o records
 
  The compiler generates equivalent record structures for all the
  data type definitions in the input source file in C or COBOL.
 
o messages
 
  The compiler generates equivalent record structures for all the
  message group definitions in the input source file in C or COBOL.
 
o prototypes
 
  The compiler generates function prototypes for tasks in all task
  group specifications in the input source file in C. This keyword
  is valid only with the -c option flag. 
 

-odirectory
 
Specifies a directory into which output files (.o, .cat, and .idf) are generated. By default, the compiler generates these output files in the current working directory.
 

-qfile-specification
 
Specifies a file containing record queue specifications. The file must be unqualified; it is looked for in the same directories as the #INCLUDE and #CINCLUDE files. If an input source file contains a task definition that refers to record queues, the queue information is required. You can supply the record queue specifications with the -q option flag or directly in the input source file. 
 

-sPerforms syntax and semantic checks only; does not generate any output (.o, .cat, .idf, .h  files). By default, the compiler generates output as directed by other arguments. 
 

-Sinclude
 
Use this in conjunction with the -L option flag. If you specify the -L  option flag without the -S include option flag, the compiler includes only the input source file in the listing file. If you specify -L with -S include the compiler includes the contents of the files in the #INCLUDE and #CINCLUDE directives in addition to the source file contents. 
 

-tGenerates output (.o files) only for task definitions in the input source file. By default, the compiler generates outputs for all definitions in the input source file. 
 

-Tnone | single | multi
 
Identifies the transaction resource model to be used for the task server or processing server. Specify one of the following keywords:
 
o none
 
  The compiler generates no support for transaction control.
  All of the restrictions of the single resource model apply.
 
  For a task server:
 
  All tasks must be noncomposable, can call only noncomposable
  tasks, and cannot use transactional resources. The transaction
  control is assumed to be in a processing procedure, but
  tasks must still use the transaction block to perform any work
  and the resources must be nontransactional.
 
  For a processing server:
 
  All processing procedure calls are noncomposable. A processing
  procedure can start, commit, and roll back a transaction.
  ACMSxp software does not retain transaction context between
  processing procedure calls.
 
o single
 
  The compiler generates transaction support for one transactional
  resource.
 
  For a task server:
 
  The transaction is managed through STDL syntax, but restricted to one
  resource which is accessed through processing procedures in a single
  processing server. No transactional resource can be accessed
  through STDL syntax. A task can call composable tasks in the same
  task group.
 
  For a processing server:
 
  All processing procedure calls are composable. ACMSxp retains context
  in the processing server for the duration of the transaction. The
  processing procedure supplies the routines with the following names
  to start, commit, and roll back the transaction in the single
  resource manager (for example, a SQL database).
 
     stdl_start_transaction
     stdl_commit_transaction
     stdl_rollback_transaction
 
o multi
 
  The compiler generates support for multiple transactional resources.
  This is the default.
 
  For a task server:
 
  The transaction is managed through STDL syntax and can span multiple
  task groups and processing groups. Transactional resources are
  accessed through STDL syntax.
 
  For a processing server:
 
  All processing procedure calls are composable. ACMSxp retains context
  in the processing server for the duration of the transaction.
 
If you omit the -T option flag, the transaction model is multi. 
 

-uuuid
 
Specifies the default UUID associated with the first processing group specification within the input source file that does not specify a UUID within the STDL syntax. If the input file contains a processing group specification with no UUID specified, this argument is required. This command argument applies only to processing groups that you are compiling, not to processing groups referred to. A UUID value is made up of hexadecimal digits grouped as follows:
 
      XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXX
 
Run uuidgen to generate a UUID. 
 

-vversion
 
Specifies the default version number associated with any processing group specification within the input source file that does not have a version within the specification syntax. If the input file contains a processing group specification with no version and if you do not specify the -v version argument, the compiler associates a version of 0.0 with the processing group specification. Version is a decimal literal without a sign. Processing group specifications included for reference only do not require a version number on the command line.
 

-wSuppresses warning messages. The default is to display warning messages. 
 

-XUses the X/Open version of the STDL syntax when compiling the source code. This is the default. 
 

-zControls whether optimization is performed by the STDL compiler when object files without debugging information are created. Nondebug code is optimized by default. Specifying the -z flag when producing nondebug code disables optimization, allowing you to proceed if there is a problem with using optimized code. 
 
If the -g flag is specified, no optimization is performed by default.  You cannot generate optimized debug code. 

DESCRIPTION

The compiler translates STDL definitions and specifications contained in the specified file into object code and other outputs. 

The STDL compiler can generate outputs for use in developing processing servers, task servers, presentation servers, and client programs.  Output is to the current working directory, to the directory containing the top-level input source file, to directories specified by the command-line option flags, or to the locations set by environment variables. 

Use a nonqualified or fully qualified name of a file for the stdl command to compile.  All nonqualified file names must be in the current working directory.  The compiler appends the .stdl suffix to a file created from a file specification that does not contain a suffix.  The maximum size for the command line is 255 characters. 

Do not mix transaction types within a single task group or processing group. A task can call a noncomposable task in another server that uses a different transaction model. 

A task group using the single-resource or multiple-resource transaction model can call a processing procedure in a processing group that uses the none transaction model. Compile the client stubs for the processing group separately from those of the task group. Proceed as follows:
 

     1.Compile the tasks with the -T single or -T multi and with the -t option flag so that no processing group stubs are generated. 
 

     2.Compile the processing group with the -T multi option flag. 
 

     3.Link the following:
 
  o Task objects and task server stubs that were compiled with the
    single or multi transaction model
 
  o Processing group stub that was compiled with the multi
    transaction model

 

RELATED INFORMATION

Commands: acms(1), acmsadmin(1), acmsdbx(1), acmslog(1), gwlog(1),

Scripts: acms_create_tpsystem(1), acms_delete_tpsystem(1), acms_set_version(1), acms_start_tpsystem(1)

acmsxp_introduction(1)
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026