C Declarations

B

Bartc

I need to be able generate C-style declarations from a specification (I call
it a typespec) in left-to-right form (as it might be expressed in English).

What is the algorithm, or where can I found the algorithm, to do so?

I have looked at some code in K&R2 p126 ('undcl'), but that works on
character input (I already have the typespec in internal form).

And I've heard of something called cdecl.c but that seems to be 2000 lines +
headers which I'm not keen to delve into; I expect the code to be very
simple, once I know it..

Simple Examples:

Input Outputs (with and without embedded name)

'Array 3 of int' int x[3] int[3]

'Pointer to char' char *x char*

But this needs to work with arbitrary typespecs.
 
B

Bartc

Bartc said:
I need to be able generate C-style declarations from a specification (I
call it a typespec) in left-to-right form (as it might be expressed in
English).

What is the algorithm, or where can I found the algorithm, to do so?

Never mind, I managed to sort something out by trial and error: generating
some combination of *, (, ), [ and ] and using cdecl to see if this
corresponded to my input. Probably too many (,) in there but they don't
hurt.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top