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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,24d7acf9b853aac8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!i13g2000yqd.googlegroups.com!not-for-mail From: Natacha Kerensikova Newsgroups: comp.lang.ada Subject: Re: S-expression I/O in Ada Date: Wed, 11 Aug 2010 08:30:21 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <547afa6b-731e-475f-a7f2-eaefefb25861@k8g2000prh.googlegroups.com> <1lhdkikeh2sif.bd3pon3knbv8.dlg@40tude.net> <7027f0c6-d909-428c-ab8d-6ba1bd7ff4b2@x21g2000yqa.googlegroups.com> <1424bzz54867w.soj1iq72wkwl$.dlg@40tude.net> <9db37b80-acbb-4c9f-a646-34f108f52985@v15g2000yqe.googlegroups.com> <16xmnn0qe5yog.ii1p0ap9yuth$.dlg@40tude.net> <5d1d705a-008a-43f1-aa19-9b4878ec926b@m1g2000yqo.googlegroups.com> <7n73yzwym49n$.1f5vg0mbw5jf3$.dlg@40tude.net> <98284e63-8db5-4de1-b3f6-08dff97b6579@z28g2000yqh.googlegroups.com> NNTP-Posting-Host: 95.152.65.220 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1281540621 25252 127.0.0.1 (11 Aug 2010 15:30:21 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 11 Aug 2010 15:30:21 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: i13g2000yqd.googlegroups.com; posting-host=95.152.65.220; posting-account=aMKgaAoAAAAoW4eaAiNFNP4PjiOifrN6 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.2.3) Gecko/20100524 Firefox/3.6.3,gzip(gfe) Xref: g2news1.google.com comp.lang.ada:13125 Date: 2010-08-11T08:30:21-07:00 List-Id: On Aug 11, 2:58=A0pm, Robert A Duff wrote: > If your brain can understand the complexities of C (when do > arrays "decay" into pointers? Always, except when they're an argument of sizeof, unary &, or a string literal used to initialize an array (C99 =A76.3.2.1.3). Though I have to admit from the top of my head I only remember sizeof and that there are three of them, after think a bit I remembered unary &, and I had to look up the Standard to find out the thrid one (even though I use fluently this feature when I needed it). >=A0how do you typedef an array > of pointers to functions returning pointers to functions > returning void? typedef void (*voidfn)(arguments unspecified above); typedef voidfn (*returning_voidfn)(other arguments unspecified above); typedef returning_voidfn wanted_type[SIZE_UNSPECIFIED]; Now of course this is probably less impressive than the much-less- readable version doing everything in one statement: typedef void (*(*wanted_type[SIZE])(void))(void); >=A0what's a "sequence point"? Basically, points in the program flow between which whatever should happen happens in an undefined order. They happen roughly at commas (expression separator), semicolons (statement separators) and lazy logical operators. > ), then I assure you it can deal with Ada. But what's the point of knowing all this when one can't design a three- digit LOC program properly? It's just like knowing the dictionary contents by heart without knowing anything about grammar. Thanks for your time, Natacha