<br><font size=2 face="sans-serif">Dear Gabor,</font>
<br>
<br><font size=2 face="sans-serif">I am sorry, I didn't notice that you
are not working at ISIS. I don't know if I can directly send you the source
code. If you want you can get the GReAT source code from the escher site
http://escher.isis.vanderbilt.edu/. </font>
<br>
<br><font size=2 face="sans-serif">Otherwise you can do the following:</font>
<br>
<br><font size=2 face="sans-serif">Create a RAW component using GME's component
generator and then at the bottom of the InvokeEx function you need to write
code which looks like this.</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; CComPtr&lt;IMgaProject&gt; spProject = project;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; CComPtr&lt;IMgaFCO&gt; spContextFCO = currentobj;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; CComPtr&lt;IMgaFCOs&gt; spSelectedFCOs = selectedobjs;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; long lParam = param;</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; { &nbsp; &nbsp; &nbsp; &nbsp;// Calling
the GR interprerter</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CComBSTR
bstrCompName( L&quot;MGA.Interpreter.Generate GR&quot; );</font>
<br>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CComPtr&lt;IMgaComponentEx&gt;
grComponent;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; COMTHROW(
grComponent.CoCreateInstance( bstrCompName ) ) ;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; COMTHROW(
grComponent-&gt;put_InteractiveMode( VARIANT_TRUE ) );</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; COMTHROW(
grComponent-&gt;Enable( VARIANT_TRUE ) );</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; COMTHROW(
grComponent-&gt;Initialize( spProject ) );</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; STDMETHODIMP
ret = grComponent-&gt;InvokeEx( spProject, spContextFCO, spSelectedFCOs,
lParam ) ;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(ret
!= S_OK)</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; return ret;</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; }</font>
<br>
<br><font size=2 face="sans-serif">You can cascade interpreters, have then
be invoked conditionally and all the good stuff.</font>
<br>
<br><font size=2 face="sans-serif">If I remember correctly I had once assembled
a command line tool that could be provided with a gme file and an interpreter
name. This tool would then invoke the interpreter on the file.</font>
<br>
<br><font size=2 face="sans-serif">Attila, could you please tell us weather
this tool survived or has it been buried?</font>
<br>
<br>
<br><font size=2 face="sans-serif">Thanks,</font>
<br><font size=2 face="sans-serif">Adi</font>
<br><font size=2 face="sans-serif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </font>
<br>
<br><font size=2 face="sans-serif">-----------------------------------<br>
Aditya Agrawal<br>
Researcher<br>
IBM T. J. Watson<br>
mailto:aagrawa@us.ibm.com<br>
+1 (914) 784-6068 (TL 863)<br>
</font>
<br>
<br><font size=2><tt>gme-users-bounces@list.isis.vanderbilt.edu wrote on
04/20/2005 02:54:43 AM:<br>
<br>
&gt; It would be fine if someone can send me the source code or a link
<br>
&gt; where I can access it.</tt></font>
<br><font size=2><tt>&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; Thanks,</tt></font>
<br><font size=2><tt>&gt; &nbsp;</tt></font>
<br><font size=2><tt>&gt; Gabor Batori</tt></font>
<br><font size=2><tt>&gt; -----Original Message-----<br>
&gt; From: gme-users-bounces@list.isis.vanderbilt.edu [mailto:gme-users-<br>
&gt; bounces@list.isis.vanderbilt.edu]<br>
&gt; Sent: 20 April 2005 03:40<br>
&gt; To: A list for GME users to share thoughts and discuss bugs and fixes.<br>
&gt; Subject: Re: [gme-users] plug-in chain<br>
</tt></font>
<br><font size=2><tt>&gt; <br>
&gt; Dear Gabor, <br>
&gt; <br>
&gt; you can access the code for the GReAT Master interpreter from the
<br>
&gt; MoBIES source safe. If not could someone from the GReAT team sent
<br>
&gt; Gabor a copy of the files? <br>
&gt; <br>
&gt; There you should look at the file called RawComponent.cpp. It will
<br>
&gt; be quite easy once you see the example. <br>
&gt; <br>
&gt; Thanks, <br>
&gt; Adi <br>
&gt; <br>
&gt; -----------------------------------<br>
&gt; Aditya Agrawal<br>
&gt; Researcher<br>
&gt; IBM T. J. Watson<br>
&gt; mailto:aagrawa@us.ibm.com<br>
&gt; +1 (914) 784-6068 (TL 863)<br>
&gt; <br>
&gt; <br>
&gt; gme-users-bounces@list.isis.vanderbilt.edu wrote on 04/18/2005 12:23:38
PM:<br>
&gt; <br>
&gt; &gt; Hello!<br>
&gt; &gt; <br>
&gt; &gt; Someone can tell me how can I call a plug-in/interpreter in an
other<br>
&gt; &gt; plug-in/interpreter in BON2/Visual C++ framework. I would like
to <br>
&gt; &gt; create a &quot;call chain&quot; where one interpreter offers
some input to the<br>
&gt; &gt; next interpreter, and call it automatically like in GReaT where
<br>
&gt; &gt; Master Interpreter can call the Graph Rewriter Engine.<br>
&gt; &gt; <br>
&gt; &gt; Thanks,<br>
&gt; &gt; <br>
&gt; &gt; Gabor Batori<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; gme-users mailing list<br>
&gt; &gt; gme-users@list.isis.vanderbilt.edu<br>
&gt; &gt; http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users<br>
&gt; _______________________________________________<br>
&gt; gme-users mailing list<br>
&gt; gme-users@list.isis.vanderbilt.edu<br>
&gt; http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users<br>
</tt></font>