ATLAS Compiler
Version 3.23.07 (20050928)
Release Date: 28 September 2005
Overview
The following describes an overview of changes included within version 20050928 (3.23.7) of the following ATLAS compiler(s)
IEEE716.89 / All Stations
and version 20050928 (3.23.7) of the following ATLAS support tools:
None
1.1 Enhancements
1.1.1 OUTPUT,
<ArrayRange>
1.2 Problem Reports
05-021
2.0 Detailed Description
2.1 Enhancements
2.1.1 OUTPUT,
<ArrayRange>
The IEEE Std 716 / 1989 (C/ATLAS,) <TextOutput> 9.3.6 syntax allows a comma separated list of <Expressions>, each of
which may be optionally followed by a <TextFormat> 9.3.6.A, as shown by the following syntax definition:
<TextOutput> :: [ TO <File> ] { <Fd> <Expression> [ <TextFormat> ] }
Several users have requested that in addition to <Expression> that an <ArrayRange> reference be allowed as it is in
the ARINC 626 standard.
This revision of the IEEE716.89 compilers includes that requested enhancement, thus the syntax definition id now, as follows:
<TextOutput> :: [ TO <File> ] { <Fd> { <Expression> | <ArrayRange> }
[ <TextFormat> ] }
The <TextFormat>, if present, will apply to each element of the specified array.
2.2 Problem Reports
2.2.1 05-021 EXTERNAL / GLOBAL Constants
The IEEE Std 716 / 1989 (C/ATLAS,) allows CONSTANT declarations to optionally specify the EXTERNAL or GLOBAL attribute.
The syntax requires that the constant value always be be specified, including when the EXTERNAL attribute is specified.
Those specifications enable the possibility that such an EXTERNAL constant be assigned a different value in the ATLAS
module where the GLOBAL declaration appears:
Example:
BEGIN, ATLAS PROGRAM 1 $
DECLARE, EXTERNAL, CONSTANT MAXITM IS 100 $
TERMINATE, ATLAS PROGRAM 1 $
BEGIN, ATLAS MODULE 2 $
DECLARE, GLOBAL, CONSTANT MAXITM IS 110 $
TERMINATE, ATLAS MODULE 2 $
Thus the value associated with the constant MAXITM is 100 in program 1 and 110 in module 2.
This release of the ATLAS Compiler will issue a the information message:
"EXTERNAL Constant Value Ignored (INFO)"
All runtime references to the constant will use the value specified by the GLOBAL declaration.
|