1

Is there a meta-language to describe types (structures/records, function types and their parameters ...) and constants that can be fed to a tool or that I can then write code for to create prototypes for multiple target languages? Note: (E)BNF is not even close to what I am looking for.

IDL looks closer to what I need, but those flavors I looked at didn't even cover systems that were not also object-oriented. Microsoft's M seems to be tied to .NET and the system I need it for is truly what one would usually describe as a "C-API". No fancy interface definitions or anything remotely object-oriented.

0xC0000022L
  • 20,597
  • 9
  • 86
  • 152
  • @Will: "basic flow-control" ... hmmm? Oh well. Haven't flagged them anymore. Though I disagree probably *as* strongly as the person who felt it's wrong to flag them in the linked topic. Try to apply the opposite standard to ServerFault and you see what I mean. Basic flow control does *not* imply programming. Natural language often has basic flow control, yet for English you'd probably not accept it here on SO, would you? Heck, `/etc/network/interfaces` on Debian/Ubuntu has flow-control. Would it belong rather on SO or SF? – 0xC0000022L Jun 06 '11 at 00:32
  • I'm more on your side, believe me. But apparently the consensus is (now) that anything that involves something that could loosely be called scripting can be considered on topic. –  Jun 06 '11 at 13:25

1 Answers1

0

OMG IDL provide documents describing the mapping of IDL constructs to a number of well known languages including C:

http://www.omg.org/technology/documents/idl2x_spec_catalog.htm

August Karlstrom
  • 10,773
  • 7
  • 38
  • 60
  • yes, they are one of the IDL flavors I checked out. Thanks. You can also use Microsoft's IDL to describe a COM interface in C for example. But the thing is that I'm looking for something to describe a very simple API without the notion of objects/classes and so on. So it's not exactly what I'm looking for. Or am I missing something that is blatantly obviously and I'm still missing it? – 0xC0000022L May 20 '11 at 18:18
  • Since this is the best answer in quite some time, I'll accept it. Though it doesn't really fit match my problem. – 0xC0000022L Jun 06 '11 at 00:44