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.3 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,bb72f760079ae185 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-27 02:03:02 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fr.usenet-edu.net!usenet-edu.net!enst!enst.fr!not-for-mail From: "Grein, Christoph" Newsgroups: comp.lang.ada Subject: Re: Elaboration Schmelaboration... Date: Thu, 27 Jun 2002 10:58:55 +0200 (MET DST) Organization: ENST, France Sender: comp.lang.ada-admin@ada.eu.org Message-ID: Reply-To: comp.lang.ada@ada.eu.org NNTP-Posting-Host: marvin.enst.fr Mime-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii X-Trace: avanie.enst.fr 1025168582 15223 137.194.161.2 (27 Jun 2002 09:03:02 GMT) X-Complaints-To: usenet@enst.fr NNTP-Posting-Date: Thu, 27 Jun 2002 09:03:02 +0000 (UTC) Return-Path: X-Authentication-Warning: mail.eurocopter.com: uucp set sender to using -f Content-MD5: sbjaBRp35vQam57DckKsZQ== X-Mailer: dtmail 1.2.1 CDE Version 1.2.1 SunOS 5.6 sun4u sparc Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org X-Mailman-Version: 2.0.11 Precedence: bulk X-Reply-To: "Grein, Christoph" List-Help: List-Post: List-Subscribe: , List-Id: comp.lang.ada mail<->news gateway List-Unsubscribe: , Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org Xref: archiver1.google.com comp.lang.ada:26743 Date: 2002-06-27T10:58:55+02:00 > Eh... What is elaboration? Can it be explained in C++ terms? Not knowing C++, I'll use Ada terminology :-b A program as a whole is executed. A program consists of declarations, statements and expressions. Execution of each of these parts has a special name: Declarations are elaborated. Statements are executed. Expressions are evaluate. Thus a declarative part is elaborated, the following is done (in the sequence defined in the RM): Storage is allocated for the local variables, explicit or implicit initial values are assigned to them, local tasks are started, etc... Since initial values are expressions, all kinds of other program units may be called. This is the infamous elaboration sequence problem when circularities are detected.