I'm sitting down to write a *simple* IDL compiler and looking for suggestions on "user friendly" syntax -- subject, of course, to precision/accuracy. (i.e., I can come up with nice clean syntax that ends up *ambiguous*!)
I'm targeting C/C++ bindings.
The first question is whether I should allow the IDL specifications to act *as* the "formal" interface specifications for those language bindings (i.e., include them *directly*) or if I should require the compiler to run and generate suitable headers which are *then* included?
Also looking for ideas as to syntax for in, out, in/out specifications on parameters -- without unnecessarily cluttering the sources (and the IDL specs). E.g., be pedantic and require EVERY parameter to thusly be indicated? Or, just the "unexpected" ones (e.g., outs)?
As this adds an extra layer of complexity to the interfaces, I'm hoping to make the syntax intuitive (least surprise).