<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Hi</div>
<div><br>
</div>
<div>I’m using the backend code at&nbsp;<a href="https://github.com/codecurve/cellml-api/blob/7f093eaedde907a8291fae84b7ace247882f6609/simple_interface_generators/omniidl_be/simple_cpp/cxxheadergen.py">https://github.com/codecurve/cellml-api/blob/7f093eaedde907a8291fae84b7ace247882f6609/simple_interface_generators/omniidl_be/simple_cpp/cxxheadergen.py</a>&nbsp;to
 generate a C&#43;&#43; header.</div>
<div><br>
</div>
<div>For some reason, comments on attributes aren’t encountered when traversing the AST. &nbsp;It’s working fine for operations.</div>
<div><br>
</div>
<div>To generate, I’m using:</div>
<div>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">omniidl &nbsp; -bsimple_cpp -K -Iinterfaces -p/somepath/Now/cellmlapi/simple_interface_generators/omniidl_be /somepath/cellmlapi/interfaces/libcellmlStarter.idl</p>
</div>
<div><br>
</div>
<div>Sample input:</div>
<div>
<div>// Comment 1</div>
<div>interface J {</div>
<div>&nbsp; //Comment 4</div>
<div>&nbsp; boolean contains(in boolean &nbsp;x);</div>
<div>&nbsp; //Comment 5</div>
<div><br>
</div>
<div>&nbsp; //Comment 2&nbsp;</div>
<div>&nbsp; attribute boolean the_I;&nbsp;</div>
<div>&nbsp; //Comment 3</div>
<div>};</div>
</div>
<div><br>
</div>
<div>Sample output:</div>
<div>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);">
/* This file is automatically generated from test.idl</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);">
&nbsp;* DO NOT EDIT DIRECTLY OR CHANGES WILL BE LOST!</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);">
&nbsp;*/</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">
#ifndef _GUARD_test</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(120, 73, 42);">
#define _GUARD_test</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(209, 47, 27);">
<span style="color: #78492a">#include </span>&quot;cda_compiler_support.h&quot;</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(187, 44, 162);">
class<span style="color: #000000"> J</span></p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">{</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(187, 44, 162);">
public<span style="color: #000000">:</span></p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp; <span style="color: #bb2ca2">
static</span> <span style="color: #bb2ca2">const</span> <span style="color: #bb2ca2">
char</span>* INTERFACE_NAME() { <span style="color: #bb2ca2">return</span> <span style="color: #d12f1b">
&quot;J&quot;</span>; }</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp; <span style="color: #bb2ca2">
virtual</span> ~J() {}</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;">&nbsp;&nbsp;</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;"><br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);">
<span style="color: #000000">&nbsp; </span>//Comment 4</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;"><br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp; <span style="color: #bb2ca2">
virtual</span> <span style="color: #bb2ca2">bool</span> contains(<span style="color: #bb2ca2">bool</span> x)
<span style="color: #bb2ca2">throw</span>(std::exception&amp;) = <span style="color: #272ad8">
0</span>;</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;">&nbsp;&nbsp;</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;"><br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp; <span style="color: #bb2ca2">
virtual</span> <span style="color: #bb2ca2">bool</span> the_I() <span style="color: #bb2ca2">
throw</span>(std::exception&amp;)&nbsp; = <span style="color: #272ad8">0</span>;</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">&nbsp; <span style="color: #bb2ca2">
virtual</span> <span style="color: #bb2ca2">void</span> the_I(<span style="color: #bb2ca2">bool</span> attr)
<span style="color: #bb2ca2">throw</span>(std::exception&amp;) = <span style="color: #272ad8">
0</span>;</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">};</p>
<p style="margin: 0px; font-size: 11px; font-family: Menlo; color: rgb(0, 132, 0);">
<span style="color: #78492a">#endif </span>// guard</p>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Platform: Mac OS X 10.9.4</div>
<div><br>
</div>
<div>Version:&nbsp;<span style="font-family: Menlo; font-size: 11px;">omniidl -V</span></div>
<p style="margin: 0px; font-size: 11px; font-family: Menlo;">omniidl version 1.0</p>
<div><br>
</div>
<div>Installed using “brew install omniorb”.</div>
<div><br>
</div>
<div>Thanks in advance for any help.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Randall</div>
</body>
</html>