From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,27fc7a8facdb6bb5,start X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Date: Wed, 22 Jun 2005 09:35:10 -0400 From: James Alan Farrell Organization: nospam User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Question on use of ! instead of | Content-Type: multipart/mixed; boundary="------------030303010405000706040106" NNTP-Posting-Host: fw.grammatech.com Message-ID: <42b96967$1_1@newsfeed.slurp.net> X-Trace: newsfeed.slurp.net 1119447399 209.4.89.67 (22 Jun 2005 08:36:39 -0500) X-Original-NNTP-Posting-Host: 209.4.89.67 Path: g2news1.google.com!news3.google.com!news.glorb.com!news.moat.net!newsfeed.slurp.net!not-for-mail Xref: g2news1.google.com comp.lang.ada:11562 Date: 2005-06-22T09:35:10-04:00 List-Id: This is a multi-part message in MIME format. --------------030303010405000706040106 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi all, I'm working on a program to analyze Ada code using ASIS. We use ACATS to test our software, and this has turned up some behavior I'm having troubles explaining. ACATS test a2a031a.adb (below) has a line in it: VAR := (A!B => E2, C ! D => 0); -- AGGREGATE. According to ASIS, "A!B" is an identifier. If I put spaces around the ! then A and B are identifiers and things work the way I expect, and if I replace the ! with a | again things work the way I expect. Could this be a bug in the compiler or in ASIS? I couldn't find ! in the ARM. It's supposed to be a direct replacement for |, correct? (ie, they should work the same semantically and syntactically?) I am using gnat 3.15p and the appropriate matching version of ASIS. Thanks, James Alan Farrell Grammatech, inc. -- A2A031A.ADA -- Grant of Unlimited Rights -- -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained -- unlimited rights in the software and documentation contained herein. -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making -- this public release, the Government intends to confer upon all -- recipients unlimited rights equal to those held by the Government. -- These rights include rights to use, duplicate, release or disclose the -- released technical data and computer software in whole or in part, in -- any manner and for any purpose whatsoever, and to have or permit others -- to do so. -- -- DISCLAIMER -- -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A -- PARTICULAR PURPOSE OF SAID MATERIAL. --* -- CHECK THAT AN EXCLAMATION MARK CAN REPLACE A VERTICAL BAR WHEN THE -- VERTICAL BAR IS USED AS A SEPARATOR. -- CONTEXTS ARE: -- AS A CHOICE IN A VARIANT PART -- IN A DISCRIMINANT CONSTRAINT -- IN A CASE STATEMENT CHOICE -- IN AN AGGREGATE -- IN AN EXCEPTION HANDLER. -- JBG 5/25/85 WITH REPORT; USE REPORT; PROCEDURE A2A031A IS TYPE ENUM IS (E1, E2, E3); TYPE REC (A, B : ENUM) IS RECORD C : INTEGER; CASE A IS WHEN E1 ! E2 => -- CHOICE OF VARIANT. D : INTEGER; WHEN E3 => E : FLOAT; END CASE; END RECORD; EX1, EX2, EX3 : EXCEPTION; VAR : REC (A!B => E2); -- DISCRIMINANT CONSTRAINT. EVAR : ENUM := E2; BEGIN TEST ("A2A031A", "CHECK USE OF ! AS SEPARATOR IN PLACE OF |"); CASE EVAR IS WHEN E3 => NULL; WHEN E2!E1 => NULL; -- CASE STATEMENT CHOICE. END CASE; VAR := (A!B => E2, C ! D => 0); -- AGGREGATE. RESULT; EXCEPTION WHEN EX1!EX2 ! EX3 => NULL; -- EXCEPTION HANDLER. END A2A031A; --------------030303010405000706040106 Content-Type: text/x-vcard; charset=utf-8; name="jfarrell.vcf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="jfarrell.vcf" begin:vcard fn:James Alan Farrell n:Farrell;James org:GrammaTech version:2.1 end:vcard --------------030303010405000706040106--