<br><br><div class="gmail_quote">2010/10/18 Richard.Sutcliffe <span dir="ltr">&lt;<a href="mailto:Richard.Sutcliffe@ul.ie">Richard.Sutcliffe@ul.ie</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">










<div link="blue" vlink="purple" lang="EN-US">

<div>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Dear Francois,</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">I believe you are the person behind the Windows port
of Parrot? I am trying to get the Parrot Compuler Tools working so that I can
experiment with the squaak language (I know Klaas Jan Stol and he told me about
it). The aim is to get a group of students to implement a small language as
part of a compiler class, as a change from lex and yacc.</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">I downloaded the package from <a href="http://sourceforge.net/projects/parrotwin32/" target="_blank">http://sourceforge.net/projects/parrotwin32/</a>
and installed under Windows XP in c:\parrot-2.8.0. The executable bin\parrot.exe
works perfectly when I try very simple .pir files.</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">I then called <a href="http://create_language.pl" target="_blank">create_language.pl</a> to create a stub for
a new language:</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">perl c:\parrot-2.8.0\lib\parrot\tools\dev\<a href="http://create_language.pl" target="_blank">create_language.pl</a>
squaak</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Using strawberry perl v5.12.1 this produces the
result:</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">C:\parrot-2.8.0\bin&gt;c:\strawberry\perl\bin\perl.exe
c:\parrot-2.8.0\lib\parrot\tools\dev\<a href="http://create_language.pl" target="_blank">create_language.pl</a> squaak3</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/README</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/Configure.pl</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/build/Makefile.in</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/build/<a href="http://gen_parrot.pl" target="_blank">gen_parrot.pl</a></span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/src/squaak3.pir</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/src/squaak3/Grammar.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/src/squaak3/Actions.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/src/squaak3/Compiler.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/src/squaak3/Runtime.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/src/gen/.gitignore</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/t/harness</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/t/00-sanity.t</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">skipping squaak3/build/PARROT_REVISION</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Can&#39;t use an undefined value as a symbol reference at
c:\parrot-2.8.0\lib\parrot</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">\tools\dev\<a href="http://create_language.pl" target="_blank">create_language.pl</a> line 127, &lt;DATA&gt; line
767.</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Using ActiveState perl v5.10.0 it appears to work:</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/README</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/Configure.pl</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/build/</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/build/Makefile.in</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/build/<a href="http://gen_parrot.pl" target="_blank">gen_parrot.pl</a></span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/squaak4.pir</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/squaak4/</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/squaak4/Grammar.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/squaak4/Actions.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/squaak4/Compiler.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/squaak4/Runtime.pm</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/gen/</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/src/gen/.gitignore</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/t/</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/t/harness</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/t/00-sanity.t</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">creating squaak4/build/PARROT_REVISION</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Your new language has been created in the squaak4
directory.</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">To do an initial build and test of the language:</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">    cd squaak4</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">    perl Configure.pl [--gen-parrot]</span></font></p>

