Author: coke
Date: Wed Jul 30 12:17:08 2008
New Revision: 29880

Modified:
   trunk/docs/pdds/pdd19_pir.pod

Log:
[docs]
- fix spelling mistake
- add RTs for several unimplemented features
- add RTs for several newly deprecated features
- Avoid deprecated features in code examples
- use more q{'};
- remove feature that was unimplemented AND deprecated
- mention chip's desired feature about restricting 'foo = opcode' syntax.
  (and mention that it's not implemented)



Modified: trunk/docs/pdds/pdd19_pir.pod
==============================================================================
--- trunk/docs/pdds/pdd19_pir.pod       (original)
+++ trunk/docs/pdds/pdd19_pir.pod       Wed Jul 30 12:17:08 2008
@@ -224,18 +224,18 @@
 Declare a lexical variable that is an alias for a PMC register. For example,
 given this preamble:
 
-    .lex "$a", $P0
+    .lex '$a', $P0
     $P1 = new 'Integer'
 
     These two opcodes have an identical effect:
 
     $P0 = $P1
-    store_lex "$a", $P1
+    store_lex '$a', $P1
 
     And these two opcodes also have an identical effect:
 
     $P1 = $P0
-    $P1 = find_lex "$a"
+    $P1 = find_lex '$a'
 
 =item .const <type> <identifier> = <const>
 
@@ -283,12 +283,12 @@
 
     .namespace [ ]
 
-The brackets are not optional, although the string inside them is.
+The brackets are not optional, although the key inside them is.
 
 {{ NOTE: currently the brackets *are* optional, so this is an
-implementation change. }}
+implementation change. See RT #48549}}
 
-=item .loadlib "lib_name"
+=item .loadlib 'lib_name'
 
 Load the given library at compile time, that is, as soon that line is
 parsed.  See also the C<loadlib> opcode, which does the same at run time.
@@ -296,19 +296,19 @@
 A library loaded this way is also available at runtime, as if it has been
 loaded again in C<:load>, so there is no need to call C<loadlib> at runtime.
 
-=item .HLL <hll_name>
+=item .HLL <hll_name> [unimplemented: RT #57426]
 
 Define the HLL for the current file. Takes one string constant, the name
 of the HLL.
 
-=item .HLL <hll_name>, <hll_lib> [deprecated]
+=item .HLL <hll_name>, <hll_lib> [deprecated: RT #57428]
 
 An old form of the .HLL directive that also loaded a shared lib for the
 HLL. Use C<.loadlib> instead.
 
-=item .HLL_map <core_type> = <user_type>
+=item .HLL_map <core_type> = <user_type> [unimplemented: RT #57430]
 
-{{ NOTE: the '=' used to be ','. }}
+=item .HLL_map <core_type>, <user_type> [deprecated: RT # 57432]
 
 Whenever Parrot has to create PMCs inside C code on behalf of the running
 user program, it consults the current type mapping for the executing HLL
@@ -320,7 +320,7 @@
 
   .loadlib 'dynlexpad'
 
-  .HLL "Foo", ""
+  .HLL 'Foo'
   .HLL_map 'LexPad' = 'DynLexPad'
 
   .sub main :main
@@ -454,17 +454,17 @@
 As an example, suppose file C<main.pir> contains:
 
     .sub main
-        load_bytecode "foo.pir"
+        load_bytecode 'foo.pir'
     .end
 
 and the file C<foo.pir> contains:
 
     .sub foo :immediate
-        print "42"
+        print '42'
     .end
 
     .sub bar :postcomp
-        print "43"
+        print '43'
     .end
 
 Executing C<foo.pir> will run both C<foo> and C<bar>.  On the other hand,
@@ -475,8 +475,8 @@
 =item :method
 
   .sub bar :method
-  .sub bar :method("foo")
-  
+  .sub bar :method('foo')
+
 The marked C<.sub> is a method, added as a method in the class that
 corresponds to the current namespace, and not stored in the namespace.
 In the method body, the object PMC can be referred to with C<self>.
@@ -487,15 +487,15 @@
 =item :vtable
 
   .sub bar :vtable
-  .sub bar :vtable("foo")
+  .sub bar :vtable('foo')
 
 The marked C<.sub> overrides a vtable function, and is not stored in the
 namespace. By default, it overrides a vtable function with the same name
 as the C<.sub> name.  To override a different vtable function, use
-C<:vtable("...")>. For example, to have a C<.sub> named I<ToString> also
-be the vtable function C<get_string>), use C<:vtable("get_string")>.
+C<:vtable('...')>. For example, to have a C<.sub> named I<ToString> also
+be the vtable function C<get_string>), use C<:vtable('get_string')>.
 
-When the B<:vtable> flag is set, the object PMC can be referred to with 
+When the B<:vtable> flag is set, the object PMC can be referred to with
 C<self>, as with the B<:method> flag.
 
 =item :outer(subname)
@@ -583,15 +583,6 @@
 be stored. Available flags:
 C<:slurpy>, C<:named>, C<:optional>, C<:opt_flag> and C<:unique_reg>.
 
-=item .param <type> "<identifier>" => <identifier> [:<flag>]* [deprecate]
-
-{{ NOTE: if this is already implemented, deprecate, otherwise, just
-delete from spec.}}
-
-Define a named parameter. This is syntactic sugar for:
-
- .param <type> <identifier> :named("<identifier>")
-
 =back
 
 =head3 Parameter Passing and Getting Flags
@@ -609,8 +600,9 @@
 retrieve the thrown exception, use the C<.get_results> directive. This
 directive always takes 2 arguments: an exception object and a message string.
 
-{{ Wouldn't it be more useful to make this flexible, or at least only the
-exception object? The message can be retrieved from the exception object. }}
+{{ NOTE: Wouldn't it be more useful to make this flexible, or at least only
+the exception object? The message can be retrieved from the exception object.
+See RT #57436 }}
 
    push_eh handler
    ...
@@ -629,7 +621,7 @@
 
 Any PASM opcode is a valid PIR instruction. In addition, PIR defines some
 syntactic shortcuts. These are provided for ease of use by humans producing
-and maintaing PIR code.
+and maintaining PIR code.
 
 =over 4
 
@@ -741,7 +733,7 @@
 
 =item <var> = <opcode> <arguments>
 
-All opcodes can use this PIR syntactic sugar. The first argument for the
+Many opcodes can use this PIR syntactic sugar. The first argument for the
 opcode is placed before the C<=>, and all remaining arguments go after the
 opcode name. For example:
 
@@ -751,13 +743,12 @@
 
   $P0 = new 'Type'
 
-=item global "string" = <var>
-
-{{ DEPRECATED: op store_global was deprecated }}
+Note that this only works for opcodes that have have a leading C<OUT>
+parameter. [this restriction unimplemented: RT #36283]
 
-=item <var> = global "string"
+=item global "string" = <var> [deprecated: RT #48016]
 
-{{ DEPRECATED: op find_global was deprecated }}
+=item <var> = global "string" [deprecated: RT #48018]
 
 =item ([<var1> [:<flag1> ...], ...]) = <var2>([<arg1> [:<flag2> ...], ...])
 
@@ -798,7 +789,7 @@
 
 =item .return <var>(args)
 
-=item .return <var>."somemethod"(args)
+=item .return <var>.'somemethod'(args)
 
 =item .return <var>.<var>(args)
 
@@ -838,7 +829,7 @@
 
 =over 4
 
-=item * C<.include> "<filename>"
+=item * C<.include> '<filename>'
 
 The C<.include> directive takes a string argument that contains the
 name of the PIR file that is included. The contents of the included

Reply via email to