Author: kjs
Date: Fri Jul 11 06:24:05 2008
New Revision: 29292

Modified:
   trunk/docs/pdds/draft/pdd19_pir.pod

Log:
[pdd19] add :lexid, but description not complete yet (not sure about details). 

Modified: trunk/docs/pdds/draft/pdd19_pir.pod
==============================================================================
--- trunk/docs/pdds/draft/pdd19_pir.pod (original)
+++ trunk/docs/pdds/draft/pdd19_pir.pod Fri Jul 11 06:24:05 2008
@@ -294,6 +294,9 @@
 
 The brackets are not optional, although the string inside them is.
 
+{{ NOTE: currently the brackets *are* optional. TODO: make decision whether
+   we want the brackets optional. }}
+
 
 =item .pragma n_operators
 
@@ -436,17 +439,17 @@
 abbreviated) definition:
 
     .sub tr_00_init :immediate
-       .local pmc tr_array
-       tr_array = new 'FixedIntegerArray'
-       tr_array = 256
-       ## [code to initialize tr_array omitted.]
-       .return (tr_array)
+    .local pmc tr_array
+    tr_array = new 'FixedIntegerArray'
+    tr_array = 256
+    ## [code to initialize tr_array omitted.]
+    .return (tr_array)
     .end
 
-This code is run at compile time, and the returned C<tr_array> is stored 
+This code is run at compile time, and the returned C<tr_array> is stored
 in the bytecode file in place of the sub.  Other subs may then do:
 
-       .const .Sub tr_00 = 'tr_00_init'
+    .const .Sub tr_00 = 'tr_00_init'
 
 in order to fetch the constant.
 
@@ -492,10 +495,20 @@
 the method B<ToString> also be the v-table method B<get_string>), use
 B<:vtable("get_string")>.
 
+When the B<:vtable> flag is set, the object PMC cn be referred to with C<self>,
+as with the B<:method> flag.
+
+
 =item :outer(subname)
 
 The marked C<.sub> is lexically nested within the sub known by B<subname>.
 
+=item :lexid( <string_constant> )
+
+Identifies the subroutine by the specified string.
+
+{{ TODO: explain purpose and details of this flag. }}
+
 =back
 
 
@@ -953,8 +966,7 @@
 
 {{ NOTE: This is likely 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, but there's a
-bug in the heredoc handling on Win32 XP using MSVS. }}
+level, but not a high priority. compilers/pirc/new can do this. }}
 
 Using braces, { }, allows you to span multiple lines for an argument.
 See runtime/parrot/include/hllmacros.pir for examples and possible usage.
@@ -987,8 +999,6 @@
 
  1234
 
-{{ NOTE: braced arguments does not work correctly yet in compilers/pirc/new }}
-
 =back
 
 =head3 Unique local labels

Reply via email to