[comp.lsi] Chapter 13 - 1076 DoD translated VHDL test suite

grout@sunspot.stars.flab.Fujitsu.JUNET (Steve Grout) (07/13/88)

This is Chapter 13 of a 1076-1987 VHDL test suite which was
translated from an 7.2 VHDL version test suite developed by
Intermetrics under funding by the DoD.  These tests have been
verified todate mainly against a VHDL 'recognizer' so they may
yet have problems with VHDL semantics.  They consist of two
classes of tests,

  ERROR Tests: - names which start with 'e' should result in VHDL errors
   at the spot where there is a comment about error being expected.

  SIMPLE Tests: - names which start with 's' should analyze or compile cleanly.

These tests are being shared back to industry in hopes of getting together
a joint set of tests, checked out and verified, which we can all use to 
make sure our various VHDL CAD tools work correctly.

Your comments and especially constructive criticism is urgently requested
via any way we can get it.  All replies and resulting changes/updates will
be posted back to the same places these tests were originally posted.

Thanks for your support!

--Steve Grout, MCC CAD Program. (512)338-3516, grout@mcc.com


---- Cut Here and unpack ----
#!/bin/sh
#
# This is a 'shar' archive.  Cut out everything above the line
# and unpack them with /bin/sh, i.e., using a command like:
#     % sh < {the contents of this message after cutting}
#
#
echo "--------------------------------------------------"
echo "Starting to extract Chapter 13 of a 1076-1987 VHDL"
echo "    translated DoD/Intermetrics test suite...."
echo "--------------------------------------------------"
echo x - TEST-SYNOPSIS.text
sed 's/^X//' >TEST-SYNOPSIS.text <<'*-*-END-of-TEST-SYNOPSIS.text-*-*'
X------------------------------------------------------------------------
XChapter: 13 Lexical Elements
X------------------------------------------------------------------------
X
X
X------------------------------------------------------------------------
X  Paragraph:  13-Lexical Elements - Appendix-A --> 13.0
X------------------------------------------------------------------------
X
X------------------------------------------------------------------------
X  Paragraph:  Character Set - A.1 --> 13.1
X------------------------------------------------------------------------
XTest:       s-13-1-0-0001a.vhdl
X-- Check that the basic character set is accepted outside of string literals and
X-- comments.
X
X------------------------------------------------------------------------
X  Paragraph:  Lexical Elements, Separators, and Delimiters - A.2 --> 13.2
X------------------------------------------------------------------------
XTest:       e-13-2-0-0001a.vhdl
X-- Check that an identifier (identifiers include reserved words) cannot be
X-- continued across a line boundary.
XTest:       e-13-2-0-0002a.vhdl
X-- Check that a compound delimiter cannot be continued across a line boundary.
XTest:       e-13-2-0-0003a.vhdl
X-- Check that an integer literal cannot be continued across a line boundary.
XTest:       e-13-2-0-0004a.vhdl
X-- Check that a floating point real literal cannot be continued across a line
X-- boundary.
XTest:       e-13-2-0-0005a.vhdl
X-- Check that a character literal cannot be continued across a line boundary.
XTest:       e-13-2-0-0006a.vhdl
X-- Check that a string literal cannot be continued across a line boundary.
XTest:       e-13-2-0-0007a.vhdl
X-- Check that a comment cannot be continued across a line boundary
XTest:       e-13-2-0-0008a.vhdl
X-- Check that at least one space must separate any two adjacent identifiers
X-- (including reserved words), or adjacent abstract literals, or an identifier
X-- followed by an abstract literal, or an abstract literal without exponent 
X-- followed by an identifier which begins with the letter E or e.
XTest:       e-13-2-0-0009a.vhdl
X--Check that identifiers (including reserved words) cannot contain
X--spaces.
XTest:       e-13-2-0-0010a.vhdl
X--Check that compound delimiters cannot contain spaces.
XTest:       e-13-2-0-0011a.vhdl
X-- Check that integer literals cannot contain spaces.
XTest:       e-13-2-0-0012a.vhdl
X--Check that floating point real literals cannot contain spaces.
XTest:       e-13-2-0-0013a.vhdl
X-- CHECK THAT A BIT STRING LITERAL CANNOT BE CONTINUED ACROSS A LINE BOUNDARY.
XTest:       s-13-2-0-0001a.vhdl
X-- Check that delimiters (simple and compound) delimit any two adjacent lexical
X-- elements.
XTest:       s-13-2-0-0002a.vhdl
X-- Check that separators are required only when interpretation as a single
X-- lexical element is otherwise possible.
X
X------------------------------------------------------------------------
X  Paragraph:  Identifiers - A.3 --> 13.3
X------------------------------------------------------------------------
XTest:       e-13-3-0-0001a.vhdl
X--Check that consecutive, leading, and trailing underscores are not
X--allowed in identifiers.
XTest:       e-13-3-0-0002a.vhdl
X-- Check that ? # $ % ^ & ' are not allowed in identifiers.
XTest:       s-13-3-0-0001a.vhdl
X-- Check that upper and lower case letters are equivalent in identifiers
X-- (including reserved words).
XTest:       s-13-3-0-0002a.vhdl
X-- Check that the maximum input line length is 132.
XTest:       s-13-3-0-0003a.vhdl
X-- Check that variable identifiers can be as long as the maximum input line
X-- length permitted and that all characters are significant.
X
X------------------------------------------------------------------------
X  Paragraph:  Abstract Literals A.4 --> 13.4
X------------------------------------------------------------------------
XTest:       e-13-4-0-0001a.vhdl
X-- Check that leading and trailing points are not permitted in real
X-- literals.
XTest:       e-13-4-0-0002a.vhdl
X-- Check that underscores are not permitted to be consecutive, to lead
X-- or trail, or to be adjacent to the '.' E + - # characters in integer
X-- or real literals.
XTest:       e-13-4-0-0003a.vhdl
X-- Check that an exponent for an integer literal must not have a minus
X-- sign.
XTest:       s-13-4-0-0001a.vhdl
X-- Check that both upper case and lower case E may be used to indicate exponent
X-- in both integer and real literals.
XTest:       s-13-4-0-0002a.vhdl
X-- Check that an underscore may be inserted between adjacent digits in any
X-- part of an abstrct literal without affecting the value of the abstract 
X-- literal.
XTest:       s-13-4-0-0003a.vhdl
X-- Check that leading zeros in integral parts of integer literals are ignored.
XTest:       s-13-4-0-0004a.vhdl
X-- Check that integer literals can be as long as the maximum input line length
X-- and still yield representable values.
XTest:       s-13-4-0-0005a.vhdl
X-- Check that leading zeros in integral parts and trailing zeros in fractional
X-- parts of real literals are ignored.
XTest:       s-13-4-0-0006a.vhdl
X-- Check that real literals can be as long as the maximum input line
X-- length and still yield representable values.
X-- This has to be carefully done since the implementation may limit the
X-- range of allowable values.
XTest:       s-13-4-0-0007a.vhdl
X-- Check that a zero exponent is allowed for an integer literal.
X
X------------------------------------------------------------------------
X  Paragraph:  Decimal Literals A.4.1 --> 13.4.1
X------------------------------------------------------------------------
X
X------------------------------------------------------------------------
X  Paragraph:  Based Literals A.4.2 --> 13.4.2
X------------------------------------------------------------------------
XTest:       e-13-4-2-0001a.vhdl
X-- Check that the digits and extended digits of a based integer or real         
X-- literal are within the correct range for the number's base.
XTest:       e-13-4-2-0002a.vhdl
X-- Check that no base less than '2' or greater than '16' is allowed.
XTest:       e-13-4-2-0003a.vhdl
X-- Check that extended digits are not allowed in the base 
X-- or exponent.
XTest:       s-13-4-2-0001a.vhdl
X-- Check that both uppercase and lowercase letters A B C D E F are allowed as
X-- extended digits in based literals (integer and real).
X-- Checks only for letters in value part (not allowed in base or exponent).
XTest:       s-13-4-2-0002a.vhdl
X-- Check that based integer literals with bases '2' through '16' all yield
X-- correct values.
X
X------------------------------------------------------------------------
X  Paragraph:  Character Literals A.5 --> 13.5
X------------------------------------------------------------------------
XTest:       e-13-5-0-0001a.vhdl
X-- Check that an ' must not be doubled when used as the data character in a
X-- character literal.
XTest:       e-13-5-0-0002a.vhdl
X-- Check that a control character cannot be used as the data character in a
X-- character literal.
X-- ETX at end of function body because detected as end of file.
XTest:       s-13-5-0-0001a.vhdl
X-- Check that any graphic character, including a single ', can be used as the
X-- data character in a character literal.
X
X------------------------------------------------------------------------
X  Paragraph:  String Literals A.6 --> 13.6
X------------------------------------------------------------------------
XTest:       e-13-6-0-0001a.vhdl
X-- Check that " must be doubled to be used within string literals as a data
X-- character.
XTest:       e-13-6-0-0002a.vhdl
X-- Check that control characters cannot be included in string literals.
X-- ETX at end of function body because detected as end of file.
X-- Blanks following CR so doesn't write over itself.
XTest:       s-13-6-0-0001a.vhdl
X-- Check that all graphic characters, except a single ", are permitted as data
X-- characters in string literals.
XTest:       s-13-6-0-0002a.vhdl
X-- Check that doubled " can be used as a data character in string literals.
XTest:       s-13-6-0-0003a.vhdl
X-- Check that uppercase and lowercase letters are distinct within a string
X-- literal.
XTest:       s-13-6-0-0004a.vhdl
X-- Check that string literals of length 1 are equal in value
X-- to their corresponding chacter literal.
XTest:       s-13-6-0-0005a.vhdl
X-- Check that null strings are permitted.
X
X------------------------------------------------------------------------
X  Paragraph:  Bit String Literals A.7 --> 13.7
X------------------------------------------------------------------------
XTest:       e-13-7-0-0001a.vhdl
X-- Check that in bit string literals with base specifier B only '0' and '1' are
X-- allowed as digits.
XTest:       e-13-7-0-0002a.vhdl
X-- Check that in bit string literals with base specifier O only '0'..'7' are
X-- allowed as digits.
XTest:       e-13-7-0-0003a.vhdl
X-- Check that in bit string literals with base specifier X only '0'..'9' and
X-- upper and lower case A..F are allowed as (extended) digits.
XTest:       s-13-7-0-0001a.vhdl
X-- Check that B O and X (and their lowercase counterparts) are permitted as base
X-- specifiers and that they yield the correct values.
XTest:       s-13-7-0-0002a.vhdl
X-- Check that both upper and lower case A..F are equivalenet as extended 
X-- digits in bit string literals with base specifier X.
XTest:       s-13-7-0-0003a.vhdl
X-- Check that an underscore may be inserted between adjacent digits without
X-- affecting the value of the bit string literal.
X
X------------------------------------------------------------------------
X  Paragraph:  Comments A.8 --> 13.8
X------------------------------------------------------------------------
XTest:       s-13-8-0-0001a.vhdl
X-- Check that each occurrance of two adjacent hyphens not in a string literal
X-- or inside a previously begun comment begins a comment.
X
X------------------------------------------------------------------------
X  Paragraph:  Reserved Words A.9 --> 13.9
X------------------------------------------------------------------------
XTest:       e-13-9-0-0001a.vhdl
X-- declared identifiers).
X-- Checks all reserved words listed in LRM 3.5 Appendix A.9.
XTest:       e-13-9-0-0001b.vhdl
X-- Check that all reserved words are actually reserved (cannot be used as
X-- declared identifiers).
X-- Checks all reserved words listed in LRM 3.5 Appendix A.9.
X
X------------------------------------------------------------------------
X  Paragraph:  Allowable Replacement of Characters - A.10 --> 13.10
X------------------------------------------------------------------------
X       e-13-10-00001a.vhdl
X       e-13-10-00002a.vhdl
X       e-13-10-00003a.vhdl
X       e-13-10-00004a.vhdl
XTest:       s-13-10-00001a.vhdl
X-- Check that ! : % are equivalent to the character they replace.
XTest:       s-13-10-00002a.vhdl
X-- Check that doubled % can be used as a data character in a 
X-- string literal when the quotation character string brackets
X-- are replaced by percent characters.
*-*-END-of-TEST-SYNOPSIS.text-*-*
echo x - e-13-2-0-0001a.vhdl
sed 's/^X//' >e-13-2-0-0001a.vhdl <<'*-*-END-of-e-13-2-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that an identifier (identifiers include reserved words) cannot be
X-- continued across a line boundary.
X-- JB  (DB 6/8/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E is
X    port (PT:BOOLEAN) ;
X    ty
Xpe ONE is range 1 to 1;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X    type TWO i
Xs range 2 to 2;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X    type THREE is ran
Xge 3 to 3;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X    type FOUR is range 4 t
Xo 4;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X    type A1 is arr
Xay (FOUR range <>) of FOUR;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X    type FIV
XE is range 1 to 5;
X    --ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X    type U1 is range 1 to 2
X	units
X	    S
XINGLE;
X            -- ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X	    DOUBLE = 2 SINGLE;
X	en
Xd units;
X	--ERROR: RESERVED WORDS MUST FIT ON ONE LINE
Xend E;
X
Xarchitecture BB3 of E is
X
X-- b
X-- lock
X  b
Xegin
X--ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X  process
X    varia
Xble V1:BOOLEAN;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X    variable V
X2:BOOLEAN;
X    --ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X    co
Xnstant FIVE:V3 := 5;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X
X  begin
X    return;
X  end proc
Xess;
X  --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X end block;
Xend BB3;
X
Xarchitecture AB1 o
Xf E is
X--ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X-- L_X_1: block
X    signal S
X1:BOOLEAN;
X    --ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X begin
X  process
X  begi
Xn
X  --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X       S1 <= FA
XLSE;
X       --ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X  end process;
X-- end block;
Xend AB1;
X
Xarchitecture A
XB2 of E is
X--ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X-- L_X_2:  block
X  si
Xgnal S1:BOOLEAN;
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X   begin
X   process
X    be
Xgin
X    --ERROR: RESERVED WORDS MUST FIT ON ONE LINE
X      S
X1 <= FALSE;
X      --ERROR: IDENTIFIERS MUST FIT ON ONE LINE
X   end process;    
X--  end block;
Xend AB2;
X
Xarchi
Xtecture Z of E is
X-- A2: block
X    begin
X      process
X      begin
X        null;
X      end process;
X--    end block;
Xend Z;
X
*-*-END-of-e-13-2-0-0001a.vhdl-*-*
echo x - e-13-2-0-0002a.vhdl
sed 's/^X//' >e-13-2-0-0002a.vhdl <<'*-*-END-of-e-13-2-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a compound delimiter cannot be continued across a line boundary.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction E1 return boolean 
X  is
Xbegin
X  return TRUE;
X end E1;
Xend P ;
X
Xpackage E2 is 
X  type E is (A,B,C);
Xend E2;
X
X--with function < -- 1076 does not support << {name} >> constructs.
X--<CONTEXT>>E1;
X--     -- ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LIN
X--with package <<CONTEXT>
X-->E2;
X--     --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    type ONE is range 1 to 1;
X    type THREE is range 1 to 3;
X    type FOUR is range 1 to 4;
X    type A1 is array (ONE) of ONE;
X    type A2 is array (ONE range <
X>) of BOOLEAN;
X    --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1:block
Xbegin
X  process
X    variable V1: BOOLEAN;
X    constant C1: ONE :
X= 1;
X    --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X    constant C2: A1 := (1=
X>1);
X    --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X    constant C3: THREE := 3;
X    constant C4: FOUR := 4;
X
X  begin
X     if C3 <
X= C4 then
X    --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X         V1 := TRUE;
X     end if;
X
X     if C3 >
X= C4 then
X    --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X      V1 := FALSE;
X     end if;	
X
X     if C3 /
X= C4 then
X    --ERROR: THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X        null;
X     end if;
X
X     if C3 = C4 then
X        C3 := 1*
X*2;
X	--ERROR THE SPECIAL CHARACTERS OF A COMPOUND DELIMITER MUST BE ON ONE LINE
X     end if;
X  end process;
X-- end block;
Xend BB;
*-*-END-of-e-13-2-0-0002a.vhdl-*-*
echo x - e-13-2-0-0003a.vhdl
sed 's/^X//' >e-13-2-0-0003a.vhdl <<'*-*-END-of-e-13-2-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that an integer literal cannot be continued across a line boundary.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type T1 is range 12
X    34 to 5678;
X    --ERROR: INTEGER LITERALS MUST BE ON ONE LINE
X    type T2 is range 1000 to 5000;
X    subtype SUBT_1 is T2 range 16#7F
X    F# to 16#FFF#;
X    --ERROR: INTEGER LITERALS MUST BE ON ONE LINE
X    subtype SUBT_2 is T2 range 23_45 to 4
X    56_7;
X    --ERROR: INTEGER LITERALS MUST BE ON ONE LINE
X    variable V1: T2 :=22
X    22;
X    --ERROR: INTEGER LITERALS MUST BE ON ONE LINE
X    type T3 is range 123E
X    2 to 456E2;
X    --ERROR: INTEGER LITERALS MUST BE ON ONE LINE
X    variable I1: INTEGER;
X
Xbegin
X    I1 := 456
X    789;
X    --ERROR: INTEGER LITERALS MUST BE ON ONE LINE
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-2-0-0003a.vhdl-*-*
echo x - e-13-2-0-0004a.vhdl
sed 's/^X//' >e-13-2-0-0004a.vhdl <<'*-*-END-of-e-13-2-0-0004a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0004A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a floating point real literal cannot be continued across a line
X-- boundary.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type REAL_1 is range 0.4
X      56 to 11.0;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    type REAL_2 is range 10.0E+2 to 20.0E+3;
X    variable V1: REAL_2 :=1
X    5.0E+3;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    variable REAL_3: REAL;
X    variable REAL_4: REAL;
X    variable REAL_5: REAL;
X
Xbegin
X    REAL_3 := 12.3
X    4;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    REAL_4 := 1
X    .23E+1;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    REAL_5 := 9.87E
X    -4;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    REAL_3 := 0.0
X    0_1;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    REAL_4 := 2#
X    1.111#E1;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    REAL_5 := 16#F.F#E
X    +1;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    REAL_3 := 123_4
X    5.12;
X    --ERROR: FLOATING POINT REAL LITERALS MUST BE ON ONE LINE
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-2-0-0004a.vhdl-*-*
echo x - e-13-2-0-0005a.vhdl
sed 's/^X//' >e-13-2-0-0005a.vhdl <<'*-*-END-of-e-13-2-0-0005a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0005A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a character literal cannot be continued across a line boundary.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type CHAR1 is ('
X    C');
X    --ERROR: CHARACTER LITERALS MUST BE ON ONE LINE
X    type CHAR2 is ('Z');
X    variable VAR1: CHAR2 := ('Z
X    ');
X    --ERROR: CHARACTER LITERALS MUST BE ON ONE LINE
X    variable VAR2: CHARACTER;
X
Xbegin
X    VAR2 := 'A
X    ';
X    --ERROR: CHARACTER LITERALS MUST BE ON ONE LINE
X    return FALSE;
X  end F;
Xend P ;
X
*-*-END-of-e-13-2-0-0005a.vhdl-*-*
echo x - e-13-2-0-0006a.vhdl
sed 's/^X//' >e-13-2-0-0006a.vhdl <<'*-*-END-of-e-13-2-0-0006a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0006A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a string literal cannot be continued across a line boundary.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    constant STRNG1: STRING :="FI
X    RST";
X    --ERROR: STRING LITERALS MUST BE ON ONE LINE
X    variable STRNG2: STRING (1 to 10);
X
Xbegin
X    STRING2 := "TH
X    REE";
X    --ERROR: STRING LITERALS MUST BE ON ONE LINE   
X return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-2-0-0006a.vhdl-*-*
echo x - e-13-2-0-0007a.vhdl
sed 's/^X//' >e-13-2-0-0007a.vhdl <<'*-*-END-of-e-13-2-0-0007a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0007A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a comment cannot be continued across a line boundary
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F1 return BOOLEAN is
X--This is an
Xerror.
X--ERROR: COMMENTS MUST BE ON ONE LINE
X
Xbegin
X    --The is an example of
X      a comment continuing across line boundraries
X    --ERROR: COMMENTS MUST BE ON ONE LINE  
X    return FALSE;
X  end F1;
X
Xfunction F2 return BOOLEAN is
Xtype TYP_1 is range 1 to 10;
Xvariable V1: TYP_1 := 2;      --This comment will cause
X                                an error
X--ERROR: COMMENTS MUST BE ON ONE LINE  
Xbegin
X    return FALSE;
Xend F2;
X
Xfunction DUMMY return BOOLEAN is
Xbegin
X    return FALSE;
Xend DUMMY;
X
Xfunction F3 return BOOLEAN is
Xvariable V1:BOOLEAN;
Xbegin
X    V1 := TRUE;     --this is a
X                      bad comment
X    --ERROR: COMMENTS MUST BE ON ONE LINE  
X    return FALSE;
X  end F3;
Xend P ;
X
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    --This is a NULL en
X    ity
X    --ERROR: COMMENTS MUST BE ON ONE LINE
Xend E;
*-*-END-of-e-13-2-0-0007a.vhdl-*-*
echo x - e-13-2-0-0008a.vhdl
sed 's/^X//' >e-13-2-0-0008a.vhdl <<'*-*-END-of-e-13-2-0-0008a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0008A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that at least one space must separate any two adjacent identifiers
X-- (including reserved words), or adjacent abstract literals, or an identifier
X-- followed by an abstract literal, or an abstract literal without exponent 
X-- followed by an identifier which begins with the letter E or e.
X-- JB  (DB 7/8/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    type REL1is range 1.0 to 10.0;
X    --ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
X    type R1 is record
X        RE1: BOOLEAN;
X	RE2: INTEGER;
X    endrecord;
X    --ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
Xend E;
X
Xarchitecture BB ofE is
X--ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
X-- L_X_1:block
X  type P is range 0 downto -100
X    units
X      ODD;
X      EVEN = 2ODD;
X      DOUBLE = 10#1#EVEN;
X      --ERROR: SEPARATE NUMBER AND FOLLOWING E-IDENTIFIER IF NO EXPONENT  
X      QUAD = 2EVEN;
X      --ERROR: SEPARATE NUMBER AND FOLLOWING E-IDENTIFIER IF NO EXPONENT
X    end units;
Xbegin
X  process
X    variable V1: INTEGER;
X    variableV2: INTEGER;
X    --ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
X  begin
X    return;
X  end process;
X-- end block;
Xend BB;
X
Xpackage P is
X    function F return BOOLEAN is
X      type INT1is range 1 to 10;
X      --ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
X      type INT2 isrange 1 to 10;
X      --ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
X      typeINT3 is range 1 to 10;
X      --ERROR: AT LEAST ONE SPACE MUST SEPARATE ADJACENT IDENTIFIERS
X      type INT4 is range1 to 10;
X      --ERROR: AT LEAST ONE SPACE BETWEEN IDENTIFIER AND FOLLOWING NUMBER
X      type INT5 is range16#F.F#E+1 to 16#10#;
X      --ERROR: AT LEAST ONE SPACE BETWEEN IDENTIFIER AND FOLLOWING NUMBER
X    begin
X      return FALSE;
X    end F;
X    type INT5 is range 1 to10;
X    --ERROR: AT LEAST ONE SPACE BETWEEN IDENTIFIER AND FOLLOWING NUMBER
Xend P;
*-*-END-of-e-13-2-0-0008a.vhdl-*-*
echo x - e-13-2-0-0009a.vhdl
sed 's/^X//' >e-13-2-0-0009a.vhdl <<'*-*-END-of-e-13-2-0-0009a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0009A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X--Check that identifiers (including reserved words) cannot contain
X--spaces.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    ty pe REL1 is range 1.0 to 10.;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
X    type R1 is record
X	RE1: BOOLEAN;
X	RE2: INTEGER;
X    e nd record;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1: block
X  begin
X   process
X    variable V1: INTEGER;
X    variable V 2: INTEGER;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
X   begin
X     return;
X   end process;
X--   end block;
Xend BB;
X
Xpackage P is
X    function F return BOOLEAN is
X    type INT1 is ra nge 1 to 10;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
X    type IN T2 is range 1 to 10;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
X    ty pe INT3 is range 1 to 10;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
X    begin
X        re turn FALSE;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
X    end F;
X    ty pe INT5 is range 1 to 10;
X    --ERROR: IDENTIFIERS (INCLUDING RESERVED WORDS) CANNOT CONTAIN SPACES
Xend P;
*-*-END-of-e-13-2-0-0009a.vhdl-*-*
echo x - e-13-2-0-0010a.vhdl
sed 's/^X//' >e-13-2-0-0010a.vhdl <<'*-*-END-of-e-13-2-0-0010a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0010A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X--Check that compound delimiters cannot contain spaces.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    type ONE is range 1 to 1;
X    type TWO is range 1 t o 2;
X    --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X    type THREE is range 1 to 3;
X    type FOUR is range 1 to 4;
X    type A1 is array (ONE) of ONE;
X    type A2 is array (ONE range < >) of BOOLEAN;
X    --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1: block
X  begin
X   process
X    variable V1: BOOLEAN;
X    variable C1: ONE : = 1;
X    --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X    variable C2: A1 := (1= >1);
X    --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X    variable C3: THREE := 3;
X    variable C4: FOUR := 4;
X
X   begin
X       if C3 < = C4 then
X       --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X	   V1 := TRUE;
X       end if;
X
X       if C3 > = C4 then
X        --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X	  V1 := FALSE;
X       end if;	
X
X       if C3 / = C4 then
X       --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X           null;
X       end if;
X
X       if C3 = C4 then
X	   C3 := 1* *2;
X	   --ERROR: COMPOUND DELIMITERS CANNOT CONTAIN SPACES
X       end if;
X       return;
X   end process;
X--   end block;
Xend BB;
*-*-END-of-e-13-2-0-0010a.vhdl-*-*
echo x - e-13-2-0-0011a.vhdl
sed 's/^X//' >e-13-2-0-0011a.vhdl <<'*-*-END-of-e-13-2-0-0011a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0011A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that integer literals cannot contain spaces.
X-- JB  (DB 7/10/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type T1 is range 12 34 to 5678;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    type T2 is range 1000 to 16#FFFF FF#;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    type T3 is range 2# 1# to 8#777#;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    subtype SUBT_1 is T2 range -3 to 1 6#FFF#;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    subtype SUBT_2 is T2 range 23_4 5 to 4_567;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    variable V1: T2 :=22 22;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    variable I1: INTEGER;
X
Xbegin
X    I1 := 456 789;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    I1 := 234 5E2;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    I1 := 2#11_ 11#;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    I1 := 10#2689#E 2;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    I1 :93761 E9;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    I1 := 2 #10_11#;
X    --ERROR: INTEGER LITERALS CANNOT CONTAIN SPACES
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-2-0-0011a.vhdl-*-*
echo x - e-13-2-0-0012a.vhdl
sed 's/^X//' >e-13-2-0-0012a.vhdl <<'*-*-END-of-e-13-2-0-0012a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0012A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X--Check that floating point real literals cannot contain spaces.
X-- JB  (DB 7/10/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type REAL1 is range 0.4 56 to 1.0;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    type REAL2 is range -1_0.0 to 10#2 0.0#;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    subtype SUBR_1 is REAL2 range 16 #F.1# to  1_6#F1.0#;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    constant V1: REAL2 := 5 .0;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    variable REAL3: REAL;
X
Xbegin
X    REAL3 := 12.3 4;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    REAL3 := 10#234 5.1#E+2;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    REAL3 := 2_3.4 5E+2;
X    --ERROR: FLOATING POINT REAL LITERALS CANNOT CONTAIN SPACES
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-2-0-0012a.vhdl-*-*
echo x - e-13-2-0-0013a.vhdl
sed 's/^X//' >e-13-2-0-0013a.vhdl <<'*-*-END-of-e-13-2-0-0013a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-2-0-0013A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- CHECK THAT A BIT STRING LITERAL CANNOT BE CONTINUED ACROSS A LINE BOUNDARY.
X-- JB (DB 7/5/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return Boolean is
Xsubtype T1 is BIT_VECTOR (1 to 12);
Xvariable V1 : T1;
Xconstant C1 : T1 := B"1101_1
X101_1001";
X-- ERROR : THE BIT STRING LITERAL MUST BE ON ONE LINE
X  begin
X   V1(4 to 9) := B"110
X001";
X-- ERROR : THE BIT STRING LITERAL MUST BE ON ONE LINE
X   return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-2-0-0013a.vhdl-*-*
echo x - e-13-3-0-0001a.vhdl
sed 's/^X//' >e-13-3-0-0001a.vhdl <<'*-*-END-of-e-13-3-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-3-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X--Check that consecutive, leading, and trailing underscores are not
X--allowed in identifiers.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    type _REL1 is range 1.0 to 10.0;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X    type REL__2 is range 1.0 to 10.0;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X    type REL_3_ is range 1.0 to 10.0;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X    type R__1 is record
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X	RE1: BOOLEAN;
X	RE2: INTEGER;
X    end record;
X    type REC_2 is record
X	RE__1: BOOLEAN;
X	--ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X	--IN IDENTIFIERS
X	_RE_2: BOOLEAN;
X	--ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X	--IN IDENTIFIERS
X	RE_3_: BOOLEAN;
X	--ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X	--IN IDENTIFIERS
X    end record;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1:  block
X   begin
X    process
X     type INT_1 is range 1 to 10;
X     variable _V1: INTEGER;
X     --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X     --IN IDENTIFIERS
X     variable V__2 : INTEGER;
X     --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X     --IN IDENTIFIERS
X     variable V2__: INTEGER;
X     --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X     --IN IDENTIFIERS
X     variable V3: INT__1 (2 to 4);
X     --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X     --IN IDENTIFIERS
X   begin
X       return;
X   end process;
X--  end block;
Xend BB;
X
Xpackage P is
X    function F return BOOLEAN is
X    type INT__1 is range 1 to 10;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X    type _INT2 is range 1 to 10;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X    type INT3__ is range 1 to 10;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
X    type INT4 is range 1 to 10;
X    variable VAR_1: INT__4 (2 to 4);
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIER
X    variable VAR_2: INT4;
X
X    begin
X	VAR__2 := 5;
X	--ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X	--IN IDENTIFIERS
X        return FALSE;
X    end F;
X
X    type _INT5 is range 1 to 10;
X    --ERROR: CONSECUTIVE, LEADING, AND TRAILING UNDERSCORES ARE NOT ALLOWED
X    --IN IDENTIFIERS
Xend P;
*-*-END-of-e-13-3-0-0001a.vhdl-*-*
echo x - e-13-3-0-0002a.vhdl
sed 's/^X//' >e-13-3-0-0002a.vhdl <<'*-*-END-of-e-13-3-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-3-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that ? # $ % ^ & ' are not allowed in identifiers.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
X
Xuse P.all ;
Xpackage body P is
Xfunction F?1 return BOOLEAN is
X--ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
Xbegin
X    return FALSE;
X  end F1;
X
Xfunction F2 return BOOLEAN is
Xbegin
X    return FALSE;
Xend F2;
Xend P ;
X
Xentity E  is
X    port (PT: BOOLEAN) ;
Xtype TYP#_1 is range 1 to 10.0;
X--ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
Xtype TYP_2 is range 1.0 to 3.0;
Xtype REC_1 is record
X		FLT$PT: TYP_2;
X		--ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
X		end record;
Xtype ARAY_1 is array (1 to 10) of TYP_%2 range 2.0 to 3.0;
X--ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
Xend E;
X
Xarchitecture B1 of E is
X-- L_X_1: block
X  begin
X   process
X   variable V^_1: BOOLEAN;
X   --ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
X   variable V_2: TYP_2 := 1.0;
X   subtype SUB_1 is TYP_2 range V_&2 to 3.0;
X   --ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
X   begin
X       if V_'2 < 1.0 then
X       --ERROR: ? # $ % ^ & ' ARE NOT ALLOWED IN IDENTIFIERS
X	   return;
X       end if;
X   end process;
X--  end block;
Xend B1;
*-*-END-of-e-13-3-0-0002a.vhdl-*-*
echo x - e-13-4-0-0001a.vhdl
sed 's/^X//' >e-13-4-0-0001a.vhdl <<'*-*-END-of-e-13-4-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-4-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that leading and trailing points are not permitted in real
X-- literals.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type REAL_1 is range .456 to 1.0;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    type REAL_2 is range -10#10.0# to -20.;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    type REAL_3 is range 10#.0# to 10#1.0#;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    type REAL_4 is range -10#5.# downto -50.2;
X    constant V1: REAL_2 :=15.;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    constant V2: REAL_3 :=5#.30#;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    variable REAL_4: REAL;
X    variable REAL_5: REAL;
X
Xbegin
X    REAL_5 := 12.;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    REAL_4 := 8#123_4.#;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    REAL_5 := .87E-4;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    REAL_4 := 6#.00_1#E3;
X    --ERROR: LEADING AND TRAILING POINTS ARE NOT PERMITTED IN REAL LITERALS
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-4-0-0001a.vhdl-*-*
echo x - e-13-4-0-0002a.vhdl
sed 's/^X//' >e-13-4-0-0002a.vhdl <<'*-*-END-of-e-13-4-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-4-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that underscores are not permitted to be consecutive, to lead
X-- or trail, or to be adjacent to the '.' E + - # characters in integer
X-- or real literals.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type REAL_1 is range _0.456 to 1.0;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    type INT_1 is range _456 to 1000;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    type REAL_2 is range 10.0E+2 to 20.0_E+3;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    type INT_2 is range 10E2 to 20_E3;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    variable REAL_2A is range 2#_10.0#E+2 to 3#20.0_2#E+3;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    variable INT_2A is range 4#10_#E2 to 4#2_0#E3;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    constant V1: REAL_2 :=15.0E_+3;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    constant V2: INT_2 :=15_E-3;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    variable REAL_3: REAL;
X    variable REAL_4: REAL;
X    variable REAL_5: REAL;
X    variable INT_3: INTEGER;
X    variable INT_4: INTEGER;
X    variable INT_5: INTEGER;
Xbegin
X    REAL_3 := 12.34_;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    INT_3 := 1234_;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    REAL_4 := 1_.23E+1;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    REAL_5 := 9.87E-_4;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    INT_5 := 987E_4;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    REAL_4 := 2_#1.111#E1;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    INT_4 := 2#_111#;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    REAL_5 := 16#F.F#_E+1;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    INT_5 := 16#FF_#E2;
X    --ERROR: UNDERSCORES ARE NOT PERMITTED TO LEAD,TRAIL OR BE ADJACENT TO
X    --       THE '.' E + - # CHARACTERS IN INTEGER OR REAL LITERALS
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-4-0-0002a.vhdl-*-*
echo x - e-13-4-0-0003a.vhdl
sed 's/^X//' >e-13-4-0-0003a.vhdl <<'*-*-END-of-e-13-4-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-4-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that an exponent for an integer literal must not have a minus
X-- sign.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type INIT_1 is range 10E-1 to 10E1;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X    type INIT_2 is range 1#0#E-1 to 10;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X    variable V1: INIT_2 := 10E-1;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X    variable V2: INIT_2 := 2#10#E-0;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X
Xbegin
X    V2 := 10#10#E-1;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X    V2 := 2_1E-1;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X    V2 := 16#E#E-1;
X    --ERROR: EXPONENTS FOR AN INTEGER LITERAL MUST NOT HAVE A MINUS SIGN
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-4-0-0003a.vhdl-*-*
echo x - e-13-4-2-0001a.vhdl
sed 's/^X//' >e-13-4-2-0001a.vhdl <<'*-*-END-of-e-13-4-2-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-4-2-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that the digits and extended digits of a based integer or real         
X-- literal are within the correct range for the number's base.
X-- DPS 04/01/85 
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture A of E is
X-- L_X_1:    block
X    begin
X        process
X            variable I : INTEGER;
X            variable R : REAL;
X        begin
X             I := 2#2#;       -- ERROR : digit out of base range
X             I := 3#3#;       -- ERROR : digit out of base range
X             I := 4#4#;       -- ERROR : digit out of base range
X             I := 5#5#;       -- ERROR : digit out of base range
X             I := 6#6#;       -- ERROR : digit out of base range
X             I := 7#7#;       -- ERROR : digit out of base range
X             I := 8#8#;       -- ERROR : digit out of base range
X             I := 9#9#;       -- ERROR : digit out of base range
X             I := 10#A#;      -- ERROR : extended digit out of base range
X             I := 11#B#;      -- ERROR : extended digit out of base range
X             I := 12#C#;      -- ERROR : extended digit out of base range
X             I := 13#D#;      -- ERROR : extended digit out of base range
X             I := 14#E#;      -- ERROR : extended digit out of base range
X             I := 15#F#;      -- ERROR : extended digit out of base range
X             I := 16#G#;      -- ERROR : extended digit out of base range
X             R := 3#3.2#E5;   -- ERROR : digit out of base range
X             R := 5#2.5#;     -- ERROR : digit out of base range
X             R := 10#0.A#E0;  -- ERROR : extended digit out of base range
X             R := 15#EBFA#;   -- ERROR : extended digit out of base range
X             I := 2#8#E4;     -- ERROR : digit out of base range
X             return;
X        end process;
X--     end block;                 
Xend A;
*-*-END-of-e-13-4-2-0001a.vhdl-*-*
echo x - e-13-4-2-0002a.vhdl
sed 's/^X//' >e-13-4-2-0002a.vhdl <<'*-*-END-of-e-13-4-2-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-4-2-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that no base less than '2' or greater than '16' is allowed.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1:    block
X    begin
X	process    
X	    variable I : INTEGER;
X	    variable R : REAL;
X	begin
X    	    I := 0#121#E2;        -- ERROR : invalid base
X    	    I := 1#0000#;         -- ERROR : invalid base
X    	    I := 17#FF9A#;        -- ERROR : invalid base
X    	    R := -1#0.0001#;      -- ERROR : invalid base
X            return;
X        end process;
X--     end block;
Xend BB;
*-*-END-of-e-13-4-2-0002a.vhdl-*-*
echo x - e-13-4-2-0003a.vhdl
sed 's/^X//' >e-13-4-2-0003a.vhdl <<'*-*-END-of-e-13-4-2-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-4-2-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that extended digits are not allowed in the base 
X-- or exponent.
X-- DPS 04/01/85
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xarchitecture A of E is
X-- L_X_1:    block
X    begin
X        process
X            variable I:INTEGER;
X            variable R:REAL;
X        begin
X            I := A#9#;        -- ERROR: extended digit not allowed in base
X            I := B#10#;       -- ERROR: extended digit not allowed in base
X	    I := C#11#;	      -- ERROR: extended digit not allowed in base
X 	    I := D#12#;       -- ERROR: extended digit not allowed in base
X	    I := E#13#;       -- ERROR: extended digit not allowed in base
X            I := F#14#;       -- ERROR: extended digit not allowed in base
X            I := A#5#E5;      -- ERROR: extended digit not allowed in base
X            I := D#A#E3;      -- ERROR: extended digit not allowed in base
X	    R := A#2.7#E4;    -- ERROR: extended digit not allowed in base
X	    R := B#3.1#E9;    -- ERROR: extended digit not allowed in base
X	    I := 9#8#EB;      -- ERROR: extended digit not allowed in exponent
X   	    I := 10#80#E1A;   -- ERROR: extended digit not allowed in exponent
X	    R := 15#E.F#E2B;  -- ERROR: extended digit not allowed in exponent
X	    R := 16#F.F#E-2A; -- ERROR: extended digit not allowed in exponent
X	    R := 15#C.AB#E2F; -- ERROR: extended digit not allowed in exponent
X            return;
X        end process;
X--     end block;
Xend A;	    
*-*-END-of-e-13-4-2-0003a.vhdl-*-*
echo x - e-13-5-0-0001a.vhdl
sed 's/^X//' >e-13-5-0-0001a.vhdl <<'*-*-END-of-e-13-5-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-5-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that an ' must not be doubled when used as the data character in a
X-- character literal.
X-- DPS 04/04/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable S1: CHARACTER;
Xbegin
X    S1  := '''';	        ; --ERROR: double apostrophe in character literal
X    return TRUE;
X  end F;
Xend P ;
X
*-*-END-of-e-13-5-0-0001a.vhdl-*-*
echo x - e-13-5-0-0002a.vhdl
sed 's/^X//' >e-13-5-0-0002a.vhdl <<'*-*-END-of-e-13-5-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-5-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a control character cannot be used as the data character in a
X-- character literal.
X-- DB 7/10/85
X-- ETX at end of function body because detected as end of file.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable C : CHARACTER;
Xbegin
X    C := '    C := '';   -- ERROR : ASCII 1 (SOH)
X    C := '';   -- ERROR : ASCII 2 (STX)
X    C := '';   -- ERROR : ASCII 4 (EOT)
X    C := '';   -- ERROR : ASCII 5 (ENQ)
X    C := '';   -- ERROR : ASCII 6 (ACK)
X    C := '';   -- ERROR : ASCII 7 (BEL)
X    C := '';   -- ERROR : ASCII 8 (BS)
X    C := '	';   -- ERROR : ASCII 9 (HT)
X    C := '
X';   -- ERROR : ASCII 10 (LF)
X    C := '';   -- ERROR : ASCII 11 (VT)
X    C := '';   -- ERROR : ASCII 12 (FF)
X    C := '
X';   -- ERROR : ASCII 13 (CR)
X    C := '';   -- ERROR : ASCII 14 (SO)
X    C := '';   -- ERROR : ASCII 15 (SI)
X    C := '';   -- ERROR : ASCII 16 (DLE)
X    C := '';   -- ERROR : ASCII 17 (DC1)
X    C := '';   -- ERROR : ASCII 18 (DC2)
X    C := '';   -- ERROR : ASCII 19 (DC3)
X    C := '';   -- ERROR : ASCII 20 (DC4)
X    C := '';   -- ERROR : ASCII 21 (NAK)
X    C := '';   -- ERROR : ASCII 22 (SYN)
X    C := '';   -- ERROR : ASCII 23 (ETB)
X    C := '';   -- ERROR : ASCII 24 (CAN)
X    C := '';   -- ERROR : ASCII 25 (EM)
X    C := '';   -- ERROR : ASCII 26 (SUB)
X    C := '';   -- ERROR : ASCII 27 (ESC)
X    C := '';   -- ERROR : ASCII 28 (FS)
X    C := '';   -- ERROR : ASCII 29 (GS)
X    C := '';   -- ERROR : ASCII 30 (RS)
X    C := '';   -- ERROR : ASCII 31 (US)
X    C := '';   -- ERROR : ASCII 127 (DEL)
X    C := '';   -- ERROR : ASCII 3 (ETX)
X    return FALSE;
X  end F ;
Xend P ;
*-*-END-of-e-13-5-0-0002a.vhdl-*-*
echo x - e-13-6-0-0001a.vhdl
sed 's/^X//' >e-13-6-0-0001a.vhdl <<'*-*-END-of-e-13-6-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-6-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that " must be doubled to be used within string literals as a data
X-- character.
X-- DPS 04/04/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable S1 : STRING (1 to 1);
X    variable S5 : STRING (1 to 5);
Xbegin
X    S1 := """;         -- ERROR : single doublequote in string
X    S5 := "ABCD"";     -- ERROR : single doublequote in string
X    S5 := ""BCDE";     -- ERROR : single doublequote in string
X    S5 := "AB"CD";     -- ERROR : single doublequote in string
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-6-0-0001a.vhdl-*-*
echo x - e-13-6-0-0002a.vhdl
sed 's/^X//' >e-13-6-0-0002a.vhdl <<'*-*-END-of-e-13-6-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-6-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that control characters cannot be included in string literals.
X-- DPS 04/08/85
X-- ETX at end of function body because detected as end of file.
X-- Blanks following CR so doesn't write over itself.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable S5 : STRING (1 to 5);
Xbegin
X    S5 := "=>    S5 := "=><=";   -- ERROR : embedded ASCII 1 (SOH)
X    S5 := "=><=";   -- ERROR : embedded ASCII 2 (STX)
X    S5 := "=><=";   -- ERROR : embedded ASCII 4 (EOT)
X    S5 := "=><=";   -- ERROR : embedded ASCII 5 (ENQ)
X    S5 := "=><=";   -- ERROR : embedded ASCII 6 (ACK)
X    S5 := "=><=";   -- ERROR : embedded ASCII 7 (BEL)
X    S5 := "=><=";   -- ERROR : embedded ASCII 8 (BS)
X    S5 := "=>	<=";   -- ERROR : embedded ASCII 9 (HT)
X    S5 := "=>
X<=";   -- ERROR : embedded ASCII 10 (LF)
X    S5 := "=><=";   -- ERROR : embedded ASCII 11 (VT)
X    S5 := "=><=";   -- ERROR : embedded ASCII 12 (FF)
X    S5 := "=>
X             <="; -- ERROR:ASCII 13 (CR) followed by 13 blanks
X    S5 := "=><=";   -- ERROR : embedded ASCII 14 (SO)
X    S5 := "=><=";   -- ERROR : embedded ASCII 15 (SI)
X    S5 := "=><=";   -- ERROR : embedded ASCII 16 (DLE)
X    S5 := "=><=";   -- ERROR : embedded ASCII 17 (DC1)
X    S5 := "=><=";   -- ERROR : embedded ASCII 18 (DC2)
X    S5 := "=><=";   -- ERROR : embedded ASCII 19 (DC3)
X    S5 := "=><=";   -- ERROR : embedded ASCII 20 (DC4)
X    S5 := "=><=";   -- ERROR : embedded ASCII 21 (NAK)
X    S5 := "=><=";   -- ERROR : embedded ASCII 22 (SYN)
X    S5 := "=><=";   -- ERROR : embedded ASCII 23 (ETB)
X    S5 := "=><=";   -- ERROR : embedded ASCII 24 (CAN)
X    S5 := "=><=";   -- ERROR : embedded ASCII 25 (EM)
X    S5 := "=><=";   -- ERROR : embedded ASCII 26 (SUB)
X    S5 := "=><=";   -- ERROR : embedded ASCII 27 (ESC)
X    S5 := "=><=";   -- ERROR : embedded ASCII 28 (FS)
X    S5 := "=><=";   -- ERROR : embedded ASCII 29 (GS)
X    S5 := "=><=";   -- ERROR : embedded ASCII 30 (RS)
X    S5 := "=><=";   -- ERROR : embedded ASCII 31 (US)
X    S5 := "=><=";   -- ERROR : embedded ASCII 127 (DEL)
X    S5 := "=><=";   -- ERROR : embedded ASCII 3 (ETX)
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-e-13-6-0-0002a.vhdl-*-*
echo x - e-13-7-0-0001a.vhdl
sed 's/^X//' >e-13-7-0-0001a.vhdl <<'*-*-END-of-e-13-7-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-7-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that in bit string literals with base specifier B only '0' and '1' are
X-- allowed as digits.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture AB of E is
X-- L_X_1:block
X    signal S8 : BIT_VECTOR (0 to 7);
Xbegin
X    process
X	begin
X    	    S8(0 to 0) <= B"2";     -- ERROR : invalid bit value
X    	    S8(1 to 1) <= B"3";     -- ERROR : invalid bit value
X    	    S8(2 to 2) <= B"4";     -- ERROR : invalid bit value
X 	    S8(3 to 3) <= B"5";     -- ERROR : invalid bit value
X    	    S8(4 to 4) <= B"6";     -- ERROR : invalid bit value
X    	    S8(5 to 5) <= B"7";     -- ERROR : invalid bit value
X    	    S8(6 to 6) <= B"8";     -- ERROR : invalid bit value
X    	    S8(7 to 7) <= B"9";     -- ERROR : invalid bit value
X    	    S8(0 to 0) <= B"A";     -- ERROR : invalid bit value
X    	    S8(1 to 1) <= B"B";     -- ERROR : invalid bit value
X    	    S8(2 to 2) <= B"C";     -- ERROR : invalid bit value
X    	    S8(3 to 3) <= B"d";     -- ERROR : invalid bit value
X    	    S8(4 to 4) <= B"e";     -- ERROR : invalid bit value
X    	    S8(5 to 5) <= B"f";     -- ERROR : invalid bit value
X    	    S8(6 to 6) <= B"G";     -- ERROR : invalid bit value
X    	    S8(7 to 7) <= B"-1";    -- ERROR : invalid bit value
X    	    S8(0 to 3) <= B"2010";  -- ERROR : invalid bit value
X    	    S8(4 to 7) <= B"1300";  -- ERROR : invalid bit value
X    	    S8(1 to 4) <= B"0041";  -- ERROR : invalid bit value
X    	    S8(2 to 5) <= B"1105";  -- ERROR : invalid bit value
X    	    S8(3 to 6) <= B"6000";  -- ERROR : invalid bit value
X    	    S8(4 to 7) <= B"1710";  -- ERROR : invalid bit value
X    	    S8(0 to 4) <= B"1080";  -- ERROR : invalid bit value
X    	    S8(4 to 7) <= B"1119";  -- ERROR : invalid bit value
X	    return;
X	end process;
X--     end block;
Xend AB;
*-*-END-of-e-13-7-0-0001a.vhdl-*-*
echo x - e-13-7-0-0002a.vhdl
sed 's/^X//' >e-13-7-0-0002a.vhdl <<'*-*-END-of-e-13-7-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-7-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that in bit string literals with base specifier O only '0'..'7' are
X-- allowed as digits.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend;
X
Xarchitecture AB of E is
X-- L_X_1:    block
X        signal S3 : BIT_VECTOR (0 to 2);
X        signal S4 : BIT_VECTOR (8 downto 0);
X    begin
X	process
X	    begin
X   		 S3 <= O"8";     -- ERROR : invalid bit value
X    		 S3 <= O"9";     -- ERROR : invalid bit value
X    		 S3 <= O"a";     -- ERROR : invalid bit value
X    		 S3 <= O"b";     -- ERROR : invalid bit value
X    		 S3 <= O"c";     -- ERROR : invalid bit value
X    		 S3 <= O"D";     -- ERROR : invalid bit value
X    		 S3 <= O"E";     -- ERROR : invalid bit value
X    		 S3 <= O"F";     -- ERROR : invalid bit value
X    		 S3 <= O"-1";    -- ERROR : invalid bit value
X    		 S4 <= O"758";   -- ERROR : invalid bit value
X    		 S4 <= O"395";   -- ERROR : invalid bit value
X    		 S4 <= O"A24";   -- ERROR : invalid bit value
X    		 S4 <= O"61B";   -- ERROR : invalid bit value
X    		 S4 <= O"5C8";   -- ERROR : invalid bit value
X    		 S4 <= O"d73";   -- ERROR : invalid bit value
X    		 S4 <= O"52e";   -- ERROR : invalid bit value
X    		 S4 <= O"f83";   -- ERROR : invalid bit value
X	         return;
X	    end process;
X-- 	end block;
Xend AB;
*-*-END-of-e-13-7-0-0002a.vhdl-*-*
echo x - e-13-7-0-0003a.vhdl
sed 's/^X//' >e-13-7-0-0003a.vhdl <<'*-*-END-of-e-13-7-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-7-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that in bit string literals with base specifier X only '0'..'9' and
X-- upper and lower case A..F are allowed as (extended) digits.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture AB of E is
X-- L_X_1:    block
X        signal S3 : BIT_VECTOR (15 downto 0);
X        signal S4 : BIT_VECTOR (0 to 3);
X    begin
X	process
X        begin
X            S4 <= X"g";     -- ERROR : invalid bit value
X            S4 <= X"h";     -- ERROR : invalid bit value
X    	    S4 <= X"i";     -- ERROR : invalid bit value
X    	    S4 <= X"X";     -- ERROR : invalid bit value
X    	    S4 <= X"Y";     -- ERROR : invalid bit value
X            S4 <= X"Z";     -- ERROR : invalid bit value
X    	    S4 <= X"o";     -- ERROR : invalid bit value
X    	    S4 <= X"-1";    -- ERROR : invalid bit value
X    	    S3 <= X"ABzD";  -- ERROR : invalid bit value
X    	    S3 <= X"EyF0";  -- ERROR : invalid bit value
X    	    S3 <= X"123x";  -- ERROR : invalid bit value
X    	    S3 <= X"O456";  -- ERROR : invalid bit value
X    	    S3 <= X"78G9";  -- ERROR : invalid bit value
X    	    S3 <= X"aHcd";  -- ERROR : invalid bit value
X    	    S3 <= X"ef1I";  -- ERROR : invalid bit value
X	    return;
X	end process;
X--     end block;
Xend AB;
*-*-END-of-e-13-7-0-0003a.vhdl-*-*
echo x - e-13-9-0-0001a.vhdl
sed 's/^X//' >e-13-9-0-0001a.vhdl <<'*-*-END-of-e-13-9-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-9-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- declared identifiers).
X-- DPS 04/08/85
X-- Checks all reserved words listed in LRM 3.5 Appendix A.9.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture A1 of E is
X-- L_X_1:    block
X    begin
X	process
X    	    variable NEXT : INTEGER;     -- ERROR : NEXT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A1;
X
Xarchitecture A2 of E is
X-- L_X_2:    block
X    begin
X	process
X    	    variable RETURN : INTEGER;   -- ERROR : RETURN is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A2;
X
Xarchitecture A3 of E is
X-- L_X_3:    block
X    begin
X	process
X    	    variable ABS : REAL;   	 -- ERROR : ABS is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A3;
X
X
Xarchitecture A3A of E is 
Xbegin
X	process
X		variable ACCESS  : REAL; -- ERROR: ACCESS is reserved word
X	begin
X		return ;
X	end process ;
Xend A3a ;
X
Xarchitecture A4 of E is
X-- L_X_4:    block
X    begin   
X	process
X    	    variable AFTER : REAL;       -- ERROR : AFTER is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A4;
X
Xarchitecture A5 of E is
X-- L_X_5:    block
X    begin
X	process
X    	    variable ALIAS : REAL;       -- ERROR : ALIAS is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A5;
X
Xarchitecture A6 of E is
X-- L_X_6:    block
X    begin
X	process
X	    variable ALL : INTEGER;      -- ERROR : ALL is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A6;
X
Xarchitecture A7 of E is
X-- L_X_7:    block
X    begin
X	process
X  	    variable AND : REAL;         -- ERROR : AND is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A7;
X
Xarchitecture A7a of E is 
Xbegin
X	process
X		variable ARCHITECTURE  : REAL; -- ERROR: ARCHITECTURE is reserved word
X	begin
X		return ;
X	end process ;
Xend A7a ;
X
Xarchitecture A8 of E is
X-- L_X_8:    block
X    begin
X	process
X  	    variable ARRAY : REAL;       -- ERROR : ARRAY is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A8;
X
Xarchitecture A9 of E is
X-- L_X_9:    block
X    begin
X	process
X	    variable ASSERT : REAL;      -- ERROR : ASSERT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A9;
X
Xarchitecture A10 of E is
X-- L_X_01:    block
X    begin
X	process
X    	    variable ATTRIBUTE : REAL;   -- ERROR : ATTRIBUTE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A10;
X
Xarchitecture A11 of E is
X-- L_X_11:    block
X    begin
X	process
X   	    variable BEGIN : REAL;       -- ERROR : BEGIN is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A11;
X
Xarchitecture AA12 of E is
X-- L_X_21:    block
X    begin
X	process
X	    variable BLOCK : INTEGER;	 -- ERROR : BLOCK is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend AA12;
X
Xarchitecture A12 of E is
X-- L_X_31:    block
X    begin
X	process
X    	    variable BODY : REAL;        -- ERROR : BODY is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A12;
X
Xarchitecture A13 of E is
X-- L_X_41:    block
X    begin
X	process
X	    variable BUFFER : REAL;      -- ERROR : BUFFER is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A13;
X
Xarchitecture a13a of E is 
Xbegin
X	process
X		variable BUS  : REAL; -- ERROR: BUS is reserved word
X	begin
X		return ;
X	end process ;
Xend a13a ;
X
Xarchitecture A14 of E is
X-- L_X_51:    block
X    begin
X	process
X   	    variable CASE : REAL;        -- ERROR : CASE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A14;
X
Xarchitecture A15 of E is
X-- L_X_61:    block
X    begin
X	process
X    	    variable COMPONENT : REAL;   -- ERROR : COMPONENT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A15;
X
Xarchitecture A16 of E is
X-- L_X_71:    block
X    begin
X	process
X	    variable CONFIGURATION: REAL; -- ERROR : CONFIGURATION is reserved 
X        begin
X	    return;
X        end process;
X--     end block;
Xend A16;
X
Xarchitecture A17 of  E is
X-- L_X_81:    block
X    begin
X	process
X	    variable CONSTANT : REAL;    -- ERROR : CONSTANT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A17;
X
Xarchitecture A18 of E is
X-- L_X_91:    block
X    begin
X	process
X	    variable DISCONNECT : INTEGER;  -- ERROR : DISCONNECT is a reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A18;
X
Xarchitecture A19 of E is
X-- L_X_02:    block
X    begin
X	process
X    	    variable DOWNTO : REAL;      -- ERROR : DOWNTO is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A19;
X
Xarchitecture A20 of E is
X-- L_X_12:    block
X    begin
X	process
X    	    variable ELSE : REAL;        -- ERROR : ELSE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A20;
X
Xarchitecture A21 of E is
X-- L_X_22:    block
X    begin
X	process
X    	    variable ELSIF : REAL;       -- ERROR : ELSIF is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A21;
X
Xarchitecture A22 of E is
X-- L_X_32:    block
X    begin
X	process
X	    variable END : REAL;     -- ERROR : END is a reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A22;
X
Xarchitecture A22A of E is
X-- L_X_32:    block
X    begin
X	process
X	    variable ENTITY : REAL;     -- ERROR : ENTITY is a reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A22A;
X
Xarchitecture A22b of E is
X-- L_X_32:    block
X    begin
X	process
X	    variable EXIT : REAL;     -- ERROR : EXIT is a reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A22b;
X
Xarchitecture A22c of E is
X-- L_X_32:    block
X    begin
X	process
X	    variable FILE : REAL;     -- ERROR : FILE is a reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A22c;
X
Xarchitecture A23 of E is
X-- L_X_42:    block
X    begin
X	process
X    	    variable GENERATE : REAL;    -- ERROR : GENERATE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A23;
X
Xarchitecture A24 of E is
X-- L_X_52:    block
X    begin
X	process
X    	    variable GENERIC : INTEGER;  -- ERROR : GENERIC is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A24;
X
Xarchitecture A25 of E is
X-- L_X_62:    block
X    begin
X	process
X	    variable GUARDED : INTEGER;    -- ERROR : GUARDED is a reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A25;
X
Xarchitecture A26 of E is
X-- L_X_72:    block
X    begin
X	process
X   	    variable IN : INTEGER;       -- ERROR : IN is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A26;
X
Xarchitecture A27 of E is
X-- L_X_82:    block
X    begin
X	process
X	    variable INITIALIZE : REAL;  
X	--  : INITIALIZE is NOT a 1076 reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A27;
X
Xarchitecture A28 of E is
X-- L_X_92:    block
X    begin
X	process
X    	    variable INOUT : INTEGER;    -- ERROR : INOUT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A28;
X
Xarchitecture A29 of E is
X-- L_X_03:    block
X    begin
X	process
X    	    variable IS : INTEGER;       -- ERROR : IS is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A29;
X
Xarchitecture A30 of E is
X-- L_X_13:    block
X    begin
X	process
X	    variable LABEL: REAL;	 -- ERROR : LABEL is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A30;
X
Xarchitecture A30a of E is
X-- L_X_13:    block
X    begin
X	process
X	    variable LIBRARY : REAL;	 -- ERROR : LIBRARY is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A30a;
X
Xarchitecture A31 of E is
X-- L_X_23:    block
X    begin
X	process
X    	    variable LINKAGE : INTEGER;  -- ERROR : LINKAGE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A31;
X
Xarchitecture A32 of E is
X-- L_X_33:    block
X    begin
X	process
X	    variable MAP: REAL;		-- ERROR : MAP is reserved word
X        begin
X	    return;
X        end process;
X--    end block;
Xend A32 ;
X	
Xarchitecture A33 of E is
X-- L_X_43:    block
X    begin
X	process	
X	    variable MEMORIED : INTEGER; 
X	--  : MEMORIED is NOT a 1076 reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A33;
X
Xarchitecture A34 of E is
X-- L_X_53:    block
X    begin
X	process
X    	    variable MOD : INTEGER;      -- ERROR : MOD is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A34;
X
Xarchitecture A35 of E is
X-- L_X_63:    block
X    begin
X	process
X	    variable NAND : REAL;	 -- ERROR : NAND is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A35;
X
Xarchitecture A35a of E is
X-- L_X_63:    block
X    begin
X	process
X	    variable NEW : REAL;	 -- ERROR : NEW is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A35a;
X
Xarchitecture A36 of E is
X-- L_X_73:    block
X    begin
X	process
X	    variable NOR : INTEGER;	 -- ERROR : NOR is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A36;
X
Xarchitecture A37 of E is
X-- L_X_83:    block
X    begin
X	process
X    	    variable NOT : INTEGER;      -- ERROR : NOT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A37;
X
Xarchitecture A38 of E is
X-- L_X_93:    block
X    begin
X	process
X	    variable NULL : REAL;	 -- ERROR : NULL is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A38;
X
Xarchitecture A39 of E is
X-- L_X_04:    block
X    begin
X	process
X    	    variable OF : INTEGER;       -- ERROR : OF is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A39;
X
Xarchitecture A39a of E is
X-- L_X_04:    block
X    begin
X	process
X    	    variable ON : INTEGER;       -- ERROR : ON is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A39a;
X
Xarchitecture A40 of E is
X-- L_X_14:    block
X    begin
X	process
X	    variable OPEN : INTEGER;	 -- ERROR : OPEN is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A40;
X
Xarchitecture A41 of E is
X-- L_X_24:    block
X    begin
X	process
X    	    variable OR : INTEGER;       -- ERROR : OR is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A41;
X
Xarchitecture A42 of E is
X-- L_X_34:    block
X    begin
X	process
X    	    variable OTHERS : INTEGER;   -- ERROR : OTHERS is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A42;
X
Xarchitecture A43 of E is
X-- L_X_44:    block
X    begin
X	process
X    	    variable OUT : INTEGER;      -- ERROR : OUT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A43;
X
Xarchitecture A44 of E is
X-- L_X_54:    block
X    begin
X	process
X    	    variable PORT : REAL;        -- ERROR : PORT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A44;
X
Xarchitecture A45 of E is
X-- L_X_64:    block
X    begin
X	process
X	    variable PROCEDURE : REAL;	 -- ERROR : PROCEDURE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A45;
X
Xarchitecture A46 of E is
X-- L_X_74:    block
X    begin
X	process
X	    variable PROCESS : INTEGER;  -- ERROR : PROCESS is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A46;
X
Xarchitecture A47 of E is
X-- L_X_84:    block
X    begin
X	process
X    	    variable RANGE : REAL;       -- ERROR : RANGE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A47;
X
Xarchitecture A48 of E is
X-- L_X_94:    block
X    begin
X	process
X    	    variable RECORD : REAL;      -- ERROR : RECORD is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A48;
X
Xarchitecture A48a of E is
X-- L_X_94:    block
X    begin
X	process
X    	    variable REGISTER : REAL;      -- ERROR : REGISTER is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A48a;
X
Xarchitecture A49 of E is
X-- L_X_05:    block
X    begin
X	process
X    	    variable REM : REAL;         -- ERROR : REM is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A49;
X
Xarchitecture A50 of E is
X-- L_X_15:    block
X    begin
X	process
X    	    variable REPORT : REAL;      -- ERROR : REPORT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A50;
X
Xarchitecture A51 of E is
X-- L_X_25:    block
X    begin
X	process
X	    variable SELECT : INTEGER;   -- ERROR : SELECT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A51;
X
Xarchitecture A52 of E is
X-- L_X_35:    block
X    begin
X	process
X    	    variable SEVERITY : REAL;    -- ERROR : SEVERITY is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A52;
X
Xarchitecture A53 of E is
X-- L_X_45:    block
X    begin
X	process
X    	    variable SIGNAL : REAL;      -- ERROR : SIGNAL is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A53;
X
Xarchitecture A54 of E is
X-- L_X_55:    block
X    begin
X	process
X    	    variable STATIC : REAL;     
X	 --  : STATIC is NOT a 1076 reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A54;
X
Xarchitecture A55 of E is
X-- L_X_65:    block
X    begin
X	process
X    	    variable SUBTYPE : REAL;     -- ERROR : SUBTYPE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A55;
X
Xarchitecture A56 of E is
X-- L_X_75:    block
X    begin
X	process
X    	    variable THEN : REAL;        -- ERROR : THEN is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A56;
X
Xarchitecture A57 of E is
X-- L_X_85:    block
X    begin
X	process
X    	    variable TO : REAL;          -- ERROR : TO is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A57;
X
Xarchitecture A58 of E is
X-- L_X_95:    block
X    begin
X	process
X            variable TRANSPORT : REAL;	 -- ERROR : TRANSPORT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A58;
X
Xarchitecture A59 of E is
X-- L_X_06:    block
X    begin
X	process
X    	    variable TYPE : REAL;        -- ERROR : TYPE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A59;
X
Xarchitecture A60 of E is
X-- L_X_16:    block
X    begin
X	process
X    	    variable UNITS : REAL;       -- ERROR : UNITS is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A60;
X
Xarchitecture A61 of E is
X-- L_X_26:    block
X    begin
X	process
X    	    variable USE : REAL;         -- ERROR : USE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A61;
X
Xarchitecture A62 of E is
X-- L_X_36:    block
X    begin
X	process
X    	    variable VARIABLE : REAL;    -- ERROR : VARIABLE is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A62;
X
Xarchitecture A62a of E is
X-- L_X_36:    block
X    begin
X	process
X    	    variable WAIT : REAL;    -- ERROR : WAIT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A62a;
X
Xarchitecture A63 of E is
X-- L_X_46:    block
X    begin
X	process
X    	    variable WHEN : REAL;        -- ERROR : WHEN is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A63;
X
Xarchitecture A64 of E is
X-- L_X_56:    block
X    begin
X	process
X    	    variable XOR : REAL;         -- ERROR : XOR is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A64;
X
Xarchitecture A65 of E is
X-- L_X_66:    block
X    begin
X	process
X    	    variable WITH : REAL;        -- ERROR : WITH is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A65;
X
Xarchitecture A66 of E is
X-- L_X_76:    block
X    begin
X	process
X	    variable ASSERT : INTEGER;  -- ERROR : ASSERT is reserved word
X        begin
X	    return;
X        end process;
X--     end block;
Xend A66;
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable ARCHITECTURE : REAL;  -- ERROR : ARCHITECTURE is reserved word
X    begin
X    return FALSE;
X  end F;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction G return BOOLEAN is
X    variable END : INTEGER;        -- ERROR : END is reserved word
X    begin
X    return FALSE;
X  end G;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction H return BOOLEAN is
X    variable EXIT : REAL;          -- ERROR : EXIT is reserved word   
X    begin
X    return FALSE;
X  end H;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction I return BOOLEAN is
X    variable LOOP : INTEGER;       -- ERROR : LOOP is reserved word
X    begin
X    return FALSE;
X  end I;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction J return BOOLEAN is    
X    variable ENTITY : INTEGER;     -- ERROR : ENTITY is reserved word
X    begin
X    return FALSE;
X  end J;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction K return BOOLEAN is
X    variable FOR : REAL;           -- ERROR : FOR is reserved word
X    begin
X    return FALSE;
X  end K;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction L return BOOLEAN is
X    variable WHILE : INTEGER;      -- ERROR : WHILE is reserved word
X    begin
X    return FALSE;
X  end L;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction M return BOOLEAN is
X    variable FUNCTION : REAL;       -- ERROR : FUNCTION is reserved word
X    begin
X    return FALSE;
X  end M;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction N return BOOLEAN is
X    variable IF : BOOLEAN;         -- ERROR : IF is reserved word
X    begin
X    return FALSE;
X  end N;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction O return BOOLEAN is
X    variable STANDARD : REAL;      -- ERROR : STANDARD is reserved word
X    begin
X    return FALSE;
X  end O;
Xend P ;
X
Xuse P.all ;
Xpackage body P is
Xfunction P return BOOLEAN is
X    variable PACKAGE : REAL;       -- ERROR : PACKAGE is reserved word
X    begin
X    return FALSE;
X  end P;
Xend P ;
*-*-END-of-e-13-9-0-0001a.vhdl-*-*
echo x - e-13-9-0-0001b.vhdl
sed 's/^X//' >e-13-9-0-0001b.vhdl <<'*-*-END-of-e-13-9-0-0001b.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: E-13-9-0-0001B.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that all reserved words are actually reserved (cannot be used as
X-- declared identifiers).
X-- DPS 04/08/85
X-- Checks all reserved words listed in LRM 3.5 Appendix A.9.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
X
Xuse P.all ;
Xpackage body P is
X
Xfunction F return BOOLEAN is
X    variable ASSERT : INTEGER;  -- ERROR : ASSERT is reserved word
X    variable ARCHITECTURE : REAL;  -- ERROR : ARCHITECTURE is reserved word
X    begin
X    return FALSE;
X  end F;
X
Xfunction H return BOOLEAN is
X    variable EXIT : REAL;          -- ERROR : EXIT is reserved word
X    variable LOOP : INTEGER;       -- ERROR : LOOP is reserved word
X    variable ENTITY : INTEGER;     -- ERROR : ENTITY is reserved word
X    begin
X    return FALSE;
X  end H;
X
Xfunction I return BOOLEAN is
X    variable FOR : REAL;           -- ERROR : FOR is reserved word
X    variable WHILE : INTEGER;      -- ERROR : WHILE is reserved word
X    varible FUNCTION : REAL;       -- ERROR : FUNCTION is reserved word
X    begin
X    return FALSE;
Xend I;
X
Xfunction J return BOOLEAN is
X    variable IF : BOOLEAN;         -- ERROR : IF is reserved word
X    variable STANDARD : REAL;      -- ERROR : STANDARD is reserved word
X    variable PACKAGE : REAL;       -- ERROR : PACKAGE is reserved word
X    begin
X    return FALSE;
Xend J;
X
Xfunction G return BOOLEAN is
X    variable END : INTEGER;        -- ERROR : END is reserved word
X    variable I : INTEGER;          -- This is a valid variable
X    begin
X    return FALSE;
Xend G;
X
Xend P ;
*-*-END-of-e-13-9-0-0001b.vhdl-*-*
echo x - s-13-1-0-0001a.vhdl
sed 's/^X//' >s-13-1-0-0001a.vhdl <<'*-*-END-of-s-13-1-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-1-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that the basic character set is accepted outside of string literals and
X-- comments.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT: BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1:   block
X    begin
X    process
X     type TABLE is array (1 to 10) of INTEGER;
X     variable ARAY_1: TABLE;
X 
X     type BUF is record
X 		   LENGHT : INTEGER;
X 		   POS    : INTEGER;
X 		   IMAGE  : INTEGER;
X 		end record;		-- USED TO TEST . LATER
X     variable R1: BUF;
X   
X     variable ABCDEFGHIJKLM: INTEGER;	-- USE OF A B C D E F G H I J K L M
X     variable NOPQRSTUVWXYZ: INTEGER;	-- USE OF N O P Q R S T U V W X Y Z
X     variable Z_1234567890 : INTEGER;	-- USE OF _ 1 2 3 4 5 6 7 8 9 0
X
X     variable I1, I2, I3 : INTEGER;
X     variable C1, C2 : STRING (1 to 6);
X     variable C3 : STRING (1 to 12);
X    begin
X     ARAY_1 := ( 2 | 4 | 10 => 1 , 1 | 3 | 5 to 9 => 0 );
X 				-- USE OF : ( ) | ,
X     I1 := 2 * ( 3 - 1 + 2 ) / 2 ; I2 := 8 ;	--USE OF ( ) * + - / ;
X 
X     C1 := "ABCDEF" ;			-- USE OF "
X     C2 := C1 ;
X     C3 := C1 & C2 ;			-- USE OF &
X  
X     I2 := 16#D# ;			-- USE OF #
X 
X     I3 := ARAY_1'HIGH;			-- USE OF '
X 
X     R1.POS := 3;			-- USE OF .
X 
X     if  I1 > 2 and	
X 	I1 = 4 and
X 	I1 < 8 then			-- USE OF > = <
X 	  NULL;
X     end if;
X     return;
X
X  end process;
X--  end block;
Xend BB;
*-*-END-of-s-13-1-0-0001a.vhdl-*-*
echo x - s-13-10-00001a.vhdl
sed 's/^X//' >s-13-10-00001a.vhdl <<'*-*-END-of-s-13-10-00001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-A-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that ! : % are equivalent to the character they replace.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1 : BTRUE;
X    variable V2 : BOOLEAN;
Xbegin
X    V1 := ((16#ABCDEF#=16:ABCDEF:)
X	    and (1_6:FEFA:=1_6#FEFA#)
X	    and ("ABCD"=%ABCD%)
X	    and ("12""3"=%12%%3%));
X    case V2 is
X      when TRUE ! FALSE => null;
X    end case;
X    return V1;
X  end F;
Xend P ;
*-*-END-of-s-13-10-00001a.vhdl-*-*
echo x - s-13-10-00002a.vhdl
sed 's/^X//' >s-13-10-00002a.vhdl <<'*-*-END-of-s-13-10-00002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-A-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that doubled % can be used as a data character in a 
X-- string literal when the quotation character string brackets
X-- are replaced by percent characters.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1 : BTRUE;
X    constant C1 : CHARACTER := '%';
X    constant S1 : STRING(1 to 1) := %%%%;
X    constant S3 : STRING(1 to 3) := %D%%E%;
X    constant S5 : STRING(1 to 5) := %1%%34%%%;
Xbegin
X    V1 := (S1(1) = C1)
X	    and (S3(2) = C1)
X	    and (S5(2) = C1)
X	    and (S5(5) = C1);
X    return V1;
X  end F;	    
Xend P ;
*-*-END-of-s-13-10-00002a.vhdl-*-*
echo x - s-13-2-0-0001a.vhdl
sed 's/^X//' >s-13-2-0-0001a.vhdl <<'*-*-END-of-s-13-2-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-2-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that delimiters (simple and compound) delimit any two adjacent lexical
X-- elements.
X-- JB  (DB 7/8/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1:  block
X   begin
X   process
X    type ARYSIZ is range 1to 20;
X    type ARAY1 is array(ARYSIZ range<>)of BOOLEAN;
X    variable VAR_1:STRING(1to 72):="This shall be a long message"&
X					"that needs to be continued "&
X					"on the next line.";
X    type I1 is range 1to 10;
X    subtype I1_LOW is I1 range I1'LOW to 4;
X    type R1 is record
X	RE_1:BOOLEAN;
X	RE_2:INTEGER;
X      end record;
X    variable V1,V2,V3:INTEGER;
X    variable V4:BOOLEAN:=FALSE;
X    variable V5:R1;
Xbegin
X    V5:=(RE_1=>TRUE,RE_2=>1);
X    V1:=V2+V3;
X    V5.RE_2:=V1;
X    V2:=(V1/2)*(V3+1);
X    V3:=V2**2;
X    if V1<V2 then
X	V4:=TRUE;
X    elsif V3>V2 then
X	V4:=TRUE;
X    elsif V1=V3 then
X	V4:=TRUE;
X    else
X	V4:=FALSE;
X    end if;
X    return;
X  end process;
X-- end block;
Xend BB;
X
Xarchitecture AB of E is
X-- L_X_2: block
X    signal S1:BOOLEAN;
X  begin
X  process
X   begin
X      S1<=FALSE;
X  end process;
X--  end block;  
Xend AB;
X
Xuse P.all ;
Xpackage body P is
Xfunction F(V1,V2:INTEGER) return BOOLEAN is 
X  begin
X    if V1/=V2 then
X	return FALSE;
X    elsif V1>=V2 then
X	return FALSE;
X    else
X	return TRUE;
X    end if;
X  end F;
Xend P ;
*-*-END-of-s-13-2-0-0001a.vhdl-*-*
echo x - s-13-2-0-0002a.vhdl
sed 's/^X//' >s-13-2-0-0002a.vhdl <<'*-*-END-of-s-13-2-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-2-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that separators are required only when interpretation as a single
X-- lexical element is otherwise possible.
X-- DB 6/8/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
X    type ONE is range 10#1#to 1;
X    type TWO is range 2to 2;
X    type THREE is range 3to 3;
X    type FOUR is range 4to 4;
X    type A1 is array(FOUR range<>)of FOUR;
X    type FIVE is range 1to 5;
X    type U1 is range 1to 200
X      units
X        SINGLE;
X        EVEN=2SINGLE;
X        DOUBLE=10#1#E1EVEN;
X        QUAD=2E1EVEN;
X      end units;
Xend E;
X
Xarchitecture BB3 of E is
X-- L_X_1:  block
X  begin
X    process
X      variable V1:BOOLEAN;
X      variable V2:BOOLEAN;
X      constant V3:FIVE:=5;
X    begin
X      return;
X    end process;
X--   end block;
Xend BB3;
X
Xarchitecture AB1 of E is
X-- L_X_2:  block
X    signal S1:BOOLEAN;
X  begin
X    process
X    begin
X       S1<=FALSE;
X    end process;
X--   end block;
Xend AB1;
*-*-END-of-s-13-2-0-0002a.vhdl-*-*
echo x - s-13-3-0-0001a.vhdl
sed 's/^X//' >s-13-3-0-0001a.vhdl <<'*-*-END-of-s-13-3-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-3-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that upper and lower case letters are equivalent in identifiers
X-- (including reserved words).
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
XfUnction F rEturn BooLEAN is
X    tYpe TyP_1 is ranGe 1 to 10;
X    suBtyPe STYp_1 is TYP_1 range 1 to 5;
X    type ReC_1 is rEcorD
X	RV_1: BOOlean;
X	RV_2: intEGER;
X	RV_3: REal;
X      end RECord;
X    VariabLe V1: STYP_1;
XbeGin
X    v1 := 4;
X    rETurn FalSe;
X  enD f;
Xend P ;
*-*-END-of-s-13-3-0-0001a.vhdl-*-*
echo x - s-13-3-0-0002a.vhdl
sed 's/^X//' >s-13-3-0-0002a.vhdl <<'*-*-END-of-s-13-3-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-3-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that the maximum input line length is 132.
X-- JB  (DB 7/10/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
Xtype TYP_1 is range 10 to 1000; type TYP_2 is range 100 to 2000; type TYP_3 is range 110 to 200; type TYP_4 is range 10000 to 12000;
Xtype TYP_5 is range 10 to 11; type TYP_6 is range 100 downto 20; type TYP_7 is range 710 to 900; type TYP_8 is range 20000 to 32000;
Xtype TYP_9 is range 10 to 20;
Xbegin
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-s-13-3-0-0002a.vhdl-*-*
echo x - s-13-3-0-0003a.vhdl
sed 's/^X//' >s-13-3-0-0003a.vhdl <<'*-*-END-of-s-13-3-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-3-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that variable identifiers can be as long as the maximum input line
X-- length permitted and that all characters are significant.
X-- JB  (DB 7/10/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT: BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1: block
X begin
X  process
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    type
XTYP1_6789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M12
X    is range 1 to 50;
X    variable V2:
XTYP1_6789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M12
X    :=2;
X    variable V1: BTRUE;
X    constant
XCON456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M1A
X    : INTEGER :=2;
X    constant
XCON456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M1B
X    : INTEGER := 3;
X  begin
X    case V1 is
X	when (
XCON456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M1A
X            /=
XCON456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M1B
X	     ) => return;
X    end case;
X    return;
X  end process;
X--  end block;
Xend BB;
*-*-END-of-s-13-3-0-0003a.vhdl-*-*
echo x - s-13-4-0-0001a.vhdl
sed 's/^X//' >s-13-4-0-0001a.vhdl <<'*-*-END-of-s-13-4-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that both upper case and lower case E may be used to indicate exponent
X-- in both integer and real literals.
X-- JB  (DB 7/5/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type INIT_1 is range 1e2 to 10#10#e4;
X    type REAL_1 is range 1.0e2 to 10.0e4;
X    type REAL_2 is range 6#5.0#E-2 to 5.0e2;
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable VI_1: INIT_1 := 2e2;
X    variable VR_1: REAL_1 := 2.0e2;
X    variable VI_2: INIT_1 := 8#5#E2;
X    variable VR_2: REAL_2 := 6#4.0#e-1;
X    variable VB_1: BTRUE;
Xbegin
X    case VB_1 is
X        when (
X              (1e2 = 1E2)
X          and (1.2e1 = 1.2E1)
X          and (1.2e-1 = 1.2E-1)
X          and (16#F#e1 = 16#F#E1)
X          and (16#F.F#e1 = 16#F.F#E1)
X             ) => return TRUE;
X        when others => return FALSE;
X    end case;
X  end F;
Xend P ;
*-*-END-of-s-13-4-0-0001a.vhdl-*-*
echo x - s-13-4-0-0002a.vhdl
sed 's/^X//' >s-13-4-0-0002a.vhdl <<'*-*-END-of-s-13-4-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that an underscore may be inserted between adjacent digits in any
X-- part of an abstrct literal without affecting the value of the abstract 
X-- literal.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type INIT_1 is range 1_0 to 5000;
X    type REAL_1 is range 10.0 to 5_000.0;
X    type INIT_2 is range 1E7 to 1E9;
X    type REAL_2 is range 10.0E2 to 8_0.0E3;
X    type INIT_3 is range 200 to 50_00;
X    type REAL_3 is range 2_00.0 to 500.0;
X    subtype SUBI_1 is INIT_1 range 1_2 to 1_4;
X    subtype SUBR_1 is REAL_1 range 12.0_0 to 1_4.0;
X    subtype SUBI_2 is INIT_2 range 1_2E6 to 1_4E7;
X    subtype SUBR_2 is REAL_2 range 1_2.0E2 to 14.0_0E2;
X    subtype SUBRI_3 is INIT_3 range 16#F_F_0# to 16#F_F1#;
X    subtype SUBR_3 is REAL_3 range 16#F_F.0# to 1_6#FF.1#;
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1: BTRUE;
Xbegin
X    case V1 is
X	when (
X	    (1_2 = 12)
X	and (1_2E1_0 = 12E10)
X	and (1_6#F_F# = 16#FF#)
X	and (11.2_2E1 = 11.22E1)
X	and (11.2_2 = 11.22)
X	and (16#F.F_F#E+1_1 = 16#F.FF#E+11)
X	     ) => return TRUE;
X	when others => return FALSE;
X    end case;
X  end F;
Xend P ;
*-*-END-of-s-13-4-0-0002a.vhdl-*-*
echo x - s-13-4-0-0003a.vhdl
sed 's/^X//' >s-13-4-0-0003a.vhdl <<'*-*-END-of-s-13-4-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that leading zeros in integral parts of integer literals are ignored.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT: BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1: block 
X begin
X  process
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    type INIT_1 is range 10#10# to 5E004;
X    subtype SUBI_1 is INIT_1 range 10#010# to 20;
X    subtype SUBI_2 is INIT_1 range 1E4 to 10#05#E4;
X    variable VAR_3: BTRUE;
X  begin
X    case VAR_3 is
X        when (
X            (5 = 000005)
X      	and (10#030# = 10#30#)
X        and (1E004 = 1E4)
X        and (10#01_2#E1 = 0010#1_2#E1)
X            ) => return;
X        when others => return;
X    end case;
X    return;
X  end process;
X--  end block;
Xend BB;
*-*-END-of-s-13-4-0-0003a.vhdl-*-*
echo x - s-13-4-0-0004a.vhdl
sed 's/^X//' >s-13-4-0-0004a.vhdl <<'*-*-END-of-s-13-4-0-0004a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0004A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that integer literals can be as long as the maximum input line length
X-- and still yield representable values.
X-- JB  (DB 7/10/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT: BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1: block
X begin
X   process
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    type INT_1 is range 1E0 to 1E5;
X    variable VAR_3: BTRUE; 
X    constant I1 : INT_1 :=
X123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789000
X/
X12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678900;
X
X begin
X    case VAR_3 is
X	when ( I1 = 10 ) => return;
X    end case;
X  end process;
X--  end block;
Xend BB;
*-*-END-of-s-13-4-0-0004a.vhdl-*-*
echo x - s-13-4-0-0005a.vhdl
sed 's/^X//' >s-13-4-0-0005a.vhdl <<'*-*-END-of-s-13-4-0-0005a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0005A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that leading zeros in integral parts and trailing zeros in fractional
X-- parts of real literals are ignored.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type REAL_1 is range 010#10.2# to 100.2;
X    type REAL_2 is range 012.2E+2 to 10#20.20#E+004;
X    type REAL_3 is range 2#000.00#E2 to 10.000E+06;
X    subtype SUBR_1 is REAL_1 range 010.20 to 10#11.000#;
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1: BTRUE;
Xbegin
X    case V1 is
X        when (
X             (10#010.2# = 0010#10.2#)
X        and  (3#10.20# = 3#10.200#)
X        and  (01_0.2 = 1_0.2)
X        and  (1_0.2000 = 1_0.2)
X        and  (010.2E+0002 = 10.200E+2)
X        and  (08#0010.2#E+2 = 8#10.2000#E+02)
X             ) => return TRUE;
X        when others => return FALSE;
X    end case;
X  end F;
Xend P ;
*-*-END-of-s-13-4-0-0005a.vhdl-*-*
echo x - s-13-4-0-0006a.vhdl
sed 's/^X//' >s-13-4-0-0006a.vhdl <<'*-*-END-of-s-13-4-0-0006a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0006A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that real literals can be as long as the maximum input line
X-- length and still yield representable values.
X-- This has to be carefully done since the implementation may limit the
X-- range of allowable values.
X-- JB  (DB 7/10/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT: BOOLEAN) ;
Xend E;
X
Xarchitecture BB of E is
X-- L_X_1:  block
X  begin
X   process
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    subtype SUBI_1 is REAL range 0.0 to 2.0;
X    variable VAR_3: BTRUE;
X    constant C1 : SUBI_1 :=
X1.3456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
X          ;
X    constant C2 : SUBI_1 :=
X1.3456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789013
X          ;
Xbegin
X    case VAR_3 is
X	when ( C1 +
X0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
X               = C2 ) => return;
X    end case;
X  end process;
X-- end block;
Xend BB;
*-*-END-of-s-13-4-0-0006a.vhdl-*-*
echo x - s-13-4-0-0007a.vhdl
sed 's/^X//' >s-13-4-0-0007a.vhdl <<'*-*-END-of-s-13-4-0-0007a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-0-0007A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that a zero exponent is allowed for an integer literal.
X-- JB  (DB 7/9/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    type INIT_1 is range 10 to 1000E0;
X    subtype SUBTYP_1 is INIT_1 range 10E0 to 1000E0;
X    type INIT_2 is range 16#F#E0 to 16#FF#;
X    subtype SUBTYP_2 is INIT_2 range 16#F#E0 to 16#FF#E0;
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1: BTRUE;
Xbegin
X    case V1 is
X	when (
X		(10 = 10E0)
X	    and (16#F# = 16#F#E0)
X	    and (10E1 = 100E0)
X	    and (16#F#E1 = 16#F0#E0)
X	     ) => return TRUE;	
X    end case;
X  end F;
Xend P ;
*-*-END-of-s-13-4-0-0007a.vhdl-*-*
echo x - s-13-4-2-0001a.vhdl
sed 's/^X//' >s-13-4-2-0001a.vhdl <<'*-*-END-of-s-13-4-2-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-2-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that both uppercase and lowercase letters A B C D E F are allowed as
X-- extended digits in based literals (integer and real).
X-- Checks only for letters in value part (not allowed in base or exponent).
X-- DPS 04/02/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture A of E is
X-- L_X_1:    block
X    begin
X	process
X            subtype BTRUE is BOOLEAN range TRUE to TRUE;
X            variable V1 : BTRUE;
X        begin
X            case V1 is
X            when (
X                       (16#ABCDEF#=16#abcdef#)
X                   and (16#abcd.EF#=16#ABCD.ef#)
X                 ) => return;
X            end case;
X        end process;
X--     end block;
Xend A;
*-*-END-of-s-13-4-2-0001a.vhdl-*-*
echo x - s-13-4-2-0002a.vhdl
sed 's/^X//' >s-13-4-2-0002a.vhdl <<'*-*-END-of-s-13-4-2-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-4-2-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that based integer literals with bases '2' through '16' all yield
X-- correct values.
X-- DPS 04/02/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E  is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture A of E is
X-- L_X_1:    block
X    begin
X      process
X  	  subtype BTRUE is BOOLEAN range TRUE to TRUE;
X  	  variable V1 : BTRUE;
X	begin
X    	    case V1 is
X        	when (
X                           (2#11#=3)
X                           and (3#22#=8)
X                           and (4#33#=15)
X                           and (5#44#=24)
X                           and (6#55#=35)
X                           and (7#66#=48)
X                           and (8#77#=63)
X                           and (9#88#=80)
X                           and (10#99#=99)
X                           and (11#AA#=120)
X                           and (12#BB#=143)
X                           and (13#CC#=168)
X                           and (14#DD#=195)
X                           and (15#EE#=224)
X                           and (16#FF#=255)
X                     ) => return;
X            end case;
X	end process;
X--     end block;
Xend A;
*-*-END-of-s-13-4-2-0002a.vhdl-*-*
echo x - s-13-5-0-0001a.vhdl
sed 's/^X//' >s-13-5-0-0001a.vhdl <<'*-*-END-of-s-13-5-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-5-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that any graphic character, including a single ', can be used as the
X-- data character in a character literal.
X-- DPS 04/04/85 (DB 7/8/85)
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable S1: CHARACTER;
Xbegin
X    S1 := 'A';
X    S1 := 'B';
X    S1 := 'C';
X    S1 := 'D';
X    S1 := 'E';
X    S1 := 'F';
X    S1 := 'G';
X    S1 := 'H';
X    S1 := 'I';
X    S1 := 'J';
X    S1 := 'K';
X    S1 := 'L';
X    S1 := 'M';
X    S1 := 'N';
X    S1 := 'O';
X    S1 := 'P';
X    S1 := 'Q';
X    S1 := 'R';
X    S1 := 'S';
X    S1 := 'T';
X    S1 := 'U';
X    S1 := 'V';
X    S1 := 'W';
X    S1 := 'X';
X    S1 := 'Y';
X    S1 := 'Z';
X    S1 := '0';
X    S1 := '1';
X    S1 := '2';
X    S1 := '3';
X    S1 := '4';
X    S1 := '5';
X    S1 := '6';
X    S1 := '7';
X    S1 := '8';
X    S1 := '9';
X    S1 := '"';
X    S1 := '#';
X    S1 := '&';
X    S1 := ''';
X    S1 := '(';
X    S1 := ')';
X    S1 := '*';
X    S1 := '+';
X    S1 := ',';
X    S1 := '-';
X    S1 := '.';
X    S1 := '/';
X    S1 := ':';
X    S1 := ';';
X    S1 := '<';
X    S1 := '=';
X    S1 := '>';
X    S1 := '_';
X    S1 := '|';
X    S1 := ' ';
X    S1 := 'a';
X    S1 := 'b';
X    S1 := 'c';
X    S1 := 'd';
X    S1 := 'e';
X    S1 := 'f';
X    S1 := 'g';
X    S1 := 'h';
X    S1 := 'i';
X    S1 := 'j';
X    S1 := 'k';
X    S1 := 'l';
X    S1 := 'm';
X    S1 := 'n';
X    S1 := 'o';
X    S1 := 'p';
X    S1 := 'q';
X    S1 := 'r';
X    S1 := 's';
X    S1 := 't';
X    S1 := 'u';
X    S1 := 'v';
X    S1 := 'w';
X    S1 := 'x';
X    S1 := 'y';
X    S1 := 'z';
X    S1 := '!';
X    S1 := '$';
X    S1 := '%';
X    S1 := '@';
X    S1 := '?';
X    S1 := '[';
X    S1 := '\';
X    S1 := ']';
X    S1 := '^';
X    S1 := '`';
X    S1 := '{';
X    S1 := '}';
X    S1 := '~';
X    return TRUE;
X  end F;
Xend P ;
*-*-END-of-s-13-5-0-0001a.vhdl-*-*
echo x - s-13-6-0-0001a.vhdl
sed 's/^X//' >s-13-6-0-0001a.vhdl <<'*-*-END-of-s-13-6-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-6-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that all graphic characters, except a single ", are permitted as data
X-- characters in string literals.
X-- DPS 04/02/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    variable S45 : STRING (1 to 44);
X    variable S50 : STRING (1 to 50);
Xbegin
X    S45 := "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#&'()*+,";
X    S50 := "-./:;<=>_| abcdefghijklmnopqrstuvwxyz!$%@?[\]^`{}~";
X    return FALSE;
X  end F;
Xend P ;
*-*-END-of-s-13-6-0-0001a.vhdl-*-*
echo x - s-13-6-0-0002a.vhdl
sed 's/^X//' >s-13-6-0-0002a.vhdl <<'*-*-END-of-s-13-6-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-6-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that doubled " can be used as a data character in string literals.
X-- DPS 04/02/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1 : BTRUE;
X    constant C1 : CHARACTER := '"';
X    constant S1 : STRING (1 to 1) := """";
X    constant S3 : STRING (1 to 3) := "A""C";
X    constant S5 : STRING (1 to 5) := """B""D""";
Xbegin
X    V1 :=      (S1(1)=C1)
X               and (S3(2)=C1)
X               and (S5(1)=C1)
X               and (S5(3)=C1)
X               and (S5(5)=C1);
X    return V1;
X  end F;
Xend P ;
*-*-END-of-s-13-6-0-0002a.vhdl-*-*
echo x - s-13-6-0-0003a.vhdl
sed 's/^X//' >s-13-6-0-0003a.vhdl <<'*-*-END-of-s-13-6-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-6-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that uppercase and lowercase letters are distinct within a string
X-- literal.
X-- DPS 04/02/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BFALSE is BOOLEAN range FALSE to FALSE;
X    variable V1 : BFALSE;
Xbegin
X    V1 := ('A'='a') or ("ABCDE"="abcde");
X    return V1;
X  end F;
Xend P ;
*-*-END-of-s-13-6-0-0003a.vhdl-*-*
echo x - s-13-6-0-0004a.vhdl
sed 's/^X//' >s-13-6-0-0004a.vhdl <<'*-*-END-of-s-13-6-0-0004a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-6-0-0004A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that string literals of length 1 are equal in value
X-- to their corresponding chacter literal.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1 : BTRUE;
X    constant A : STRING (1 to 1) := "A";
X    constant Num1 : STRING (1 to 1) := "1";
X    constant Apostr : STRING (1 to 1) := "'";
X    constant Quote : STRING (1 to 1) := """";
Xbegin
X    V1 := (A(1) = 'A') and (Num1(1) = '1') and (Apostr(1) = ''')
X		and (Quote(1) = '"');
X    return V1;
X  end F;
Xend P ;
*-*-END-of-s-13-6-0-0004a.vhdl-*-*
echo x - s-13-6-0-0005a.vhdl
sed 's/^X//' >s-13-6-0-0005a.vhdl <<'*-*-END-of-s-13-6-0-0005a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-6-0-0005A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that null strings are permitted.
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse A.all ;
Xpackage body A is
Xfunction F( A : STRING ) return STRING is
Xbegin
X  return "";
X  end F;
X
X-- with function F;
Xuse A.F ;
Xprocedure P is
X   constant S : STRING := "";
X   variable BOOL : BOOLEAN;
Xbegin
X   BOOL := "" = "989";
X   BOOL := F("") = "";
Xend P;
X
Xend A ;
*-*-END-of-s-13-6-0-0005a.vhdl-*-*
echo x - s-13-7-0-0001a.vhdl
sed 's/^X//' >s-13-7-0-0001a.vhdl <<'*-*-END-of-s-13-7-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-7-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that B O and X (and their lowercase counterparts) are permitted as base
X-- specifiers and that they yield the correct values.
X-- DPS 04/05/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xentity E is
X    port (PT:BOOLEAN) ;
Xend E;
X
Xarchitecture AB of E is
X-- L_X_1:    block
X        subtype BTRUE is BOOLEAN range TRUE to TRUE;
X        signal V1 : BTRUE;
X    begin
X	process
X	    begin
X    		V1 <= (
X                           (B"100_110_111_100"=O"4674")
X                       and (B"1001_1011_1100"=X"9BC")
X               	       and (O"4674"=X"9BC")
X               and (X"9BC"=('1','0','0','1','1','0','1','1','1','1','0','0'))
X		       and (b"100_101_111_110"=o"4576")
X		       and (x"9BC"=b"1001_1011_1100")
X             		 );
X		return;
X	end process;
X--     end block;
Xend AB;
*-*-END-of-s-13-7-0-0001a.vhdl-*-*
echo x - s-13-7-0-0002a.vhdl
sed 's/^X//' >s-13-7-0-0002a.vhdl <<'*-*-END-of-s-13-7-0-0002a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-7-0-0002A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that both upper and lower case A..F are equivalenet as extended 
X-- digits in bit string literals with base specifier X.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1 : BTRUE;
Xbegin
X    V1 := (X"ABCDEF"=x"abcdef");
X    return V1;
X  end F;
Xend P ;
*-*-END-of-s-13-7-0-0002a.vhdl-*-*
echo x - s-13-7-0-0003a.vhdl
sed 's/^X//' >s-13-7-0-0003a.vhdl <<'*-*-END-of-s-13-7-0-0003a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-7-0-0003A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that an underscore may be inserted between adjacent digits without
X-- affecting the value of the bit string literal.
X-- DPS 04/08/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction F return BOOLEAN is
X    subtype BTRUE is BOOLEAN range TRUE to TRUE;
X    variable V1 : BTRUE;
Xbegin
X    V1 := (B"01_111_101"=B"0111_1101")
X               and (O"17_5"=O"1_75")
X               and (X"7D"=X"7_D");
X    return V1;
X  end F;
Xend P ;
*-*-END-of-s-13-7-0-0003a.vhdl-*-*
echo x - s-13-8-0-0001a.vhdl
sed 's/^X//' >s-13-8-0-0001a.vhdl <<'*-*-END-of-s-13-8-0-0001a.vhdl-*-*'
X
X-------------------------------------------------------------------------------
X	--
X	--		Copyright Intermetrics 1986
X	--
X	-- 	This material may be reproduced by or for the 
X	--      U.S. Government pursuant to the copyright license 
X	-- 	under DAR clause 7-104.9(a) (1981 May)
X	--
X	--
X-------------------------------------------------------------------------------
X-- File: %P%
X-- Original file name: S-13-8-0-0001A.VHD
X-- Version: %W% - last modified %E%
X-- sccsid:  -- %G% %W% --
X-- Description:
X-- Check that each occurrance of two adjacent hyphens not in a string literal
X-- or inside a previously begun comment begins a comment.
X-- DB 7/10/85
X-- 
X-- Modification History:
X-- ---------------------------------------------------------------------------
X-- Updated to 1076-1987 VHDL, checked w/Recognizer. (Steve)Grout@mcc.com 20jun88
X-- ***************************************************************************
X-- Begin test: >>>
X
Xuse P.all ;
Xpackage body P is
Xfunction--This is a valid comment.
X       F1 return BOOLEAN is
X
X----------------------------------------------------------------
X--As with ADA, the rest of the unit should be analyzed correctly
X--  following the comment line.
X----------------------------------------------------------------
X
Xbegin
X    return --This comment occurs within a statement!
X    FALSE-- Comments can occur anywhere and need not be 
X--           preceded by a blank
X    ;
Xend F1;
X
Xfunction F2 return BOOLEAN is
Xtype TYP_1 is range 1 to 10;
Xvariable V1--This is all one comment--not two  --  or more!
X           : TYP_1 := 2;
Xbegin
X    assert TRUE
X      report "--This is not a comment--";
X    return FALSE;
Xend F2;
Xend P ;
X
Xentity E is
X   port (PT:BOOLEAN) ;
X    --This is a NULL entity
X--**********************************************************************
X    --As with ADA, the rest of the unit should be analyzed correctly
X  --  following the erroneous comment line.
X--////////////////////////////////////////////////////////////////////////
Xend E;
X
Xarchitecture A of E is
X--
X-- L_X_1:block--
X--(that was a blank comment)
Xbegin process begin null; end process -- end block--that wasn't so quick!
X;--semicolon
Xend;--architecture A ("A comment can appear on any line of a VHDL description.")
*-*-END-of-s-13-8-0-0001a.vhdl-*-*
exit
--
Steve Grout @ MCC VLSI CAD Program, Austin TX.  [512] 343-0860 
ARPA: grout@mcc.arpa
UUCP: {ihnp4,seismo,harvard,gatech,pyramid}!ut-sally!im4u!milano!grout