Author: kjs
Date: Thu Dec 11 05:43:56 2008
New Revision: 33799
Modified:
trunk/docs/pdds/pdd19_pir.pod
Log:
[pdd19] add bits on implementation
Modified: trunk/docs/pdds/pdd19_pir.pod
==============================================================================
--- trunk/docs/pdds/pdd19_pir.pod (original)
+++ trunk/docs/pdds/pdd19_pir.pod Thu Dec 11 05:43:56 2008
@@ -965,7 +965,7 @@
EOS
-{{ NOTE: This is likely because the parsing of heredocs happens later than the
+{{ NOTE: This is because the parsing of heredocs happens later than the
preprocessing of macros. Might be nice if we could parse heredocs at the macro
level, but not a high priority. compilers/pirc/new can do this. }}
@@ -1136,7 +1136,7 @@
=head2 Subroutine Call
- .const .Sub $P0 = "_sub_label"
+ .const "Sub" $P0 = "_sub_label"
$P1 = new 'Continuation'
set_addr $P1, ret_addr
...
@@ -1178,7 +1178,7 @@
a NCI sub, and on invocation will do the Right Thing.
Instead of the label a subroutine object can be used too:
- find_global $P0, "_sub_label"
+ get_global $P0, "_sub_label"
$P0(args)
@@ -1278,7 +1278,28 @@
=head1 IMPLEMENTATION
There are multiple implementations of PIR, each of which will meet this
-specification for the syntax.
+specification for the syntax. Currently there are the following
+implementations:
+
+=over 4
+
+=item * compilers/imcc
+
+This is the current implementation being used in Parrot.
+
+=item * compilers/pirc
+
+This is a new implementation which will fix several of
+IMCC's shortcomings. It will replace IMCC in the not too
+distant future.
+
+=item * languages/PIR
+
+This is a PGE-based implementation, but needs to be updated
+and completed.
+
+=back
+
=head1 ATTACHMENTS