PL/I Importer Overview

The PL/I importer imports PL/I data structures from a PL/I program (with an extension of pli, .inc or .mac) and presents these PL/I data structures as a Common Application Metamodel (CAM) - EMF resource to the application (import client).
The purpose of the PL/I importer is to represent the PL/I data structures into a DATA model (CAM) - EMF resource. It is the responsibility of the tool providers to extract information from the resource and use it for their own purpose. The importer can report any syntax errors.

Using the PL/I Importer

The following list outlines requirements and limitations for using the PL/I importer:
  • The PL/I importer is not supported on Linux.
  • A file is assumed to be a complete PL/I program if it has the extension of .pli.
  • A file is assumed to be an include file if it has the extension .inc or .mac. If the file is an include member then it should consist of only one or more 1 data structures.
  • REFERS Support: Only Simple REFER is supported by the PL/I. REFERS Support: The REFERS usage is "simple" if:
    • Only one structure element uses REFER, and that element has no later siblings and no parents with siblings, and that element is
      • Either a scalar string or AREA
      • Or a one-dimensional array of char with constant lbound
      • Or an array of elements of constant size and with only the upper bound in the first dimension non-constant
    • dcl
        1 nc1         based,
          2 ne      bin fixed(15),
          2 nx1     char( nc refer(ne) );
      dcl
        1 nc2         based,
          2 ne      bin fixed(15),
          2 nf      bin fixed(15),
          2 nx2( nc refer(ne) ) char( nd refer(nf) );
      dcl
        1 nc3         based,
          2 ne      bin fixed(15),
          2 nx3( nc refer (ne) , 2 ),
            3 nb1      char(4),
            3 nb2      char(6);
      Note that the nx3 has children, but no later siblings.
      Note: If the source file has a COMPLEX REFER (which is not a SIMPLE REFER), the data structure which has the complex refer does not show up.

Input

In order for a PL/I file to be successfully imported into your project, it must be a complete PL/I program or include file. The importer is sensitive to file extensions, and files with incorrect extensions causes an importer error.

Output

On successful import of the PL/I importer source, an EMF resource (CAM data model) is returned.


Feedback