<p class="MsoNormal"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">    make</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">make test</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Now, if we try running
Configure.pl as instructed, the result is the same in either case:</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Reading configuration
information from parrot_install/bin/parrot_config ...</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">&#39;parrot_install&#39; is not
recognized as an internal or external command,</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">operable program or batch
file.</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Died at Configure.pl line
117.</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">There does not seem to be
a directory of the name parrot_install in the distribution so maybe it is
created along the way?</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Any help in getting PCT
to work would be very much appreciated.</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p></div></div></blockquote><div><br>Usually, I use the Perl5 script <a href="http://mk_language_shell.pl">mk_language_shell.pl</a><br>
It create setup.pir instead of Configure.pl &amp; build/Makefile.in<br>For details about setup.pir &amp; distutils library, see <a href="http://trac.parrot.org/parrot/browser/trunk/runtime/parrot/library/distutils.pir">http://trac.parrot.org/parrot/browser/trunk/runtime/parrot/library/distutils.pir</a><br>
<br>&gt; perl \Parrot-2.8.0\lib\parrot\tools\dev\<a href="http://mk_language_shell.pl">mk_language_shell.pl</a> squaak<br>creating squaak\<br>creating squaak\README<br>creating squaak\setup.pir<br>creating squaak\PARROT_REVISION<br>
no doc: skipping squaak\doc/squaak.pod<br>no doc: skipping squaak\doc/running.pod<br>no dynext: skipping squaak\dynext/.ignore<br>creating squaak\squaak/<br>creating squaak\squaak/.ignore<br>creating squaak\squaak.pir<br>
creating squaak\src/<br>creating squaak\src/squaak.pir<br>creating squaak\src/squaak/<br>creating squaak\src/squaak/Grammar.pm<br>creating squaak\src/squaak/Actions.pm<br>creating squaak\src/squaak/Compiler.pm<br>creating squaak\src/squaak/Runtime.pm<br>
no pmc: skipping squaak\src/pmc/squaak.pmc<br>no ops: skipping squaak\src/ops/squaak.ops<br>creating squaak\t/<br>creating squaak\t/00-sanity.t<br><br>&gt; cd squaak<br>&gt; parrot setup.pir<br>/Parrot-2.8.0/bin/parrot-nqp.exe --target=pir --output=src/gen_actions.pir  src/squaak/Actions.pm<br>
/Parrot-2.8.0/bin/parrot-nqp.exe --target=pir --output=src/gen_compiler.pir  src/squaak/Compiler.pm<br>/Parrot-2.8.0/bin/parrot-nqp.exe --target=pir --output=src/gen_grammar.pir  src/squaak/Grammar.pm<br>/Parrot-2.8.0/bin/parrot-nqp.exe --target=pir --output=src/gen_runtime.pir  src/squaak/Runtime.pm<br>
/Parrot-2.8.0/bin/parrot.exe -o squaak/squaak.pbc src/squaak.pir<br>/Parrot-2.8.0/bin/parrot.exe -o squaak.pbc squaak.pir<br>/Parrot-2.8.0/bin/pbc_to_exe.exe squaak.pbc --install &amp;&amp; strip installable_squaak.exe<br>
gcc -o squaak.o -I&quot;/Parrot-2.8.0/include/parrot&quot; -DWIN32  -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED  -DHASATTRIBUTE_MALLOC  -DHASATTRIBUTE_NONNULL  -DHASATTRIBUTE_NORETURN  -DHASATTRIBUTE_PURE  -DHASATTRIBUTE_UNUSED  -DHASATTRIBUTE_WARN_UNUSED_RESULT  -DHASATTRIBUTE_HOT  -DHASATTRIBUTE_COLD  -DDISABLE_GC_DEBUG=1 -DNDEBUG -DHAS_GETTEXT -I C:\icu-4.4.1\icu\include -s -O2 -c squaak.c<br>
Compiled: squaak.o<br>gcc -o installable_squaak.exe &quot;squaak.o&quot; /Parrot-2.8.0/lib/parrot\parrot_config.<br>o  &quot;/Parrot-2.8.0/bin\libparrot.dll&quot;    -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -lgmp -lreadline-lintl C:\icu-4.4.1\icu\lib\icudt.lib C:\icu-4.4.1\icu\lib\icuuc.lib<br>
Linked: installable_squaak.exe<br><br>&gt; parrot setup.pir test<br>t/00-sanity.t .. ok<br>All tests successful.<br>Files=1, Tests=4,  0.328 wallclock secs<br>Result: PASS<br><br>François<br><br>Note: <span class="gI"><a href="mailto:parrot-users@lists.parrot.org">parrot-users@lists.parrot.org</a> is the right mailling </span>list for this kind of problem,<br>
and you could find help on channel #parrot (<a href="http://irc.perl.net">irc.perl.net</a>).<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US"><div>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Best regards</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB">richard sutcliffe</span></font></p>

<p class="MsoNormal" style="text-indent: 18pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> </span></font></p>

</div>

</div>


</blockquote></div><br>