Path: csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c
Subject: Re: direct-declarator or direct-abstract-declarator?
Date: Thu, 09 Apr 2020 06:52:08 -0700
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <86h7xsn4vr.fsf@linuxsc.com>
References:
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: reader02.eternal-september.org; posting-host="bedbb4a28902cd1137b240ce253aab81"; logging-data="15246"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19qHs1Y62Yffi1P2kaNF70UxPt5DauESEc="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:A4Ro2tXLehA3nXV9Hwi47OfPvbY= sha1:lh6viLfl0yhbmfBarbR/G/4aOpI=
Xref: csiph.com comp.lang.c:151257
Johann Klammer writes:
> [considering this code, excerpted from n2176, page 100:]
>
> typedef signed int t;
> t f(t (t));
>
> [About the declaration of f it is said:]
> a function f is declared with type
> "function returning signed int
> with one unnamed parameter
> with type pointer to function returning signed int
> with one unnamed parameter with type signed int"
>
> [...]
>
> So how do I get to the typedef name 't' there towards the end
> with the grammar specified?
t f( t ( t ) );
^ ^ ^ ^ ^
+ direct-abstract-declarator{opt} + + parameter-type-list + |
| |
| |
+------------- direct-abstract-declarator -----------------+
Does this help clarify things?