C Declarations

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Bartc

    C Declarations

    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.

    --
    Thanks,

    Bartc.


  • Bartc

    #2
    Re: C Declarations


    "Bartc" <bc@freeuk.comw rote in message
    news:smoTj.1977 8$yD2.2395@text .news.virginmed ia.com...
    >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.

    --
    Bartc


    Comment

    Working...