title: Parse the .dbc file and generate C++ code to represent classes/struct for each message( for target ECU )
body: <p>I am trying to generate C++ code from a .dbc file.</p>
  <p>e.g. A message is defined like following in .dbc file</p>
  <pre><code>BO_ 500 IO_DEBUG: 5 IO
   SG_ IO_DEBUG_test_unsigned : 0|8@1+ (1,0) [0|0] &quot;&quot; DBG
   SG_ IO_DEBUG_test_signed : 8|8@1- (1,-128) [0|0] &quot;&quot; DBG
   SG_ IO_DEBUG_test_float1 : 16|8@1+ (0.1,0) [0|0] &quot;&quot; DBG
   SG_ IO_DEBUG_test_float2 : 24|12@1+ (0.01,-20.48) [-20.48|20.47] &quot;&quot; DBG
   SG_ IO_DEBUG_test_enum : 38|2@1+ (1,0) [0|0] &quot;&quot; DBG
  
  BA_ &quot;FieldType&quot; SG_ 500 IO_DEBUG_test_enum &quot;IO_DEBUG_test_enum&quot;;
  VAL_ 500 IO_DEBUG_test_enum 2 &quot;IO_DEBUG_test2_enum_two&quot; 1 &quot;IO_DEBUG_test2_enum_one&quot; ;
  </code></pre>
  <p>I am trying to generate C++ code something like this. Message name will become the Class name and all signals should become the members of the class along with data-types.</p>
  <p>//IoDebug.h  -- ProcessMessageInterface is an interface.</p>
  <pre><code>class IoDebug : public ProcessMessageInterface {
  pubic:
     // ProcessMessageInterface implementation
     void processMessage();
  
  
  private:
     uint8_t testUnSigned;
     int8_t  testSigned;
     float   testFloat1;
     float   testFloat2; 
     IO_DEBUG_test_enum testEnum;
  };
  </code></pre>
  <p>//IoDebug.cpp</p>
  <pre><code>#include &quot;IoDebug.h&quot;
  
  IoDebug::processMessage() 
  {
     
  }
  </code></pre>
  <p>Is there any dbc parser and code generation tool(s) exists which can generate code like above?</p>