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.