HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/plain; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 03:27:19 GMT Content-length: 257686 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) There should be no differences (except bug fixes!) running 'make html' in ^/branches/html_cleanup) Here is the current diff from branch to trunk of docs/html. {{{ Only in parrot-trunk/docs/html: compilers Only in parrot-trunk/docs/html: config Only in parrot-trunk/docs/html: Configure.pl.html Only in parrot-trunk/docs/html: CREDITS.html Only in parrot-trunk/docs/html: DEPRECATED.pod.html Only in parrot-trunk/docs/html: developer.html Only in parrot-trunk/docs/html/docs/book/pct: ch01_introduction.pod.html diff -r parrot-trunk/docs/html/docs/book/pct/ch02_getting_started.pod.html parrot/docs/html/docs/book/pct/ch02_getting_started.pod.html 5c5 < Parrot - Getting Started --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Getting Started --- > Untitled 150a151,169 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 9:
> Deleting unknown formatting code U<>Deleting unknown formatting code U<> >
>Around line 16:
> Deleting unknown formatting code U<> >
>Around line 120:
> =end for without matching =begin. (Stack: =over) >
>Around line 131:
> =end for without matching =begin. (Stack: =over)
154c173 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pct/ch03_compiler_tools.pod.html parrot/docs/html/docs/book/pct/ch03_compiler_tools.pod.html 5c5 < Parrot - Parrot Compiler Tools --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Compiler Tools --- > Untitled 338a339,357 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 5:
> A non-empty Z<> >
>Around line 44:
> Deleting unknown formatting code N<> >
>Around line 70:
> Deleting unknown formatting code N<> >
>Around line 177:
> Deleting unknown formatting code N<>
342c361 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pct/ch04_pge.pod.html parrot/docs/html/docs/book/pct/ch04_pge.pod.html 5c5 < Parrot - Grammar Engine --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Grammar Engine --- > Untitled 627a628,724 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 32:
> Deleting unknown formatting code N<> >
>Around line 117:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 318:
> A non-empty Z<> >
>Around line 339:
> Deleting unknown formatting code A<> >
>Around line 541:
> A non-empty Z<> >
>Around line 546:
> Deleting unknown formatting code R<> >
>Around line 560:
> Deleting unknown formatting code A<> >
>Around line 631:
> A non-empty Z<> >
>Around line 653:
> Deleting unknown formatting code N<> >
>Around line 675:
> Deleting unknown formatting code A<> >
>Around line 780:
> A non-empty Z<> >
>Around line 805:
> Deleting unknown formatting code R<>Deleting unknown formatting code R<> >
>Around line 809:
> Deleting unknown formatting code R<>Deleting unknown formatting code R<> >
>Around line 820:
> Deleting unknown formatting code R<>Deleting unknown formatting code R<>Deleting unknown formatting code R<>Deleting unknown formatting code R<>Deleting unknown formatting code R<> >
>Around line 836:
> Deleting unknown formatting code A<> >
>Around line 981:
> A non-empty Z<> >
>Around line 983:
> Deleting unknown formatting code A<> >
>Around line 1076:
> A non-empty Z<> >
>Around line 1078:
> Deleting unknown formatting code A<> >
>Around line 1090:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 1150:
> Deleting unknown formatting code N<> >
>Around line 1159:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 1194:
> Deleting unknown formatting code N<> >
>Around line 1303:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 1372:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 1428:
> A non-empty Z<> >
>Around line 1477:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 1496:
> Deleting unknown formatting code N<> >
>Around line 1502:
> Deleting unknown formatting code N<> >
>Around line 1513:
> =end for without matching =begin. (Stack: [empty])
631c728 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pct/ch05_nqp.pod.html parrot/docs/html/docs/book/pct/ch05_nqp.pod.html 5c5 < Parrot - Grammar Actions --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Grammar Actions --- > Untitled 222a223,238 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 29:
> Deleting unknown formatting code N<> >
>Around line 106:
> =end for without matching =begin. (Stack: [empty]) >
>Around line 190:
> =end for without matching =begin. (Stack: [empty])
226c242 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch01_introduction.pod.html parrot/docs/html/docs/book/pir/ch01_introduction.pod.html 5c5 < Parrot - Introduction --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Introduction --- > Untitled 158a159,188 > >

>POD ERRORS

> >

Hey! > The above document had some coding errors, > which are explained below:

> >
>
>Around line 12:
> Deleting unknown formatting code U<> >
>Around line 29:
> Deleting unknown formatting code U<> >
>Around line 39:
> Deleting unknown formatting code U<> >
>Around line 50:
> Deleting unknown formatting code N<>Deleting unknown formatting code U<> >
>Around line 57:
> Deleting unknown formatting code U<>Deleting unknown formatting code U<> >
>Around line 66:
> Deleting unknown formatting code U<> >
>Around line 75:
> Deleting unknown formatting code U<>
162c192 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch02_getting_started.pod.html parrot/docs/html/docs/book/pir/ch02_getting_started.pod.html 5c5 < Parrot - Getting Started --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Getting Started --- > Untitled 60c60 <

To install Parrot in a different location, use the --prefix option to Configure.pl:

--- >

To install Parrot in a different location, use the --prefix option to Configure.pl:

83a84,96 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 5:
> Deleting unknown formatting code N<>Deleting unknown formatting code U<>Deleting unknown formatting code N<>Deleting unknown formatting code U<>Deleting unknown formatting code U<> >
>Around line 48:
> Deleting unknown formatting code N<>
87c100 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch03_basic_syntax.pod.html parrot/docs/html/docs/book/pir/ch03_basic_syntax.pod.html 5c5 < Parrot - Basic Syntax --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Basic Syntax --- > Untitled 212a213,231 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 5:
> A non-empty Z<> >
>Around line 62:
> A non-empty Z<> >
>Around line 143:
> Deleting unknown formatting code N<> >
>Around line 243:
> Deleting unknown formatting code N<>Deleting unknown formatting code N<>
216c235 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch04_variables.pod.html parrot/docs/html/docs/book/pir/ch04_variables.pod.html 5c5 < Parrot - Variables --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Variables --- > Untitled 279,291c279,284 < <

Both and and or are short-circuiting ops. < If they can determine what value to return from the first argument, < they'll never evaluate the second. < This is significant only for PMCs, < as they might have side effects on evaluation.

< <

The xor opcode returns the first argument if it is the only true value, < returns the second argument if it is the only true value, < and returns false if both values are true or both are false:

<
  $I0 = xor 1, 0  # returns 1
---
> Both C and C are short-circuiting ops. If they can determine what
> value to return from the first argument, they'll never evaluate the second.
> This is significant only for PMCs, as they might have side effects on
> evaluation.The CX opcode returns the first argument if it is the only
> true value, returns the second argument if it is the only true value, and
> returns false if both values are true or both are false:
  $I0 = xor 1, 0  # returns 1
296,298c289,290
< 

The not opcode returns a true value when the argument is false and a false value if the argument is true:

--- > The CX opcode returns a true value when the argument is false > and a false value if the argument is true: 302,316c294,298 <

The bitwise opcodes operate on their values a single bit at a time. < band, < bor, < and bxor return a value that is the logical AND, < OR, < or XOR of each bit in the source arguments. < They each take two arguments.

--- > X > The bitwise opcodes operate on their values a single bit at a time. > CX, CX, and CX return a > value that is the logical AND, OR, or XOR of each bit in the source arguments. > They each take two arguments. 324,326c306,307 <

band, < bor, < and bxor also have variants that modify the result in place.

--- > C, C, and C also have variants that modify the result > in place. 334,336c315 <

bnot is the logical NOT of each bit in the source argument.

--- > CX is the logical NOT of each bit in the source argument. 343,349c322,326 <

The logical and arithmetic shift operations shift their values by a specified number of bits:

--- > X > X > X > The logical and arithmetic shift operations shift their values by a specified > number of bits: 361,372c338,344 <

Parrot strings are buffers of variable-sized data. < The most common use of strings is to store text data. < Strings can also hold binary or other non-textual data, < though this is rare.In general, < a custom PMC is more useful. Parrot strings are flexible and powerful, < to handle the complexity of human-readable (and computer-representable) text data. < String operations work with string literals, < variables, < and constants, < and with string-like PMCs.

--- > X > Parrot strings are buffers of variable-sized data. The most common use of > strings is to store text data. Strings can also hold binary or other > non-textual data, though this is rare.N useful.> Parrot strings are flexible and powerful, to handle the complexity of > human-readable (and computer-representable) text data. String operations work > with string literals, variables, and constants, and with string-like PMCs. 377,381c349,353 <

--- > X > X > > Strings in double-quotes allow escape sequences using backslashes. Strings in > single-quotes only allow escapes for nested quotes: 383,384c355,356 <

Strings in double-quotes allow escape sequences using backslashes. < Strings in single-quotes only allow escapes for nested quotes:

--- > $S0 = "This string is \n on two lines" > $S0 = 'This is a \n one-line string with a slash in it' 386,387d357 <
  $S0 = "This string is \n on two lines"
<   $S0 = 'This is a \n one-line string with a slash in it'
389c359,360 <

Table 4.1 shows the escape sequences Parrot supports in double-quoted strings.

--- > Table 4.1 shows the escape sequences Parrot supports in double-quoted > strings. 394,396c365,375 <

If you need more flexibility in defining a string, use a heredoc string literal. The << operator starts a heredoc. The string terminator immediately follows. All text until the terminator is part of the string. The terminator must appear on its own line, must appear at the beginning of the line, and may not have any trailing whitespace.

--- > X > If you need more flexibility in defining a string, use a heredoc string > literal. The CE> operator starts a heredoc. The string terminator > immediately follows. All text until the terminator is part of the string. The > terminator must appear on its own line, must appear at the beginning of the > line, and may not have any trailing whitespace. > > $S2 = <<"End_Token" > This is a multi-line string literal. Notice that > it doesn't use quotation marks. > End_Token 398,401d376 <
  $S2 = <<"End_Token"
<   This is a multi-line string literal. Notice that
<   it doesn't use quotation marks.
<   End_Token
406,410c381,382 <

--- > X<. operator> > X 412c384,386 <

Use the . operator to concatenate strings. The following example concatenates the string "cd" onto the string "ab" and stores the result in $S1.

--- > Use the C<.> operator to concatenate strings. The following example > concatenates the string "cd" onto the string "ab" and stores the result in > C<$S1>. 417,419c391,394 <

Concatenation has a .= variant to modify the result in place. In the next example, the .= operation appends "xy" onto the string "abcd" in $S1.

--- > X<.= operator> > Concatenation has a C<.=> variant to modify the result in place. In the > next example, the C<.=> operation appends "xy" onto the string "abcd" in > C<$S1>. 426,428c401,402 <

The repeat opcode repeats a string a specified number of times:

--- > X > The C opcode repeats a string a specified number of times: 433c407,408 <

In this example, repeat generates a new string with "a" repeated five times and stores it in $S1.

--- > In this example, C generates a new string with "a" repeated five > times and stores it in C<$S1>. 438,440c413,415 <

The length opcode returns the length of a string in characters. This won't be the same as the length in bytes for multibyte encoded strings:

--- > X > The C opcode returns the length of a string in characters. This won't > be the same as the length in I for multibyte encoded strings: 445c420 <

length has no equivalent for PMC strings.

--- > C has no equivalent for PMC strings. 450,452c425,428 <

The simplest version of the substr opcode takes three arguments: a source string, an offset position, and a length. It returns a substring of the original string, starting from the offset position (0 is the first character) and spanning the length:

--- > The simplest version of the CX opcode takes three > arguments: a source string, an offset position, and a length. It returns a > substring of the original string, starting from the offset position (0 is the > first character) and spanning the length: 455,457c431,444 <

This example extracts a two-character string from "abcde" at a one-character offset from the beginning of the string (starting with the second character). It generates a new string, "bc", in the destination register $S0.

< <

When the offset position is negative, it counts backward from the end of the string. Thus an offset of -1 starts at the last character of the string.

--- > This example extracts a two-character string from "abcde" at a one-character > offset from the beginning of the string (starting with the second character). > It generates a new string, "bc", in the destination register C<$S0>. > > When the offset position is negative, it counts backward from the end of the > string. Thus an offset of -1 starts at the last character of the string. > > C no longer has a four-argument form, as in-place string operations > have been removed. There is a C operator which will perform the > replacement and return a new_string without modifying the old_string. > The arguments are new_string, old_string, offset, count and > replacement_string. The old_string is copied to the new_string with the > replacement_string inserted from offset replacing the content for count > characters. 459,461c446,447 <

substr no longer has a four-argument form, as in-place string operations have been removed. There is a replace operator which will perform the replacement and return a new_string without modifying the old_string. The arguments are new_string, old_string, offset, count and replacement_string. The old_string is copied to the new_string with the replacement_string inserted from offset replacing the content for count characters.

< <

This example replaces the substring "bc" in $S1 with the string "XYZ", and returns "aXYZde" in $S0, $S1 is not changed:

--- > This example replaces the substring "bc" in C<$S1> with the string "XYZ", > and returns "aXYZde" in C<$S0>, C<$S1> is not changed: 467c453,456 <

When the offset position in a replace is one character beyond the original string length, replace appends the replacement string just like the concatenation operator. If the replacement string is an empty string, the opcode removes the characters from the original string in the new string.

--- > When the offset position in a C is one character beyond the original > string length, C appends the replacement string just like the > concatenation operator. If the replacement string is an empty string, the > opcode removes the characters from the original string in the new string. 475,479c464,469 <

The chr opcode takes an integer value and returns the corresponding character in the ASCII character set as a one-character string. The ord opcode takes a single character string and returns the integer value of the character at the first position in the string. The integer value of the character will differ depending on the current encoding of the string:

--- > The CX opcode takes an integer value and returns the > corresponding character in the ASCII character set as a one-character string. > The CX opcode takes a single character string and returns the > integer value of the character at the first position in the string. The integer > value of the character will differ depending on the current encoding of the > string: 483c473,475 <

ord has a two-argument variant that takes a character offset to select a single character from a multicharacter string. The offset must be within the length of the string:

--- > C has a two-argument variant that takes a character offset to select > a single character from a multicharacter string. The offset must be within > the length of the string: 486c478,479 <

A negative offset counts backward from the end of the string, so -1 is the last character.

--- > A negative offset counts backward from the end of the string, so -1 is > the last character. 492,494c485 <

--- > X 496,498c487,490 <

The sprintf opcode generates a formatted string from a series of values. It takes two arguments: a string specifying the format, and an array PMC containing the values to be formatted. The format string and the result can be either strings or PMCs:

--- > The CX opcode generates a formatted string from a > series of values. It takes two arguments: a string specifying the format, and > an array PMC containing the values to be formatted. The format string and the > result can be either strings or PMCs: 502,508c494,510 <

The format string is similar to C's sprintf function with extensions for Parrot data types. Each format field in the string starts with a % and ends with a character specifying the output format. Table 4.2 lists the available output format characters.

< <

Each format field supports several specifier options: flags, width, precision, and size. Table 4.3 lists the format flags.

< <

The width is a number defining the minimum width of the output from a field. The precision is the maximum width for strings or integers, and the number of decimal places for floating-point fields. If either width or precision is an asterisk (*), it takes its value from the next argument in the PMC.

< <

The size modifier defines the type of the argument the field takes. Table 4.4 lists the size flags. The values in the aggregate PMC must have a type compatible with the specified size.

--- > The format string is similar to C's C function with extensions for > Parrot data types. Each format field in the string starts with a C<%> and ends > with a character specifying the output format. Table 4.2 lists the available > output format characters. > > Each format field supports several specifier options: R, R, > R, and R. Table 4.3 lists the format flags. > > The R is a number defining the minimum width of the output from > a field. The R is the maximum width for strings or > integers, and the number of decimal places for floating-point fields. > If either R or R is an asterisk (C<*>), it takes its > value from the next argument in the PMC. > > The R modifier defines the type of the argument the field takes. > Table 4.4 lists the size flags. The values in the aggregate PMC must > have a type compatible with the specified R. 512c514,519 <

The format string of this sprintf example has two format fields. The first, %#Px, extracts a PMC argument (P) from the aggregate $P2 and formats it as a hexadecimal integer (x) with a leading 0x (#). The second format field, %+2.3Pf, takes a PMC argument (P) and formats it as a floating-point number (f) with a minimum of two whole digits and a maximum of three decimal places (2.3) and a leading sign (+).

--- > The format string of this C example has two format fields. The first, > C<%#Px>, extracts a PMC argument (C

) from the aggregate C<$P2> and formats > it as a hexadecimal integer (C) with a leading 0x (C<#>). The second format > field, C<%+2.3Pf>, takes a PMC argument (C

) and formats it as a > floating-point number (C) with a minimum of two whole digits and a maximum > of three decimal places (C<2.3>) and a leading sign (C<+>). 514c521,522 <

The test files t/op/string.t and t/op/sprintf.t have many more examples of format strings.

--- > The test files F and F have many more > examples of format strings. 519,521c527,529 <

The join opcode joins the elements of an array PMC into a single string. The first argument separates the individual elements of the PMC in the final string result.

--- > The CX opcode joins the elements of an array PMC into > a single string. The first argument separates the individual elements of > the PMC in the final string result. 531c539,541 <

This example builds a Array in $P0 with the values "hi", 0, 1, 0, and "parrot". It then joins those values (separated by the string "__") into a single string stored in $S0.

--- > This example builds a C in C<$P0> with the values C<"hi">, C<0>, C<1>, > C<0>, and C<"parrot">. It then joins those values (separated by the string > C<"__">) into a single string stored in C<$S0>. 536c546,547 <

Splitting a string yields a new array containing the resulting substrings of the original string.

--- > Splitting a string yields a new array containing the resulting substrings of > the original string. 538c549,551 <

This example splits the string "abc" into individual characters and stores them in an array in $P0. It then prints out the first and third elements of the array.

--- > This example splits the string "abc" into individual characters and stores them > in an array in C<$P0>. It then prints out the first and third elements of the > array. 548,550c561,564 <

The index opcode searches for a substring within a string. If it finds the substring, it returns the position where the substring was found as a character offset from the beginning of the string. If it fails to find the substring, it returns -1:

--- > The CX opcode searches for a substring > within a string. If it finds the substring, it returns the position > where the substring was found as a character offset from the beginning > of the string. If it fails to find the substring, it returns -1: 556c570,571 <

index also has a three-argument version, where the final argument defines an offset position for starting the search.

--- > C also has a three-argument version, where the final argument > defines an offset position for starting the search. 560c575,576 <

This example finds the second "eb" in "Beeblebrox" instead of the first, because the search skips the first three characters in the string.

--- > This example finds the second "eb" in "Beeblebrox" instead of the first, > because the search skips the first three characters in the string. 565,571c581,585 <

The numeric bitwise opcodes also have string variants for AND, OR, and XOR: bors, bands, and bxors. These take string or string-like PMC arguments and perform the logical operation on each byte of the strings to produce the result string. Remember that in-place string operations are no longer available.

--- > The numeric bitwise opcodes also have string variants for AND, OR, and XOR: > CX, CX, and CX. > These take string or string-like PMC arguments and perform the logical > operation on each byte of the strings to produce the result string. > Remember that in-place string operations are no longer available. 581c595,596 <

The bitwise string opcodes produce meaningful results only when used with simple ASCII strings, because Parrot performs bitwise operations per byte.

--- > The bitwise string opcodes produce meaningful results only when used with > simple ASCII strings, because Parrot performs bitwise operations per byte. 586,590c601,604 <

Strings use copy-on-write (COW) optimizations. A call to $S1 = $S0 doesn't immediately make a copy of $S0, it only makes both variables point to the same string. Parrot doesn't make a copy of the string until one of two strings is modified.

--- > Strings use copy-on-write (COW)XX > optimizations. A call to C<$S1 = $S0> doesn't immediately make a copy of > C<$S0>, it only makes both variables point to the same string. Parrot > doesn't make a copy of the string until one of two strings is modified. 597c611,614 <

Modifying one of the two variables causes Parrot to create a new string. This example preserves the existing value in $S0 and assigns the new value to the new string in $S1. The benefit of copy-on-write is avoiding the cost of copying strings until the copies are necessary.

--- > Modifying one of the two variables causes Parrot to create a new string. This > example preserves the existing value in C<$S0> and assigns the new value to the > new string in C<$S1>. The benefit of copy-on-write is avoiding the cost of > copying strings until the copies are necessary. 602,610c619,637 <

Years ago, strings only needed to support the ASCII character set (or charset), a mapping of 128 bit patterns to symbols and English-language characters. This worked as long as everyone using a computer read and wrote English and only used a small handful of punctuation symbols. In other words, it was woefully insufficient. A modern string system must manage charsets in order to make sense out of all the string data in the world. A modern string system must also handle different encodings -- ways to represent various charsets in memory and on disk.

< <

Every string in Parrot has an associated encoding and character set. The default charset is 8-bit ASCII, which is almost universally supported. Double-quoted string constants can have an optional prefix specifying the string's encoding and charset.As you might suspect, single-quoted strings do not support this. Parrot tracks information about encoding and charset internally, and automatically converts strings when necessary to preserve these characteristics. Strings constants may have prefixes of the form encoding:charset:.

--- > X > X > X > Years ago, strings only needed to support the ASCII character set (or > charset), a mapping of 128 bit patterns to symbols and English-language > characters. This worked as long as everyone using a computer read and > wrote English and only used a small handful of punctuation symbols. In > other words, it was woefully insufficient. A modern string system must > manage charsets in order to make sense out of all the string data in the > world. A modern string system must also handle different encodings -- > ways to represent various charsets in memory and on disk. > > Every string in Parrot has an associated encoding and character set. The default > charset is 8-bit ASCII, which is almost universally supported. Double-quoted > string constants can have an optional prefix specifying the string's encoding > and charset.N > Parrot tracks information about encoding and charset internally, and > automatically converts strings when necessary to preserve these > characteristics. Strings constants may have prefixes of the form C. 616,630c643,663 <

Parrot supports the character sets ascii, binary, iso-8859-1 (Latin 1), and unicode and the encodings fixed_8, ucs2, utf8, and utf16.

< <

The binary charset treats the string as a buffer of raw unformatted binary data. It isn't really a string per se, because binary data contains no readable characters. This exists to support libraries which manipulate binary data that doesn't easily fit into any other primitive data type.

< <

When Parrot operates on two strings (as in concatenation or comparison), they must both use the same character set and encoding. Parrot will automatically upgrade one or both of the strings to the next highest compatible format as necessary. ASCII strings will automatically upgrade to UTF-8 strings if needed, and UTF-8 will upgrade to UTF-16. All of these conversions happen inside Parrot, so the programmer doesn't need to worry about the details.

--- > X > X > X > X > X > Parrot supports the character sets C, C, C > (Latin 1), and C and the encodings C, C, > C, and C. > > The C charset treats the string as a buffer of raw unformatted > binary data. It isn't really a string per se, because binary data > contains no readable characters. This exists to support libraries which > manipulate binary data that doesn't easily fit into any other primitive > data type. > > When Parrot operates on two strings (as in concatenation or comparison), they > must both use the same character set and encoding. Parrot will automatically > upgrade one or both of the strings to the next highest compatible format as > necessary. ASCII strings will automatically upgrade to UTF-8 strings if needed, > and UTF-8 will upgrade to UTF-16. All of these conversions happen inside > Parrot, so the programmer doesn't need to worry about the details. 635,639c668,675 <

Polymorphic Containers (PMCs) are the basis for complex data types and object-oriented behavior in Parrot. In PIR, any variable that isn't a low-level integer, number, or string is a PMC. PMC variables act much like the low-level variables, but you have to instantiate a new PMC object before you use it. The new opcode creates a new PMC object of the specified type.

--- > X > X > Polymorphic Containers (PMCs) are the basis for complex data types and > object-oriented behavior in Parrot. In PIR, any variable that isn't a > low-level integer, number, or string is a PMC. PMC variables act much > like the low-level variables, but you have to instantiate a new PMC > object before you use it. The C opcode creates a new PMC object of > the specified type. 644,648c680,687 <

This example creates a String object, stores it in the PMC register variable $P0, assigns it the value "That's a bollard and not a parrot", and prints it.

< <

Every PMC has a type that indicates what data it can store and what behavior it supports. The typeof opcode reports the type of a PMC. When the result is a string variable, typeof returns the name of the type:

--- > This example creates a C object, stores it in the PMC register > variable C<$P0>, assigns it the value "That's a bollard and not a > parrot", and prints it. > > Every PMC has a type that indicates what data it can store and what > behavior it supports. The CX opcode reports the > type of a PMC. When the result is a string variable, C returns > the name of the type: 653c692,693 <

When the result is a PMC variable, typeof returns the Class PMC for that object type.

--- > When the result is a PMC variable, C returns the C PMC > for that object type. 658,664c698,707 <

In most of the examples shown so far, PMCs duplicate the behavior of integers, numbers, and strings. Parrot provides a set of PMCs for this exact purpose. Integer, Float, and String are thin overlays on Parrot's low-level integers, numbers, and strings.

< <

A previous example showed a string literal assigned to a PMC variable of type String. Direct assignment of a literal to a PMC works for all the low-level types and their PMC equivalents:

--- > X > X > In most of the examples shown so far, PMCs duplicate the behavior of integers, > numbers, and strings. Parrot provides a set of PMCs for this exact purpose. > C, C, and C are thin overlays on Parrot's low-level > integers, numbers, and strings. > > A previous example showed a string literal assigned to a PMC variable of type > C. Direct assignment of a literal to a PMC works for all the low-level > types and their PMC equivalents: 674,676c717 <

--- > X 678c719,722 <

You may also assign non-constant low-level integer, number, or string registers directly to a PMC. The PMC handles the conversion from the low-level type to its own internal storage.This conversion of a simpler type to a more complex type is "boxing".

--- > You may also assign non-constant low-level integer, number, or string registers > directly to a PMC. The PMC handles the conversion from the low-level type to > its own internal storage.N type is "boxing".> 691c735,736 <

The box opcode is a handy shortcut to create the appropriate PMC object from an integer, number, or string literal or variable.

--- > The C opcode is a handy shortcut to create the appropriate PMC > object from an integer, number, or string literal or variable. 698,700c743,746 <

In the reverse situation, when assigning a PMC to an integer, number, or string variable, the PMC also has the ability to convert its value to the low-level type.The reverse of "boxing" is "unboxing".

--- > X > In the reverse situation, when assigning a PMC to an integer, number, or > string variable, the PMC also has the ability to convert its value to > the low-level type.N 716,724c762,768 <

This example creates Integer, Float, and String PMCs, and shows the effect of assigning each one back to a low-level type.

< <

Converting a string to an integer or number only makes sense when the contents of the string are a number. The String PMC will attempt to extract a number from the beginning of the string, but otherwise will return a false value.

--- > This example creates CX, CX, > and CX PMCs, and shows the effect of assigning each > one back to a low-level type. > > Converting a string to an integer or number only makes sense when the contents > of the string are a number. The C PMC will attempt to extract a number > from the beginning of the string, but otherwise will return a false value. 729,733c773,778 <

PMCs can define complex types that hold multiple values, commonly called aggregates. Two basic aggregate types are ordered arrays and associative arrays. The primary difference between these is that ordered arrays use integer keys for indexes and associative arrays use string keys.

--- > X > X > PMCs can define complex types that hold multiple values, commonly called > aggregates. Two basic aggregate types are ordered arrays and associative > arrays. The primary difference between these is that ordered arrays use integer > keys for indexes and associative arrays use string keys. 735c780,781 <

Aggregate PMCs support the use of numeric or string keys. PIR also offers a extensive set of operations for manipulating aggregate data types.

--- > Aggregate PMCs support the use of numeric or string keys. PIR also offers a > extensive set of operations for manipulating aggregate data types. 740,748c786,809 <

Parrot provides several ordered array PMCs, differentiated by whether the array should store booleans, integers, numbers, strings, or other PMCs, and whether the array should maintain a fixed size or dynamically resize for the number of elements it stores.

< <

The core array types are FixedPMCArray, ResizablePMCArray, FixedIntegerArray, ResizableIntegerArray, FixedFloatArray, ResizableFloatArray, FixedStringArray, ResizableStringArray, FixedBooleanArray, and ResizableBooleanArray. The array types that start with "Fixed" have a fixed size and do not allow elements to be added outside their allocated size. The "Resizable" variants automatically extend themselves as more elements are added.With some additional overhead for checking array bounds and reallocating array memory. The array types that include "String", "Integer", or "Boolean" in the name use alternate packing methods for greater memory efficiency.

< <

Parrot's core ordered array PMCs all have zero-based integer keys. Extracting or inserting an element into the array uses PIR's standard key syntax, with the key in square brackets after the variable name. An lvalue key sets the value for that key. An rvalue key extracts the value for that key in the aggregate to use as the argument value:

--- > X > X > Parrot provides several ordered array PMCs, differentiated by whether > the array should store booleans, integers, numbers, strings, or other > PMCs, and whether the array should maintain a fixed size or dynamically > resize for the number of elements it stores. > > The core array types are C, C, > C, C, C, > C, C, C, > C, and C. The array > types that start with "Fixed" have a fixed size and do not allow > elements to be added outside their allocated size. The "Resizable" > variants automatically extend themselves as more elements are > added.N reallocating array memory.> The array types that include "String", > "Integer", or "Boolean" in the name use alternate packing methods for > greater memory efficiency. > > Parrot's core ordered array PMCs all have zero-based integer keys. Extracting > or inserting an element into the array uses PIR's standard key syntax, with the > key in square brackets after the variable name. An lvalue key sets the value > for that key. An rvalue key extracts the value for that key in the aggregate > to use as the argument value: 754c815,817 <

Setting the array to an integer value directly (without a key) sets the number of elements of the array. Assigning an array directly to an integer retrieves the number of elements of the array.

--- > Setting the array to an integer value directly (without a key) sets the number > of elements of the array. Assigning an array directly to an integer retrieves > the number of elements of the array. 758c821,822 <

This is equivalent to using the elements opcode to retrieve the number of items currently in an array:

--- > This is equivalent to using the C opcode to retrieve the number of > items currently in an array: 761c825,829 <

Some other useful instructions for working with ordered arrays are push, pop, shift, and unshift, to add or remove elements. push and pop work on the end of the array, the highest numbered index. shift and unshift work on the start of the array, adding or removing the zeroth element, and renumbering all the following elements.

--- > Some other useful instructions for working with ordered arrays are > C, C, C, and C, to add or remove elements. > C and C work on the end of the array, the highest numbered > index. C and C work on the start of the array, adding or > removing the zeroth element, and renumbering all the following elements. 771,777c839,847 <

An associative array is an unordered aggregate that uses string keys to identify elements. You may know them as "hash tables", "hashes", "maps", or "dictionaries". Parrot provides one core associative array PMC, called Hash. String keys work very much like integer keys. An lvalue key sets the value of an element, and an rvalue key extracts the value of an element. The string in the key must always be in single or double quotes.

--- > X > X > X > An associative array is an unordered aggregate that uses string keys to > identify elements. You may know them as "hash tables", "hashes", "maps", or > "dictionaries". Parrot provides one core associative array PMC, called C. > String keys work very much like integer keys. An lvalue key sets the value of > an element, and an rvalue key extracts the value of an element. The string in > the key must always be in single or double quotes. 782,784c852,854 <

Assigning a Hash PMC (without a key) to an integer result fetches the number of elements in the hash.You may not set a Hash PMC directly to an integer value.

--- > Assigning a CX PMC (without a key) to an integer result > fetches the number of elements in the hash.N > PMC directly to an integer value.> 787,789c857,860 <

The exists opcode tests whether a keyed value exists in an aggregate. It returns 1 if it finds the key in the aggregate and 0 otherwise. It doesn't care if the value itself is true or false, only that an entry exists for that key:

--- > The CX opcode tests whether a keyed value exists in an > aggregate. It returns 1 if it finds the key in the aggregate and 0 otherwise. > It doesn't care if the value itself is true or false, only that an entry exists > for that key: 795,797c866,867 <

The delete opcode removes an element from an associative array:

--- > The CX opcode removes an element from an associative > array: 803,807c873,878 <

An iterator extracts values from an aggregate PMC one at a time. Iterators are most useful in loops which perform an action on every element in an aggregate. The iter opcode creates a new iterator from an aggregate PMC. It takes one argument, the PMC over which to iterate:

--- > X > X > An iterator extracts values from an aggregate PMC one at a time. Iterators are > most useful in loops which perform an action on every element in an aggregate. > The C opcode creates a new iterator from an aggregate PMC. It takes one > argument, the PMC over which to iterate: 810,812c881 <

The shift opcode extracts the next value from the iterator.

--- > The CX opcode extracts the next value from the iterator. 815c884,885 <

Evaluating the iterator PMC as a boolean returns whether the iterator has reached the end of the aggregate:

--- > Evaluating the iterator PMC as a boolean returns whether the iterator has > reached the end of the aggregate: 818,822c888,896 <

Parrot provides predefined constants for working with iterators. .ITERATE_FROM_START and .ITERATE_FROM_END constants select whether an ordered array iterator starts from the beginning or end of the array. These two constants have no effect on associative array iterators, as their elements are unordered.

< <

Load the iterator constants with the .include directive to include the file iterator.pasm. To use them, set the iterator PMC to the value of the constant:

--- > Parrot provides predefined constants for working with iterators. > C<.ITERATE_FROM_START> and C<.ITERATE_FROM_END> constants select whether an > ordered array iterator starts from the beginning or end of the array. These > two constants have no effect on associative array iterators, as their elements > are unordered. > > Load the iterator constants with the C<.include>X<.include directive> > directive to include the file F. To use them, set the > iterator PMC to the value of the constant: 829c903,906 <

With all of those separate pieces in one place, this example loads the iterator constants, creates an ordered array of "a", "b", "c", creates an iterator from that array, and then loops over the iterator using a conditional goto to checks the boolean value of the iterator and another unconditional goto:

--- > With all of those separate pieces in one place, this example loads the iterator > constants, creates an ordered array of "a", "b", "c", creates an iterator from > that array, and then loops over the iterator using a conditional C to > checks the boolean value of the iterator and another unconditional C: 846c923,925 <

Associative array iterators work similarly to ordered array iterators. When iterating over associative arrays, the shift opcode extracts keys instead of values. The key looks up the value in the original hash PMC.

--- > Associative array iterators work similarly to ordered array iterators. When > iterating over associative arrays, the C opcode extracts keys instead of > values. The key looks up the value in the original hash PMC. 862c941,951 <

This example creates an associative array $P2 that contains three keys "a", "b", and "c", assigning them the values 10, 20, and 30. It creates an iterator ($P1) from the associative array using the iter opcode, and then starts a loop over the iterator. At the start of each loop, the unless instruction checks whether the iterator has any more elements. If there are no more elements, goto jumps to the end of the loop, marked by the label iter_end. If there are more elements, the shift opcode extracts the next key. Keyed assignment stores the integer value of the element indexed by the key in $I9. After printing the integer value, goto jumps back to the start of the loop, marked by iter_loop.

--- > This example creates an associative array C<$P2> that contains three > keys "a", "b", and "c", assigning them the values 10, 20, and 30. It > creates an iterator (C<$P1>) from the associative array using the > C opcode, and then starts a loop over the iterator. At the start > of each loop, the C instruction checks whether the iterator has > any more elements. If there are no more elements, C jumps to the > end of the loop, marked by the label C. If there are more > elements, the C opcode extracts the next key. Keyed assignment > stores the integer value of the element indexed by the key in C<$I9>. > After printing the integer value, C jumps back to the start of the > loop, marked by C. 867,871c956,962 <

Aggregates can hold any data type, including other aggregates. Accessing elements deep within nested data structures is a common operation, so PIR provides a way to do it in a single instruction. Complex keys specify a series of nested data structures, with each individual key separated by a semicolon.

--- > X > X > Aggregates can hold any data type, including other aggregates. > Accessing elements deep within nested data structures is a common > operation, so PIR provides a way to do it in a single instruction. > Complex keys specify a series of nested data structures, with each > individual key separated by a semicolon. 881c972,975 <

This example builds up a data structure of an associative array containing an ordered array. The complex key ["answer"; $I1] retrieves an element of the array within the hash. You can also set a value using a complex key:

--- > This example builds up a data structure of an associative array > containing an ordered array. The complex key C<["answer"; $I1]> > retrieves an element of the array within the hash. You can also set a > value using a complex key: 884c978,979 <

The individual keys are integer or string literals, or variables with integer or string values.

--- > The individual keys are integer or string literals, or variables with > integer or string values. 889,891c984,989 <

PMC registers don't directly store the data for a PMC, they only store a pointer to the structure that stores the data. As a result, the = operator doesn't copy the entire PMC, it only copies the pointer to the PMC data. If you later modify the copy of the variable, it will also modify the original.

--- > X > PMC registers don't directly store the data for a PMC, they only store a > pointer to the structure that stores the data. As a result, the C<=> > operator doesn't copy the entire PMC, it only copies the pointer to the > PMC data. If you later modify the copy of the variable, it will also > modify the original. 899c997,1000 <

In this example, $P0 and $P1 are both pointers to the same internal data structure. Setting $P1 to the string literal "Zaphod", it overwrites the previous value "Ford". Both $P0 and $P1 refer to the String PMC "Zaphod".

--- > In this example, C<$P0> and C<$P1> are both pointers to the same > internal data structure. Setting C<$P1> to the string literal > "Zaphod", it overwrites the previous value "Ford". Both C<$P0> and > C<$P1> refer to the C PMC "Zaphod". 901,905c1002,1003 <

The clone opcode makes a deep copy of a PMC, instead of copying the pointer like = does.

--- > The C X opcode makes a deep copy of a PMC, instead > of copying the pointer like C<=>X<= operator> does. 913,919c1011,1018 <

This example creates an identical, independent clone of the PMC in $P0 and puts it in $P1. Later changes to $P0 have no effect on the PMC in $P1.With low-level strings, the copies created by clone are copy-on-write exactly the same as the copy created by =.

< <

To assign the value of one PMC to another PMC that already exists, use the assign opcode:

--- > This example creates an identical, independent clone of the PMC in > C<$P0> and puts it in C<$P1>. Later changes to C<$P0> have no effect on > the PMC in C<$P1>.N C are copy-on-writeX exactly the same as the copy > created by C<=>.> > > To assign the I of one PMC to another PMC that already exists, use the > CX opcode: 928c1027,1032 <

This example creates two Integer PMCs, $P1 and $P2, and gives the first one the value 42. It then uses assign to pass the same integer value on to $P1. Though $P0 increments, $P1 doesn't change. The result for assign must have an existing object of the right type in it, because assign neither creates a new duplicate object (as does clone) or reuses the source object (as does =).

--- > This example creates two C PMCs, C<$P1> and C<$P2>, and gives the > first one the value 42. It then uses C to pass the same integer value > on to C<$P1>. Though C<$P0> increments, C<$P1> doesn't change. The result for > C must have an existing object of the right type in it, because > C neither creates a new duplicate object (as does C) or reuses > the source object (as does C<=>). 933,937c1037,1038 <

--- > X > X 939c1040,1041 <

PMCs can have additional values attached to them as "properties" of the PMC. Most properties hold extra metadata about the PMC.

--- > PMCs can have additional values attached to them as "properties" of the > PMC. Most properties hold extra metadata about the PMC. 941,943c1043,1045 <

The setprop opcode sets the value of a named property on a PMC. It takes three arguments: the PMC on which to set a property, the name of the property, and a PMC containing the value of the property.

--- > The CX opcode sets the value of a named property on a > PMC. It takes three arguments: the PMC on which to set a property, the name of > the property, and a PMC containing the value of the property. 946,948c1048,1050 <

The getprop opcode returns the value of a property. It takes two arguments: the name of the property and the PMC from which to retrieve the property value.

--- > The CX opcode returns the value of a property. It > takes two arguments: the name of the property and the PMC from which to > retrieve the property value. 951c1053,1056 <

This example creates a String object in $P0 and an Integer object with the value 1 in $P1. setprop sets a property named "eric" on the object in $P0 and gives the property the value of $P1. getprop retrieves the value of the property "eric" on $P0 and stores it in $P2.

--- > This example creates a C object in C<$P0> and an C object with > the value 1 in C<$P1>. C sets a property named "eric" on the object in > C<$P0> and gives the property the value of C<$P1>. C retrieves the > value of the property "eric" on C<$P0> and stores it in C<$P2>. 962c1067,1068 <

Parrot stores PMC properties in an associative array where the name of the property is the key.

--- > Parrot stores PMC properties in an associative array where the name of the > property is the key. 964,966c1070 <

delprop deletes a property from a PMC.

--- > CX deletes a property from a PMC. 969,971c1073,1074 <

You can fetch a complete hash of all properties on a PMC with prophash:

--- > You can fetch a complete hash of all properties on a PMC with > CX: 974c1077 <

Fetching the value of a non-existent property returns an Undef PMC.

--- > Fetching the value of a non-existent property returns an C PMC. 979,991c1082,1104 <

You may have noticed that a simple operation sometimes has a different effect on different PMCs. Assigning a low-level integer value to a Integer PMC sets its integer value of the PMC, but assigning that same integer to an ordered array sets the size of the array.

< <

Every PMC defines a standard set of low-level operations called vtable functions. When you perform an assignment like:

< <
   $P0 = 5
< <

... Parrot calls the set_integer_native vtable function on the PMC referred to by register $P0.

< <

Parrot has a fixed set of vtable functions, so that any PMC can stand in for any other PMC; they're polymorphic.Hence the name "Polymorphic Container". Every PMC defines some behavior for every vtable function. The default behavior is to throw an exception reporting that the PMC doesn't implement that vtable function. The full set of vtable functions for a PMC defines the PMC's basic interface, but PMCs may also define methods to extend their behavior beyond the vtable set.

--- > X > You may have noticed that a simple operation sometimes has a different effect > on different PMCs. Assigning a low-level integer value to a C PMC sets > its integer value of the PMC, but assigning that same integer to an ordered > array sets the size of the array. > > Every PMC defines a standard set of low-level operations called vtable > functions. When you perform an assignment like: > > $P0 = 5 > > > ... Parrot calls the C vtable function on the PMC referred > to by register C<$P0>. > > X > Parrot has a fixed set of vtable functions, so that any PMC can stand in for > any other PMC; they're polymorphic.N > Every PMC defines some behavior for every vtable function. The default behavior > is to throw an exception reporting that the PMC doesn't implement that vtable > function. The full set of vtable functions for a PMC defines the PMC's basic > interface, but PMCs may also define methods to extend their behavior beyond the > vtable set. 996,1006c1109,1120 <

Parrot performs operations on variables stored in small register sets local to each subroutine. For more complex tasks,...and for most high-level languages that Parrot supports. it's also useful to have variables that live beyond the scope of a single subroutine. These variables may be global to the entire program or restricted to a particular library. Parrot stores long-lived variables in a hierarchy of namespaces.

< <

The opcodes set_global and get_global store and fetch a variable in a namespace:

--- > X > X > Parrot performs operations on variables stored in small register sets local to > each subroutine. For more complex tasks,N<...and for most high-level languages > that Parrot supports.> it's also useful to have variables that live beyond the > scope of a single subroutine. These variables may be global to the entire > program or restricted to a particular library. Parrot stores long-lived > variables in a hierarchy of namespaces. > > The opcodes CX and > CX store and fetch a variable in a > namespace: 1014,1018c1128,1144 <

The first two statements in this example create a String PMC in $P0 and assign it a value. In the third statement, set_global stores that PMC as the named global variable bee. At some later point in the program, get_global retrieves the global variable by name, and stores it in $P1 to print.

< <

Namespaces can only store PMC variables. Parrot boxes all primitive integer, number, or string values into the corresponding PMCs before storing them in a namespace.

< <

The name of every variable stored in a particular namespace must be unique. You can't have store both an Integer PMC and an array PMC both named "bee", stored in the same namespace.You may wonder why anyone would want to do this. We wonder the same thing, but Perl 5 does it all the time. The Perl 6 implementation on Parrot includes type sigils in the names of the variables it stores in namespaces so each name is unique, e.g. $bee, @bee....

--- > The first two statements in this example create a C PMC in > C<$P0> and assign it a value. In the third statement, C > stores that PMC as the named global variable C. At some later > point in the program, C retrieves the global variable by > name, and stores it in C<$P1> to print. > > Namespaces can only store PMC variables. Parrot boxes all primitive integer, > number, or string values into the corresponding PMCs before storing them in a > namespace. > > The name of every variable stored in a particular namespace must be > unique. You can't have store both an C PMC and an array PMC > both named "bee", stored in the same namespace.N anyone would want to do this. We wonder the same thing, but Perl 5 does > it all the time. The Perl 6 implementation on Parrot includes type > sigils in the names of the variables it stores in namespaces so each > name is unique, e.g. C<$bee>, C<@bee>....> 1023,1029c1149,1150 <

< <

A single global namespace would be far too limiting for most languages or applications. The risk of accidental collisions -- where two libraries try to use the same name for some variable -- would be quite high for larger code bases. Parrot maintains a collection of namespaces arranged as a tree, with the parrot namespace as the root. Every namespace you declare is a child of the parrot namespace (or a child of a child....).

--- > X > X 1031c1152,1162 <

The set_global and get_global opcodes both have alternate forms that take a key name to access a variable in a particular namespace within the tree. This code example stores a variable as bill in the Duck namespace and retrieves it again:

--- > A single global namespace would be far too limiting for most languages or > applications. The risk of accidental collisions -- where two libraries try to > use the same name for some variable -- would be quite high for larger code > bases. Parrot maintains a collection of namespaces arranged as a tree, with the > C namespace as the root. Every namespace you declare is a child of the > C namespace (or a child of a child....). > > The C and C opcodes both have alternate forms that take > a key name to access a variable in a particular namespace within the tree. This > code example stores a variable as C in the Duck namespace and retrieves > it again: 1035c1166,1168 <

The key name for the namespace can have multiple levels, which correspond to levels in the namespace hierarchy. This example stores a variable as bill in the Electric namespace under the General namespace in the hierarchy.

--- > The key name for the namespace can have multiple levels, which correspond to > levels in the namespace hierarchy. This example stores a variable as C in > the Electric namespace under the General namespace in the hierarchy. 1039,1043c1172,1173 <

--- > X > X 1045,1047c1175,1181 <

The set_global and get_global opcode operate on the currently selected namespace. The default top-level namespace is the "root" namespace. The .namespace directive allows you to declare any namespace for subsequent code. If you select the General Electric namespace, then store or retrieve the bill variable without specifying a namespace, you will work with the General Electric bill, not the Duck bill.

--- > The C and C opcode operate on the currently selected > namespace. The default top-level namespace is the "root" namespace. The > C<.namespace>X<.namespace directive> directive allows you to declare any > namespace for subsequent code. If you select the General Electric > namespace, then store or retrieve the C variable without > specifying a namespace, you will work with the General Electric bill, > not the Duck bill. 1049c1183 <
  .namespace ["General";"Electric"]
---
>   .namespace ["General";"Electric"]
1051,1052c1185,1186
<   set_global "bill", $P0
<   $P1 = get_global "bill"
--- > set_global "bill", $P0 > $P1 = get_global "bill" 1054d1187 <

Passing an empty key to the .namespace directive resets the selected namespace to the root namespace. The brackets are required even when the key is empty.

1056c1189,1191 <
  .namespace [ ]
--- > Passing an empty key to the C<.namespace> directive resets the selected > namespace to the root namespace. The brackets are required even when the > key is empty. 1058,1062c1193,1202 <

When you need to be absolutely sure you're working with the root namespace regardless of what namespace is currently active, use the set_root_global and get_root_global opcodes instead of set_global and get_global. This example sets and retrieves the variable bill in the Dollar namespace, which is directly under the root namespace:

--- > .namespace [ ] > > > When you need to be absolutely sure you're working with the root namespace > regardless of what namespace is currently active, use the > CX and > CX opcodes instead of > C and C. This example sets and retrieves the > variable C in the Dollar namespace, which is directly under the > root namespace: 1066,1080c1206,1222 <

To prevent further collisions, each high-level language running on Parrot operates within its own virtual namespace root. The default virtual root is parrot, and the .HLL directive (for High-Level Language) selects an alternate virtual root for a particular high-level language:

< <
  .HLL 'ruby'
< <

The set_hll_global and get_hll_global opcodes are like set_root_global and get_root_global, except they always operate on the virtual root for the currently selected HLL. This example stores and retrieves a bill variable in the Euro namespace, under the Dutch HLL namespace root:

--- > X > X > To prevent further collisions, each high-level language running on > Parrot operates within its own virtual namespace root. The default > virtual root is C, and the C<.HLL>X<.HLL directive> directive > (for Iigh-Ievel Ianguage) selects an alternate virtual root for > a particular high-level language: > > .HLL 'ruby' > > > The CX and > CX opcodes are like > C and C, except they always operate on > the virtual root for the currently selected HLL. This example stores and > retrieves a C variable in the Euro namespace, under the Dutch HLL > namespace root: 1082c1224 <
  .HLL 'Dutch'
---
>   .HLL 'Dutch'
1084,1085c1226,1228
<   set_hll_global ["Euro"], "bill", $P0
<   $P1 = get_hll_global ["Euro"], "bill"
--- > set_hll_global ["Euro"], "bill", $P0 > $P1 = get_hll_global ["Euro"], "bill" > 1090,1094c1233,1238 <

Namespaces are just PMCs. They implement the standard vtable functions and a few extra methods. The get_namespace opcode retrieves the currently selected namespace as a PMC object:

--- > X > Namespaces are just PMCs. They implement the standard vtable functions > and a few extra methods. The CX > opcode retrieves the currently selected namespace as a PMC object: > > $P0 = get_namespace 1096d1239 <
  $P0 = get_namespace
1098,1102c1241,1244 <

The get_root_namespace opcode retrieves the namespace object for the root namespace. The get_hll_namespace opcode retrieves the virtual root for the currently selected HLL.

--- > The CX opcode retrieves > the namespace object for the root namespace. The > CX opcode retrieves the > virtual root for the currently selected HLL. 1104,1105c1246,1247 <
  $P0 = get_root_namespace
<   $P0 = get_hll_namespace
--- > $P0 = get_root_namespace > $P0 = get_hll_namespace 1107d1248 <

Each of these three opcodes can take a key argument to retrieve a namespace under the currenly selected namespace, root namespace, or HLL root namespace:

1109,1111c1250,1251 <
  $P0 = get_namespace ["Duck"]
<   $P0 = get_root_namespace ["General";"Electric"]
<   $P0 = get_hll_namespace ["Euro"]
--- > Each of these three opcodes can take a key argument to retrieve a namespace > under the currenly selected namespace, root namespace, or HLL root namespace: 1113c1253,1255 <

Once you have a namespace object you can use it to retrieve variables from the namespace instead of using a keyed lookup. This example first looks up the Euro namespace in the currently selected HLL, then retrieves the bill variable from that namespace:

--- > $P0 = get_namespace ["Duck"] > $P0 = get_root_namespace ["General";"Electric"] > $P0 = get_hll_namespace ["Euro"] 1115,1116d1256 <
  $P0 = get_hll_namespace ["Euro"]
<   $P1 = get_global $P0, "bill"
1118,1120c1258,1261 <

Namespaces also provide a set of methods to provide more complex behavior than the standard vtable functions allow. The get_name method returns the name of the namespace as a ResizableStringArray:

--- > Once you have a namespace object you can use it to retrieve variables from the > namespace instead of using a keyed lookup. This example first looks up the Euro > namespace in the currently selected HLL, then retrieves the C variable > from that namespace: 1122c1263,1264 <
  $P3 = $P0.'get_name'()
--- > $P0 = get_hll_namespace ["Euro"] > $P1 = get_global $P0, "bill" 1124,1126d1265 <

The get_parent method retrieves a namespace object for the parent namespace that contains this one:

1128c1267,1270 <
  $P5 = $P0.'get_parent'()
--- > Namespaces also provide a set of methods to provide more complex > behavior than the standard vtable functions allow. The > CX method returns the name of the namespace > as a C: 1130,1132c1272 <

The get_class method retrieves any Class PMC associated with the namespace:

--- > $P3 = $P0.'get_name'() 1134d1273 <
  $P6 = $P0.'get_class'()
1136,1140c1275,1276 <

The add_var and find_var methods store and retrieve variables in a namespace in a language-neutral way:

--- > The CX method retrieves a namespace > object for the parent namespace that contains this one: 1142,1143c1278 <
  $P0.'add_var'("bee", $P3)
<   $P1 = $P0.'find_var'("bee")
--- > $P5 = $P0.'get_parent'() 1145,1147d1279 <

The find_namespace method looks up a namespace, just like the get_namespace opcode:

1149c1281,1282 <
  $P1 = $P0.'find_namespace'("Duck")
--- > The CX method retrieves any Class PMC > associated with the namespace: 1151,1153c1284 <

The add_namespace method adds a new namespace as a child of the namespace object:

--- > $P6 = $P0.'get_class'() 1155d1285 <
  $P0.'add_namespace'($P1)
1157,1159c1287,1312 <

The make_namespace method looks up a namespace as a child of the namespace object and returns it. If the requested namespace doesn't exist, make_namespace creates a new one and adds it under that name:

--- > The CX and CX > methods store and retrieve variables in a namespace in a > language-neutral way: > > $P0.'add_var'("bee", $P3) > $P1 = $P0.'find_var'("bee") > > > The CX method looks up a > namespace, just like the C opcode: > > $P1 = $P0.'find_namespace'("Duck") > > > The CX method adds a new namespace > as a child of the namespace object: > > $P0.'add_namespace'($P1) > > > The CX method looks up a > namespace as a child of the namespace object and returns it. If the > requested namespace doesn't exist, C creates a new one > and adds it under that name: > > $P1 = $P0.'make_namespace'("Duck") 1161d1313 <
  $P1 = $P0.'make_namespace'("Duck")
1166,1168c1318,1322 <

Just like regular assignment, the various operations to store a variable in a namespace only store a pointer to the PMC. If you modify the local PMC after storing in a namespace, those changes will also appear in the stored global. To store a true copy of the PMC, clone it before you store it.

--- > X > Just like regular assignment, the various operations to store a variable in a > namespace only store a pointer to the PMC. If you modify the local PMC after > storing in a namespace, those changes will also appear in the stored global. To > store a true copy of the PMC, C it before you store it. 1170c1324,1325 <

Leaving the global variable as an alias for a local variable has its advantages. If you retrieve a stored global into a register and modify it:

--- > Leaving the global variable as an alias for a local variable has its advantages. > If you retrieve a stored global into a register and modify it: 1174c1329,1346 <

... you modify the value of the stored global, so you don't need to call set_global again.

--- > ... you modify the value of the stored global, so you don't need to call > C again. > >

>POD ERRORS

> >

Hey! > The above document had some coding errors, > which are explained below:

> >
>
>Around line 123:
> Deleting unknown formatting code G<> >
>Around line 185:
> =end PIR_FRAGMENT_INVALID[ doesn't match =begin PIR_FRAGMENT_INVALID. > (Stack: =begin PIR_FRAGMENT_INVALID)
1178c1350 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch05_control_structures.pod.html parrot/docs/html/docs/book/pir/ch05_control_structures.pod.html 5c5 < Parrot - Control Structures --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Control Structures --- > Untitled 298a299,308 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 5:
> Deleting unknown formatting code N<>
302c312 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch06_subroutines.pod.html parrot/docs/html/docs/book/pir/ch06_subroutines.pod.html 5c5 < Parrot - Subroutines --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Subroutines --- > Untitled 759c759 < --> Native Call Interface (NCI) is a special version of the Parrot calling conventions for calling functions in shared C libraries with a known signature. This is a simplified version of the first test in t/pmc/nci.t:

--- > --> Native Call Interface (NCI) is a special version of the Parrot calling conventions for calling functions in shared C libraries with a known signature. This is a simplified version of the first test in t/pmc/nci.t:

785a786,807 > >

>POD ERRORS

> >

Hey! The above document had some coding errors, which are explained below:

> >
>
>Around line 39:
> Deleting unknown formatting code N<> >
>Around line 393:
> Deleting unknown formatting code N<> >
>Around line 615:
> Deleting unknown formatting code N<> >
>Around line 625:
> Deleting unknown formatting code N<> >
>Around line 1083:
> Deleting unknown formatting code N<>
789c811 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch07_objects.pod.html parrot/docs/html/docs/book/pir/ch07_objects.pod.html 5c5 < Parrot - Classes and Objects --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Classes and Objects --- > Untitled 337a338,349 > >

>POD ERRORS

> >

Hey! > The above document had some coding errors, > which are explained below:

> >
>
>Around line 64:
> Deleting unknown formatting code N<>
341c353 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch08_io.pod.html parrot/docs/html/docs/book/pir/ch08_io.pod.html 5c5 < Parrot - I/O --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » I/O --- > Untitled 365c365,380 <
--- >
>

>POD ERRORS

> >

Hey! > The above document had some coding errors, > which are explained below:

> >
>
>Around line 25:
> Deleting unknown formatting code N<> >
>Around line 46:
> Deleting unknown formatting code N<>
> 368c383 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/book/pir/ch09_exceptions.pod.html parrot/docs/html/docs/book/pir/ch09_exceptions.pod.html 5c5 < Parrot - Exceptions --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Exceptions --- > Untitled 277c277 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/compiler_faq.pod.html parrot/docs/html/docs/compiler_faq.pod.html 5c5 < Parrot - Parrot FAQ for compiler writers in PIR --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot FAQ for compiler writers in PIR --- > Untitled 302c302 < See also t/dynpmc/dynlexpad.t.

--- > See also t/dynpmc/dynlexpad.t.

636c636 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/configuration.pod.html parrot/docs/html/docs/configuration.pod.html 5c5 < Parrot - Parrot Configuration System --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Tools » Parrot Configuration System --- > Untitled 55c55 < you would add the code used to determine its size in config/auto/sizes.pm. --- > you would add the code used to determine its size in config/auto/sizes.pm. 83c83 < To enable them run Configure.pl with the --ask option.

--- > To enable them run Configure.pl with the --ask option.

118,119c118,119 < the Configure.pl script. < The system is invoked by instantiating a Parrot::Configure object, --- > the Configure.pl script. > The system is invoked by instantiating a Parrot::Configure object, 131c131 < the step config/init/defaults.pm uses the init::defaults namespace.

--- > the step config/init/defaults.pm uses the init::defaults namespace.

133c133 <

Each step inherits its constructor and some other methods from lib/Parrot/Configure/Step.pm. --- >

Each step inherits its constructor and some other methods from lib/Parrot/Configure/Step.pm. 167c167 <

The configuration system won't execute your step by default unless it's specifically told to. To do this, edit lib/Parrot/Configure/Step/List.pm. Steps are run in the order in which that are registered with the Parrot::Configure object.

--- >

The configuration system won't execute your step by default unless it's specifically told to. To do this, edit lib/Parrot/Configure/Step/List.pm. Steps are run in the order in which that are registered with the Parrot::Configure object.

169c169 <

Various utility functions for configuration steps are provided by the Parrot::Configure::Utils module.

--- >

Various utility functions for configuration steps are provided by the Parrot::Configure::Utils module.

210c210 <

Command-line arguments are now processed by process_options(), a subroutine exported by Parrot::Configure::Options. If you add a new option, don't forget to add it to this documentation and to appropriate locations. Most options should be added to @shared_valid_options in lib/Parrot/Configure/Options/Conf/Shared.pm.

--- >

Command-line arguments are now processed by process_options(), a subroutine exported by Parrot::Configure::Options. If you add a new option, don't forget to add it to this documentation and to appropriate locations. Most options should be added to @shared_valid_options in lib/Parrot/Configure/Options/Conf/Shared.pm.

212c212 <

Arguments passed to Configure.pl are held in a Parrot::Configure::Data object stored inside the Parrot::Configure object. The options data object may be accessed via the Parrot::Configure::options() method.

--- >

Arguments passed to Configure.pl are held in a Parrot::Configure::Data object stored inside the Parrot::Configure object. The options data object may be accessed via the Parrot::Configure::options() method.

217c217 <

As an alternative to typing a long string of options on the command-line, Parrot can now be configured from a configuration file. You put the options in a configuration file, then call Configure.pl as follows:

--- >

As an alternative to typing a long string of options on the command-line, Parrot can now be configured from a configuration file. You put the options in a configuration file, then call Configure.pl as follows:

228c228 <

The second step is config/init/defaults.pm, which sets up some defaults in a Parrot::Configure::Data object contained by the main Parrot::Configure object. It can be accessed via the Parrot::Configure::data() method. You get and set configuration system's data by interacting with this object. Some of its methods are summarized below.

--- >

The second step is config/init/defaults.pm, which sets up some defaults in a Parrot::Configure::Data object contained by the main Parrot::Configure object. It can be accessed via the Parrot::Configure::data() method. You get and set configuration system's data by interacting with this object. Some of its methods are summarized below.

245c245 < Returns a string that can be evaled by Perl to create a hash representing the configuration system's data.See the Parrot::Configure::Data documentation for further details. --- > Returns a string that can be evaled by Perl to create a hash representing the configuration system's data.See the Parrot::Configure::Data documentation for further details. 261c261 < These settings are deleted before lib/Parrot/Config.pm is written. These entries are only used e.g. for Makefile creation. --- > These settings are deleted before lib/Parrot/Config.pm is written. These entries are only used e.g. for Makefile creation. 266c266 <

Parrot configuration is currently jump-started by extracting considerable information from variables associated with the instance of Perl 5 which the user is using to run Configure.pl. These variables are largely looked up in the %Config found in the Perl 5 Config.pm, but may also be sought in Perl 5 special variables such as $^O. All such lookups should be done in configuration step init::defaults and only in that step. Special accessors are available for working with such variables; see config/init/defaults.pm and lib/Parrot/Configure/Data.pm.

--- >

Parrot configuration is currently jump-started by extracting considerable information from variables associated with the instance of Perl 5 which the user is using to run Configure.pl. These variables are largely looked up in the %Config found in the Perl 5 Config.pm, but may also be sought in Perl 5 special variables such as $^O. All such lookups should be done in configuration step init::defaults and only in that step. Special accessors are available for working with such variables; see config/init/defaults.pm and lib/Parrot/Configure/Data.pm.

276c276 <

Parrot::Configure, Parrot::Configure::Data, Parrot::Configure::Utils, Parrot::Configure::Step

--- >

Parrot::Configure, Parrot::Configure::Data, Parrot::Configure::Utils, Parrot::Configure::Step

280c280 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/debugger.pod.html parrot/docs/html/docs/debugger.pod.html 5c5 < Parrot - The Parrot Debugger --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Tools » The Parrot Debugger --- > Untitled 307c307 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/debug.pod.html parrot/docs/html/docs/debug.pod.html 5c5 < Parrot - Debugging Parrot --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Tools » Debugging Parrot --- > Untitled 76c76 <

See docs/dev/infant.pod for details of one frequent problem: infant mortality. Infant mortality is when you create a Parrot object, but the garbage collector runs before you put it into a Parrot register or in something else that is itself within a Parrot register.

--- >

See docs/dev/infant.pod for details of one frequent problem: infant mortality. Infant mortality is when you create a Parrot object, but the garbage collector runs before you put it into a Parrot register or in something else that is itself within a Parrot register.

88c88 <

One possible tool is parrot_debugger, the Parrot Debugger. See docs/debugger.pod for details on it.

--- >

One possible tool is parrot_debugger, the Parrot Debugger. See docs/debugger.pod for details on it.

247c247 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/byteorder.pod.html parrot/docs/html/docs/dev/byteorder.pod.html 5c5 < Parrot - Byteorder Conversion Functions --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Byteorder Conversion Functions --- > Untitled 54c54 <

When reading a pbc stored in a different architecture, the pbc header defines the pbc byteorder for the architecture which stored the pbc, and the src/packfile/pf_items.c functions are used to convert the values to the native endianness, wordsize and ptrsize.

--- >

When reading a pbc stored in a different architecture, the pbc header defines the pbc byteorder for the architecture which stored the pbc, and the src/packfile/pf_items.c functions are used to convert the values to the native endianness, wordsize and ptrsize.

129c129 <

The fetch and transformer functions are implemented in src/packfile/pf_items.c

--- >

The fetch and transformer functions are implemented in src/packfile/pf_items.c

133c133 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/c_functions.pod.html parrot/docs/html/docs/dev/c_functions.pod.html 5c5 < Parrot - C function decoration guidelines --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » C function decoration guidelines --- > Untitled 214c214 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/debugging_with_msvc.pod.html parrot/docs/html/docs/dev/debugging_with_msvc.pod.html 5c5 < Parrot - Debugging Parrot with Microsoft --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Debugging Parrot with Microsoft --- > Untitled 161c161 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/events.pod.html parrot/docs/html/docs/dev/events.pod.html 5c5 < Parrot - Design Notes for Events --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Design Notes for Events --- > Untitled 152c152 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/headerizer.pod.html parrot/docs/html/docs/dev/headerizer.pod.html 5c5 < Parrot - The Headerizer --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » The Headerizer --- > Untitled 39c39 <

The Headerizer (tools/build/headerizer.pl) is a tool that generates chunks of .h header files based on C source code.

--- >

The Headerizer (tools/build/headerizer.pl) is a tool that generates chunks of .h header files based on C source code.

66c66 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/infant.pod.html parrot/docs/html/docs/dev/infant.pod.html 5c5 < Parrot - Infant Mortality --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Infant Mortality --- > Untitled 298c298 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/longopt.pod.html parrot/docs/html/docs/dev/longopt.pod.html 5c5 < Parrot - Long option parsing --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Long option parsing --- > Untitled 98c98 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/optimizer.pod.html parrot/docs/html/docs/dev/optimizer.pod.html 5c5 < Parrot - About the IMCC optimizer --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » About the IMCC optimizer --- > Untitled 165c165 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/parrot_api.pod.html parrot/docs/html/docs/dev/parrot_api.pod.html 5c5 < Parrot - Notes on the PARROT_EXPORT macro --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Notes on the PARROT_EXPORT macro --- > Untitled 64c64 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/pccmethods.pod.html parrot/docs/html/docs/dev/pccmethods.pod.html 5c5 < Parrot - Parrot Calling Conventions in C --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Parrot Calling Conventions in C --- > Untitled 115c115 <

That is, a register type, followed by a name, optionally followed by one or more flags specified as adverbs. The list of supported adverbs is listed in docs/pdds/pdd03_calling_conventions.pod, the calling conventions design document.

--- >

That is, a register type, followed by a name, optionally followed by one or more flags specified as adverbs. The list of supported adverbs is listed in docs/pdds/pdd03_calling_conventions.pod, the calling conventions design document.

141c141 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/pcc_state.pod.html parrot/docs/html/docs/dev/pcc_state.pod.html 5c5 < Parrot - parrot calling conventions state table --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » parrot calling conventions state table --- > Untitled 134c134 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/pmc_freeze.pod.html parrot/docs/html/docs/dev/pmc_freeze.pod.html 5c5 < Parrot - Freeze/Thaw Design Notes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Freeze/Thaw Design Notes --- > Untitled 215c215 <

src/pmc_freeze.c, pf/pf_items.c

--- >

src/pmc_freeze.c, pf/pf_items.c

224c224 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/pmc_obj_design_meeting_notes.pod.html parrot/docs/html/docs/dev/pmc_obj_design_meeting_notes.pod.html 5c5 < Parrot - Parrot PMC/Object Design Meeting Notes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Parrot PMC/Object Design Meeting Notes --- > Untitled 190c190 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/dev/profiling.pod.html parrot/docs/html/docs/dev/profiling.pod.html 5c5 < Parrot - Name --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Name --- > Untitled 91c91 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/embed.pod.html parrot/docs/html/docs/embed.pod.html 5c5 < Parrot - Parrot embedding system --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Parrot embedding system --- > Untitled 2224c2224 <

src/main.c and t/src/*.t for Parrot's use of the embedding system.

--- >

src/main.c and t/src/*.t for Parrot's use of the embedding system.

2230c2230 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/gettingstarted.pod.html parrot/docs/html/docs/gettingstarted.pod.html 5c5 < Parrot - Parrot Developer FAQ --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Developer FAQ --- > Untitled 97c97 <

There are a few categories of documentation, each with different intents. It'll probably help to be aware of them before you go digging in. I highly suggest you check out /docs/pdds/pdd07_codingstd.pod for guidelines on how documentation is supposed to be laid out. For now, here's the executive summary:

--- >

There are a few categories of documentation, each with different intents. It'll probably help to be aware of them before you go digging in. I highly suggest you check out /docs/pdds/pdd07_codingstd.pod for guidelines on how documentation is supposed to be laid out. For now, here's the executive summary:

170c170 <

See docs/submissions.pod for details.

--- >

See docs/submissions.pod for details.

175c175 <

See docs/submissions.pod for details.

--- >

See docs/submissions.pod for details.

184c184 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/glossary.pod.html parrot/docs/html/docs/glossary.pod.html 5c5 < Parrot - Parrot Glossary --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Glossary --- > Untitled 206c206 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/intro.pod.html parrot/docs/html/docs/intro.pod.html 5c5 < Parrot - The Parrot Primer --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » The Parrot Primer --- > Untitled 181c181 <

The first step to building Parrot is to run the Configure.pl program, --- >

The first step to building Parrot is to run the Configure.pl program, 399c399 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/memory_internals.pod.html parrot/docs/html/docs/memory_internals.pod.html 5c5 < Parrot - Memory Internals --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Memory Internals --- > Untitled 72c72 <

See docs/pdds/pdd09_gc.pod for details about the garbage collector system.

--- >

See docs/pdds/pdd09_gc.pod for details about the garbage collector system.

160c160 <

The Configure.pl option --gc allows one to use either method.

--- >

The Configure.pl option --gc allows one to use either method.

221c221 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs: ops diff -r parrot-trunk/docs/html/docs/overview.pod.html parrot/docs/html/docs/overview.pod.html 5c5 < Parrot - A Parrot Overview --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » A Parrot Overview --- > Untitled 159c159 <

One interesting thing about vtables is that you can construct them dynamically. You can find out more about vtables in docs/vtables.pod.

--- >

One interesting thing about vtables is that you can construct them dynamically. You can find out more about vtables in docs/vtables.pod.

181c181 <

The bytecode format is fully documented in docs/parrotbyte.pod.

--- >

The bytecode format is fully documented in docs/parrotbyte.pod.

185c185 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs: packfile-c.pod.html diff -r parrot-trunk/docs/html/docs/parrotbyte.pod.html parrot/docs/html/docs/parrotbyte.pod.html 5c5 < Parrot - The Parrot Bytecode (PBC) Format --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » The Parrot Bytecode (PBC) Format --- > Untitled 48c48 <

The Wordsize (or opcode_t size) must be 4 (32-bit) or 8 (64 bit). The bytecode loader is responsible for transforming the file into the VM native wordsize on the fly. For performance, a utility pbc_dump is provided to convert PBCs on disk if they cannot be recompiled. See src/pbc_dump.c for more information.

--- >

The Wordsize (or opcode_t size) must be 4 (32-bit) or 8 (64 bit). The bytecode loader is responsible for transforming the file into the VM native wordsize on the fly. For performance, a utility pbc_dump is provided to convert PBCs on disk if they cannot be recompiled. See src/pbc_dump.c for more information.

319c319 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/parrothist.pod.html parrot/docs/html/docs/parrothist.pod.html 5c5 < Parrot - Parrot Release History --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Release History --- > Untitled 158c158 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/parrot.pod.html parrot/docs/html/docs/parrot.pod.html 5c5 < Parrot - Parrot --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot --- > Untitled 128c128 < The list is archived at: http://groups.google.com/group/parrot-dev/ Many people have contributed their time and expertise to the Parrot project; see the CREDITS file for details.

--- > The list is archived at: http://groups.google.com/group/parrot-dev/ Many people have contributed their time and expertise to the Parrot project; see the CREDITS file for details.

147c147 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs: pct diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd01_overview.pod.html parrot/docs/html/docs/pdds/draft/pdd01_overview.pod.html 5c5 < Parrot - [DRAFT] PDD 1: Overview --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 1: Overview --- > Untitled 306c306 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd05_opfunc.pod.html parrot/docs/html/docs/pdds/draft/pdd05_opfunc.pod.html 5c5 < Parrot - [DRAFT] PDD 5: Opcodes --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 5: Opcodes --- > Untitled 189c189 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd06_pasm.pod.html parrot/docs/html/docs/pdds/draft/pdd06_pasm.pod.html 5c5 < Parrot - [DRAFT] PDD 6: Parrot Assembly Language (PASM) --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 6: Parrot Assembly Language (PASM) --- > Untitled 168c168 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd08_keys.pod.html parrot/docs/html/docs/pdds/draft/pdd08_keys.pod.html 5c5 < Parrot - [DRAFT] PDD 8: PMC Keys --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 8: PMC Keys --- > Untitled 214c214 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd10_embedding.pod.html parrot/docs/html/docs/pdds/draft/pdd10_embedding.pod.html 5c5 < Parrot - [DRAFT] PDD10: Embedding and Extending --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD10: Embedding and Extending --- > Untitled 260c260 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd11_extending.pod.html parrot/docs/html/docs/pdds/draft/pdd11_extending.pod.html 5c5 < Parrot - [DRAFT] PDD 11: Extending --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 11: Extending --- > Untitled 40c40 <

$Revision: 47669 $

--- >

$Revision: 48025 $

326c326 <

docs/glossary.pod

--- >

docs/glossary.pod

330c330 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd14_numbers.pod.html parrot/docs/html/docs/pdds/draft/pdd14_numbers.pod.html 5c5 < Parrot - [DRAFT] PDD 14: Numbers --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 14: Numbers --- > Untitled 489c489 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd16_native_call.pod.html parrot/docs/html/docs/pdds/draft/pdd16_native_call.pod.html 5c5 < Parrot - [DRAFT] PDD 16: Native Call Interface (NCI) --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 16: Native Call Interface (NCI) --- > Untitled 319c319 <

t/pmc/nci.t, src/nci_test.c

--- >

t/pmc/nci.t, src/nci_test.c

323c323 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd29_compiler_tools.pod.html parrot/docs/html/docs/pdds/draft/pdd29_compiler_tools.pod.html 5c5 < Parrot - [DRAFT] PDD 29: Compiler Tools --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 29: Compiler Tools --- > Untitled 339c339 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd31_hll_interop.pod.html parrot/docs/html/docs/pdds/draft/pdd31_hll_interop.pod.html 5c5 < Parrot - [DRAFT] PDD 31: Inter-Language Calling --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 31: Inter-Language Calling --- > Untitled 373c373 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/draft/pdd31_hll.pod.html parrot/docs/html/docs/pdds/draft/pdd31_hll.pod.html 5c5 < Parrot - [DRAFT] PDD 31: HLL Compilers and Libraries --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » [DRAFT] PDD 31: HLL Compilers and Libraries --- > Untitled 192c192 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd00_pdd.pod.html parrot/docs/html/docs/pdds/pdd00_pdd.pod.html 5c5 < Parrot - PDD 0: Design Document Format --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 0: Design Document Format --- > Untitled 92c92 < An example of the currently accepted layout is given in docs/pdds/pdd_template.pod, --- > An example of the currently accepted layout is given in docs/pdds/pdd_template.pod, 177c177 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd03_calling_conventions.pod.html parrot/docs/html/docs/pdds/pdd03_calling_conventions.pod.html 5c5 < Parrot - PDD 3: Calling Conventions --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 3: Calling Conventions --- > Untitled 299c299 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd07_codingstd.pod.html parrot/docs/html/docs/pdds/pdd07_codingstd.pod.html 5c5 < Parrot - PDD 7: Conventions and Guidelines for Parrot Source Code --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 7: Conventions and Guidelines for Parrot Source Code --- > Untitled 32c32 <

$Revision: 45652 $

--- >

$Revision: 47658 $

410c410 <

The t/distro/file_metadata.t test checks that the files needing this property have it set.

--- >

The t/distro/file_metadata.t test checks that the files needing this property have it set.

423c423 <

The t/distro/file_metadata.t test checks that the files needing this property have it set.

--- >

The t/distro/file_metadata.t test checks that the files needing this property have it set.

428c428 <

The svn:eol-style property makes sure that whenever a file is checked out of subversion it has the correct end-of-line characters appropriate for the given platform. Therefore, most files should have their svn:eol-style property set to native. However, this is not true for all files. Some input files to tests (such as the *.input and *.output files for PIR tests) need to have LF as their svn:eol-style property. The current list of such files is described in t/distro/file_metadata.t.

--- >

The svn:eol-style property makes sure that whenever a file is checked out of subversion it has the correct end-of-line characters appropriate for the given platform. Therefore, most files should have their svn:eol-style property set to native. However, this is not true for all files. Some input files to tests (such as the *.input and *.output files for PIR tests) need to have LF as their svn:eol-style property. The current list of such files is described in t/distro/file_metadata.t.

438c438 <

The t/distro/file_metadata.t test checks that the files needing this property have it set.

--- >

The t/distro/file_metadata.t test checks that the files needing this property have it set.

567,569c567,569 < This inline Pod documentation is parsed to HTML by running: <
    $ perl tools/docs/write_docs.pl --delete
< or: $ make html --- > This inline Pod documentation is transformed to HTML with: >
    $ make html
> 640c640 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd09_gc.pod.html parrot/docs/html/docs/pdds/pdd09_gc.pod.html 5c5 < Parrot - PDD 9: Garbage Collection Subsystem --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 9: Garbage Collection Subsystem --- > Untitled 680c680 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd13_bytecode.pod.html parrot/docs/html/docs/pdds/pdd13_bytecode.pod.html 5c5 < Parrot - PDD 13: Bytecode --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 13: Bytecode --- > Untitled 990c990 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd15_objects.pod.html parrot/docs/html/docs/pdds/pdd15_objects.pod.html 5c5 < Parrot - PDD 15: Objects and Classes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 15: Objects and Classes --- > Untitled 1273c1273 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd17_pmc.pod.html parrot/docs/html/docs/pdds/pdd17_pmc.pod.html 5c5 < Parrot - PDD 17: Polymorphic Containers --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 17: Polymorphic Containers --- > Untitled 91c91 <

_metadata holds internal PMC metadata (properties). See the setprop/getprop ops in docs/ops/pmc.pod.

--- >

_metadata holds internal PMC metadata (properties). See the setprop/getprop ops in docs/ops/pmc.pod.

797c797 < Divide the value of the self PMC by the value of a PMC, native integer, or native floating-point number and store the remainder in dest. Note that dest may be the same PMC as self; in that case optimizations may be made. The i_ variants perform an inplace operation, modifying the value of self.Note that modulus uses Knuth's "corrected mod" algorithm, as implemented in src/utils.c, while cmodulus uses the C-style fmod function. --- > Divide the value of the self PMC by the value of a PMC, native integer, or native floating-point number and store the remainder in dest. Note that dest may be the same PMC as self; in that case optimizations may be made. The i_ variants perform an inplace operation, modifying the value of self.Note that modulus uses Knuth's "corrected mod" algorithm, as implemented in src/utils.c, while cmodulus uses the C-style fmod function. 1228c1228 <

docs/pmc2c.pod

--- >

docs/pmc2c.pod

1232c1232 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd18_security.pod.html parrot/docs/html/docs/pdds/pdd18_security.pod.html 5c5 < Parrot - PDD 18: Security Model --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 18: Security Model --- > Untitled 234c234 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd19_pir.pod.html parrot/docs/html/docs/pdds/pdd19_pir.pod.html 5c5 < Parrot - PDD 19: Parrot Intermediate Representation (PIR) --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 19: Parrot Intermediate Representation (PIR) --- > Untitled 838c838 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd20_lexical_vars.pod.html parrot/docs/html/docs/pdds/pdd20_lexical_vars.pod.html 5c5 < Parrot - PDD 20: Lexical Variables --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 20: Lexical Variables --- > Untitled 312c312 <

t/op/lexicals.t

--- >

t/op/lexicals.t

316c316 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd21_namespaces.pod.html parrot/docs/html/docs/pdds/pdd21_namespaces.pod.html 5c5 < Parrot - PDD 21: Namespaces --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 21: Namespaces --- > Untitled 436c436 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd22_io.pod.html parrot/docs/html/docs/pdds/pdd22_io.pod.html 5c5 < Parrot - PDD 22: I/O --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 22: I/O --- > Untitled 755c755 <

src/io/core.c, src/ops/io.ops, include/parrot/io.h, runtime/parrot/library/Stream/*, src/io/unix.c, src/io/win32.c, Perl 5's IO::AIO, and POE

--- >

src/io/core.c, src/ops/io.ops, include/parrot/io.h, runtime/parrot/library/Stream/*, src/io/unix.c, src/io/win32.c, Perl 5's IO::AIO, and POE

759c759 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd23_exceptions.pod.html parrot/docs/html/docs/pdds/pdd23_exceptions.pod.html 5c5 < Parrot - PDD 23: Exceptions --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 23: Exceptions --- > Untitled 425,428c425,428 <

src/ops/core.ops, < src/exceptions.c, < src/pmc/exception.pmc, < src/pmc/exceptionhandler.pmc

--- >

src/ops/core.ops, > src/exceptions.c, > src/pmc/exception.pmc, > src/pmc/exceptionhandler.pmc

432c432 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd24_events.pod.html parrot/docs/html/docs/pdds/pdd24_events.pod.html 5c5 < Parrot - PDD 24: Events --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 24: Events --- > Untitled 336c336 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd25_concurrency.pod.html parrot/docs/html/docs/pdds/pdd25_concurrency.pod.html 5c5 < Parrot - PDD 25: Concurrency --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 25: Concurrency --- > Untitled 231c231 < and a set of core routines in src/scheduler.c.

--- > and a set of core routines in src/scheduler.c.

437c437 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd26_ast.pod.html parrot/docs/html/docs/pdds/pdd26_ast.pod.html 5c5 < Parrot - PDD 26: Compiler Tools - Abstract Syntax Tree --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 26: Compiler Tools - Abstract Syntax Tree --- > Untitled 374c374 < The table of PIR opcodes that PAST "knows" about is given in compilers/pct/src/PAST/Compiler.pir . --- > The table of PIR opcodes that PAST "knows" about is given in compilers/pct/src/PAST/Compiler.pir . 456c456 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd27_multiple_dispatch.pod.html parrot/docs/html/docs/pdds/pdd27_multiple_dispatch.pod.html 5c5 < Parrot - PDD 27: Multiple Dispatch --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 27: Multiple Dispatch --- > Untitled 262c262 <

docs/mmd.pod, src/multidispatch.c, src/pmc/multisub.pmc

--- >

docs/mmd.pod, src/multidispatch.c, src/pmc/multisub.pmc

266c266 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd28_strings.pod.html parrot/docs/html/docs/pdds/pdd28_strings.pod.html 5c5 < Parrot - PDD 28: Strings --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 28: Strings --- > Untitled 739c739 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd30_install.pod.html parrot/docs/html/docs/pdds/pdd30_install.pod.html 5c5 < Parrot - PDD 30: Installation --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » PDD 30: Installation --- > Untitled 41c41 <

$Revision: 47917 $

--- >

$Revision: 48025 $

120c120 <

A new language is generated by tools/dev/mk_language_shell.pl

--- >

A new language is generated by tools/dev/mk_language_shell.pl

122c122 <

The makefiles are generated from a makefile template, which can use conditional platform and config logic. The forward slashes are automatically converted to backslashes for MSWin32 and \n is converted to \r\n for MSWin32 nmake. See Parrot::Configure::Compiler.

--- >

The makefiles are generated from a makefile template, which can use conditional platform and config logic. The forward slashes are automatically converted to backslashes for MSWin32 and \n is converted to \r\n for MSWin32 nmake. See Parrot::Configure::Compiler.

136c136 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pdds/pdd_template.pod.html parrot/docs/html/docs/pdds/pdd_template.pod.html 5c5 < Parrot - Design Document Template --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Design Documents (PDDs) » Design Document Template --- > Untitled 85c85 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pmc/array.pod.html parrot/docs/html/docs/pmc/array.pod.html 5c5 < Parrot - Array base class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Array base class --- > Untitled 135c135 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs/pmc: documentation.pod.html diff -r parrot-trunk/docs/html/docs/pmc/struct.pod.html parrot/docs/html/docs/pmc/struct.pod.html 5c5 < Parrot - Accessing C Structs from Parrot --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Accessing C Structs from Parrot --- > Untitled 286c286 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/pmc/subs.pod.html parrot/docs/html/docs/pmc/subs.pod.html 5c5 < Parrot - Parrot Subroutines --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Parrot Subroutines --- > Untitled 46c46 <

Parrot comes with different subroutine and related classes which implement CPS (Continuation Passing Style) and PCC (Parrot Calling Conventions) docs/pdds/pdd03_calling_conventions.pod.

--- >

Parrot comes with different subroutine and related classes which implement CPS (Continuation Passing Style) and PCC (Parrot Calling Conventions) docs/pdds/pdd03_calling_conventions.pod.

328c328 <

src/pmc/sub.pmc, src/pmc/closure.pmc, src/pmc/continuation.pmc, src/pmc/coroutine.pmc, src/sub.c, t/pmc/sub.t

--- >

src/pmc/sub.pmc, src/pmc/closure.pmc, src/pmc/continuation.pmc, src/pmc/coroutine.pmc, src/sub.c, t/pmc/sub.t

333c333 <

docs/pdds/pdd03_calling_conventions.pod docs/pdds/pdd19_pir.pod

--- >

docs/pdds/pdd03_calling_conventions.pod docs/pdds/pdd19_pir.pod

342c342 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs: pmc2c.pod.html diff -r parrot-trunk/docs/html/docs/porting_intro.pod.html parrot/docs/html/docs/porting_intro.pod.html 5c5 < Parrot - Parrot Subsystem Porting Introduction --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Parrot Subsystem Porting Introduction --- > Untitled 67c67 <
  • t/pmc/threads.t
  • --- >
  • t/pmc/threads.t
  • 71c71 <
  • src/thread.c
  • --- >
  • src/thread.c
  • 104c104 <
  • t/pmc/signal.t
  • --- >
  • t/pmc/signal.t
  • 164c164 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs/project: metacommitter_guide.pod.html Only in parrot-trunk/docs/html/docs/project: release_manager_guide.pod.html diff -r parrot-trunk/docs/html/docs/project/roles_responsibilities.pod.html parrot/docs/html/docs/project/roles_responsibilities.pod.html 5c5 < Parrot - Parrot Roles and Responsibilities --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Roles and Responsibilities --- > Untitled 60c60 <

    See docs/project/release_manager_guide.pod for more information.

    --- >

    See docs/project/release_manager_guide.pod for more information.

    71c71 <

    See docs/project/metacommitter_guide.pod for more information.

    --- >

    See docs/project/metacommitter_guide.pod for more information.

    175c175 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/project/support_policy.pod.html parrot/docs/html/docs/project/support_policy.pod.html 5c5 < Parrot - Parrot Release and Support Policy --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Release and Support Policy --- > Untitled 109,117c109,110 < though we're likely to stagger the removals.

    < <

    Experimental Features

    < <

    From time to time, < we may add features to get feedback on their utility and design. < Marking them as "Experimental" in DEPRECATED.pod indicates that we may modify or remove them without official deprecation notices. < Use them at your own risk--and please provide feedback through official channels if you use them successfully or otherwise.

    --- > though we're likely to stagger the removals. > An experimental feature that was never included in a supported release may be removed before a supported release without a deprecation cycle.

    220c213 <
  • Items otherwise eligible but marked as "experimental" in DEPRECATED.pod
  • --- >
  • Items otherwise eligible but marked as "experimental" in DEPRECATED.pod
  • 235c228 < See docs/parrothist.pod for details about which existing releases were considered supported.

    --- > See docs/parrothist.pod for details about which existing releases were considered supported.

    239c232 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/running.pod.html parrot/docs/html/docs/running.pod.html 5c5 < Parrot - Running --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Running --- > Untitled 107c107 < See docs/dev/optimizer.pod for more information on the optimizer. Note that optimization is currently experimental and these options are likely to change. --- > See docs/dev/optimizer.pod for more information on the optimizer. Note that optimization is currently experimental and these options are likely to change. 236c236 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/docs: stability.pod.html diff -r parrot-trunk/docs/html/docs/submissions.pod.html parrot/docs/html/docs/submissions.pod.html 5c5 < Parrot - Parrot Submission Instructions --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Parrot Submission Instructions --- > Untitled 41c41 < create a bug report using the parrotbug utility. --- > create a bug report using the parrotbug utility. 91c91 < Each and every patch is an important contribution to Parrot and it's important that these efforts are recognized. To that end, the CREDITS file contains an informal list of contributors and their contributions made to Parrot. Patch submitters are encouraged to include a new or updated entry for themselves in CREDITS as part of their patch.The format for entries in CREDITS is defined at the top of the file. --- > Each and every patch is an important contribution to Parrot and it's important that these efforts are recognized. To that end, the CREDITS file contains an informal list of contributors and their contributions made to Parrot. Patch submitters are encouraged to include a new or updated entry for themselves in CREDITS as part of their patch.The format for entries in CREDITS is defined at the top of the file. 227c227 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/tests.pod.html parrot/docs/html/docs/tests.pod.html 5c5 < Parrot - Testing Parrot --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Tools » Testing Parrot --- > Untitled 77c77 < The Perl 5 module Parrot::Test and the PIR module Test;More help with writing tests. --- > The Perl 5 module Parrot::Test and the PIR module Test;More help with writing tests. 198c198 <

    The files in t/postconfigure are tests for build system. The build tools tests are intended to be run after someone has made changes in modules such as lib/Parrot/Pmc2cUtils/. They're set up to be run after Configure.pl has completed but before make has been invoked. (In fact, they will generate errors if make has completed.) You can run them with any of the following:

    --- >

    The files in t/postconfigure are tests for build system. The build tools tests are intended to be run after someone has made changes in modules such as lib/Parrot/Pmc2cUtils/. They're set up to be run after Configure.pl has completed but before make has been invoked. (In fact, they will generate errors if make has completed.) You can run them with any of the following:

    239c239 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/user/pir/exceptions.pod.html parrot/docs/html/docs/user/pir/exceptions.pod.html 5c5 < Parrot - Exceptions --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Exceptions --- > Untitled 127c127 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/user/pir/intro.pod.html parrot/docs/html/docs/user/pir/intro.pod.html 5c5 < Parrot - Writing PIR --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Writing PIR --- > Untitled 312c312 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/user/pir/objects.pod.html parrot/docs/html/docs/user/pir/objects.pod.html 5c5 < Parrot - Programming Parrot -- Using objects --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Programming Parrot -- Using objects --- > Untitled 424c424 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/user/pir/pmcs.pod.html parrot/docs/html/docs/user/pir/pmcs.pod.html 5c5 < Parrot - Programming Parrot -- PMCs --- > Parrot - Untitled 7c7 < href="../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Programming Parrot -- PMCs --- > Untitled 274c274 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/docs/vtables.pod.html parrot/docs/html/docs/vtables.pod.html 5c5 < Parrot - Parrot Vtables --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Developer Documentation » Parrot Vtables --- > Untitled 75c75 <

    You should almost always start by running tools/dev/gen_class.pl to generate a skeleton for the class. Let's generate a number type for the beautifully non-existent Fooby language:

    --- >

    You should almost always start by running tools/dev/gen_class.pl to generate a skeleton for the class. Let's generate a number type for the beautifully non-existent Fooby language:

    79c79 <

    This will produce a skeleton PMC file (to be preprocessed into ordinary C code by the tools/build/pmc2c.pl program) with stubs for all the methods you need to fill in. Actually, there are more stubs here then you probably need to fill in. Your PMC isn't going to want to support all these methods, and in many cases you may want to fall back to default behavior instead of implementing a dummy method.> The function init allows you to set up anything you need to set up.

    --- >

    This will produce a skeleton PMC file (to be preprocessed into ordinary C code by the tools/build/pmc2c.pl program) with stubs for all the methods you need to fill in. Actually, there are more stubs here then you probably need to fill in. Your PMC isn't going to want to support all these methods, and in many cases you may want to fall back to default behavior instead of implementing a dummy method.> The function init allows you to set up anything you need to set up.

    93c93 <
  • Run make realclean, and then run Configure.pl to add your new PMC to the set of built-in PMCs.
  • --- >
  • Run make realclean, and then run Configure.pl to add your new PMC to the set of built-in PMCs.
  • 99c99 <

    The usual way to continue from the tools/dev/gen_class.pl-generated skeleton is to define a structure that will hook onto the data, if your data type needs to use that, and then also define some user-defined flags.

    --- >

    The usual way to continue from the tools/dev/gen_class.pl-generated skeleton is to define a structure that will hook onto the data, if your data type needs to use that, and then also define some user-defined flags.

    127c127 <

    The master list of VTABLE interfaces can be found in src/vtable.tbl in the root directory of the Parrot source, with documentation in docs/pdds/pdd17_pmc.pod. A few of these are very important, for instance:

    --- >

    The master list of VTABLE interfaces can be found in src/vtable.tbl in the root directory of the Parrot source, with documentation in docs/pdds/pdd17_pmc.pod. A few of these are very important, for instance:

    222c222 <

    See the POD documentation in tools/build/pmc2c.pl for a list of useful keywords that you may use in the .pmc file.

    --- >

    See the POD documentation in tools/build/pmc2c.pl for a list of useful keywords that you may use in the .pmc file.

    226c226 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/DONORS.pod.html parrot/docs/html/DONORS.pod.html 5c5 < Parrot - DONORS --- > Parrot - Untitled 7c7 < href="../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » DONORS --- > Untitled 67c67 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/editor/README.pod.html parrot/docs/html/editor/README.pod.html 5c5 < Parrot - Productivity Comes in Pretty Colors --- > Parrot - Untitled 7c7 < href="../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Productivity Comes in Pretty Colors --- > Untitled 43,48c43,52 <

    By default calling make vim-install in the editor/ directory will install several files in ~/.vim. < You can use the variable VIM_DIR on the command line by calling make to choose a different target directory for the vim files.

    < <
       make vim-install [VIM_DIR=/vim_files_target_directory]
    < <

    All these files have the .vim extension. pir.vim (generated from pir_vim.in), pasm.vim, and pmc.vim are syntax files; indent_pir.vim is an indent plugin; and filetype_parrot.vim is a filetype script that tells vim to associate the extensions .pir, .pasm, and .pmc with the right syntax. The syntax files are installed to ~/.vim/syntax/; filetype_parrot.vim is installed to ~/.vim/parrot.vim; indent_pir.vim is copied to ~/.vim/indent/pir.vim. If you want indenting, you should also place filetype indent on somewhere in your ~/.vimrc.

    --- >

    Calling make vim-install in the editor/ directory will install several files in ~/.vim. > All these files have the .vim extension. > pir.vim (generated from pir_vim.in), > pasm.vim, > and pmc.vim are syntax files; indent_pir.vim is an indent plugin; and filetype_parrot.vim is a filetype script that tells vim to associate the extensions .pir, > .pasm, > and .pmc with the right syntax. > The syntax files are installed to ~/.vim/syntax/; filetype_parrot.vim is installed to ~/.vim/ftdetect; indent_pir.vim is copied to ~/.vim/indent/pir.vim. > If you want indenting, > you should also place filetype indent on somewhere in your ~/.vimrc.

    53c57,59 <

    There is a syntax file for the KDE editor Kate, but it is not built by default. Run:

    --- >

    There is a syntax file for the KDE editor Kate, > but it is not built by default. > Run:

    59c65 <

    Copy the file imcc.xml to ~/.kde/share/apps/katepart/syntax.

    --- >

    TODO: How do we install Kate syntax files?

    117c123 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_1.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_1.pod.html 5c5 < Parrot - PCT Tutorial Episode 1: Introduction --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » PCT Tutorial Episode 1: Introduction --- > Untitled 297c297 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_2.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_2.pod.html 5c5 < Parrot - Episode 2: Poking in Compiler Guts --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 2: Poking in Compiler Guts --- > Untitled 195c195 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_3.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_3.pod.html 5c5 < Parrot - Episode 3: Squaak Details and First Steps --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 3: Squaak Details and First Steps --- > Untitled 332c332 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_4.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_4.pod.html 5c5 < Parrot - Episode 4: PAST Nodes and More Statements --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 4: PAST Nodes and More Statements --- > Untitled 373c373 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_5.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_5.pod.html 5c5 < Parrot - Episode 5: Variable Declaration and Scope --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 5: Variable Declaration and Scope --- > Untitled 285c285 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_6.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_6.pod.html 5c5 < Parrot - Episode 6: Scope and Subroutines --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 6: Scope and Subroutines --- > Untitled 346c346 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_7.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_7.pod.html 5c5 < Parrot - Episode 7: Operators and Precedence --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 7: Operators and Precedence --- > Untitled 177c177 <

    Note that some operators are missing. See the exercises section for this. For more details on the use of the optable, check out docs/pct/pct_optable_guide.pod in the Parrot repository.

    --- >

    Note that some operators are missing. See the exercises section for this. For more details on the use of the optable, check out docs/pct/pct_optable_guide.pod in the Parrot repository.

    341c341 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_8.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_8.pod.html 5c5 < Parrot - Episode 8: Hashtables and Arrays --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 8: Hashtables and Arrays --- > Untitled 333c333 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/examples/languages/squaak/doc/tutorial_episode_9.pod.html parrot/docs/html/examples/languages/squaak/doc/tutorial_episode_9.pod.html 5c5 < Parrot - Episode 9: Wrap up and Conclusion --- > Parrot - Untitled 7c7 < href="../../../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PCT Tutorial » Episode 9: Wrap up and Conclusion --- > Untitled 264c264 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html: index.html Only in parrot-trunk/docs/html: lib Only in parrot-trunk/docs/html: ops.html diff -r parrot-trunk/docs/html/parrotbug.html parrot/docs/html/parrotbug.html 5c5 < Parrot - Parrot Bug Reporter --- > Parrot - Untitled 7c7 < href="../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Tools » Parrot Bug Reporter --- > Untitled 101c101 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html: PCT_Tutorial.html Only in parrot-trunk/docs/html: pdds.html Only in parrot-trunk/docs/html: pmc.html diff -r parrot-trunk/docs/html/src/dynoplibs/bit.ops.html parrot/docs/html/src/dynoplibs/bit.ops.html 5c5 < Parrot - Bitwise Opcodes Dynoplib --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Bitwise Opcodes Dynoplib --- > Untitled 266c266 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/debug.ops.html parrot/docs/html/src/dynoplibs/debug.ops.html 5c5 < Parrot - Debugging Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Debugging Opcodes --- > Untitled 71c71 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/deprecated.ops.html parrot/docs/html/src/dynoplibs/deprecated.ops.html 5c5 < Parrot - Deprecated Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Deprecated Opcodes --- > Untitled 104c104 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/io.ops.html parrot/docs/html/src/dynoplibs/io.ops.html 5c5 < Parrot - Extended I/O Dynops --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Extended I/O Dynops --- > Untitled 134c134 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/math.ops.html parrot/docs/html/src/dynoplibs/math.ops.html 5c5 < Parrot - Mathematical Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Mathematical Opcodes --- > Untitled 134c134 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/obscure.ops.html parrot/docs/html/src/dynoplibs/obscure.ops.html 5c5 < Parrot - Obscure Mathematical Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Obscure Mathematical Opcodes --- > Untitled 89c89 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/sys.ops.html parrot/docs/html/src/dynoplibs/sys.ops.html 5c5 < Parrot - System Interaction Dynops --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » System Interaction Dynops --- > Untitled 200c200 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynoplibs/trans.ops.html parrot/docs/html/src/dynoplibs/trans.ops.html 5c5 < Parrot - Transcendental Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Transcendental Opcodes --- > Untitled 121c121 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynpmc/dynlexpad.pmc.html parrot/docs/html/src/dynpmc/dynlexpad.pmc.html 5c5 < Parrot - DynLexPad PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » DynLexPad PMC --- > Untitled 81,83c81,83 <

    docs/pdds/pdd20_lexical_vars.pod, < src/pmc/lexpad.pmc, < src/pmc/lexinfo.pmc.

    --- >

    docs/pdds/pdd20_lexical_vars.pod, > src/pmc/lexpad.pmc, > src/pmc/lexinfo.pmc.

    87c87 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynpmc/file.pmc.html parrot/docs/html/src/dynpmc/file.pmc.html 5c5 < Parrot - File PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » File PMC --- > Untitled 46c46 < For more information see src/pmc.c. --- > For more information see src/pmc.c. 76c76 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynpmc/gziphandle.pmc.html parrot/docs/html/src/dynpmc/gziphandle.pmc.html 5c5 < Parrot - GzipHandle PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » GzipHandle PMC --- > Untitled 97c97 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/dynpmc/os.pmc.html parrot/docs/html/src/dynpmc/os.pmc.html 5c5 < Parrot - Files and Directories PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Files and Directories PMC --- > Untitled 46c46 < For more information see src/pmc.c. --- > For more information see src/pmc.c. 124c124 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/src/dynpmc: pccmethod_test.pmc.html diff -r parrot-trunk/docs/html/src/dynpmc/rational.pmc.html parrot/docs/html/src/dynpmc/rational.pmc.html 5c5 < Parrot - Rational numbers PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Rational numbers PMC --- > Untitled 247c247 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/src: exceptions.c.html Only in parrot-trunk/docs/html/src: io Only in parrot-trunk/docs/html/src: main.c.html Only in parrot-trunk/docs/html/src: multidispatch.c.html Only in parrot-trunk/docs/html/src: nci_test.c.html diff -r parrot-trunk/docs/html/src/ops/bit.ops.html parrot/docs/html/src/ops/bit.ops.html 5c5 < Parrot - Bitwise Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Bitwise Opcodes --- > Untitled 112c112 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/cmp.ops.html parrot/docs/html/src/ops/cmp.ops.html 5c5 < Parrot - Comparison Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Comparison Opcodes --- > Untitled 624c624 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/core.ops.html parrot/docs/html/src/ops/core.ops.html 5c5 < Parrot - Core Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Core Opcodes --- > Untitled 229c229 < The individual bits per entry are specified in docs/pdds/pdd03_calling_conventions.pod. --- > The individual bits per entry are specified in docs/pdds/pdd03_calling_conventions.pod. 570c570 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/experimental.ops.html parrot/docs/html/src/ops/experimental.ops.html 5c5 < Parrot - Experimental Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Experimental Opcodes --- > Untitled 119c119 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/io.ops.html parrot/docs/html/src/ops/io.ops.html 5c5 < Parrot - I/O Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » I/O Opcodes --- > Untitled 95c95 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/math.ops.html parrot/docs/html/src/ops/math.ops.html 5c5 < Parrot - Mathematical Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Mathematical Opcodes --- > Untitled 401c401 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/object.ops.html parrot/docs/html/src/ops/object.ops.html 5c5 < Parrot - Class and Object Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Class and Object Opcodes --- > Untitled 247c247 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/pmc.ops.html parrot/docs/html/src/ops/pmc.ops.html 5c5 < Parrot - PMC Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » PMC Opcodes --- > Untitled 267c267 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/set.ops.html parrot/docs/html/src/ops/set.ops.html 5c5 < Parrot - Assignment Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Assignment Opcodes --- > Untitled 312c312 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/string.ops.html parrot/docs/html/src/ops/string.ops.html 5c5 < Parrot - String Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » String Opcodes --- > Untitled 292c292 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/sys.ops.html parrot/docs/html/src/ops/sys.ops.html 5c5 < Parrot - System Interaction Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » System Interaction Opcodes --- > Untitled 96c96 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/ops/var.ops.html parrot/docs/html/src/ops/var.ops.html 5c5 < Parrot - Variable Opcodes --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » Opcodes » Variable Opcodes --- > Untitled 238c238 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. Only in parrot-trunk/docs/html/src: packfile Only in parrot/docs/html/src: packfile.c.html Only in parrot-trunk/docs/html/src: pbc_dump.c.html diff -r parrot-trunk/docs/html/src/pmc/addrregistry.pmc.html parrot/docs/html/src/pmc/addrregistry.pmc.html 5c5 < Parrot - A GC Registry PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » A GC Registry PMC --- > Untitled 81c81 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/arrayiterator.pmc.html parrot/docs/html/src/pmc/arrayiterator.pmc.html 5c5 < Parrot - Implementation of Iterator for Arrays. --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Implementation of Iterator for Arrays. --- > Untitled 173c173 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/bigint.pmc.html parrot/docs/html/src/pmc/bigint.pmc.html 5c5 < Parrot - BigInt PMC class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » BigInt PMC class --- > Untitled 108c108 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/bignum.pmc.html parrot/docs/html/src/pmc/bignum.pmc.html 5c5 < Parrot - BigNum PMC class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » BigNum PMC class --- > Untitled 293c293 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/boolean.pmc.html parrot/docs/html/src/pmc/boolean.pmc.html 5c5 < Parrot - Boolean PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Boolean PMC --- > Untitled 68c68 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/bytebuffer.pmc.html parrot/docs/html/src/pmc/bytebuffer.pmc.html 5c5 < Parrot - A byte buffer --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » A byte buffer --- > Untitled 99c99 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/callcontext.pmc.html parrot/docs/html/src/pmc/callcontext.pmc.html 5c5 < Parrot - CallContext PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » CallContext PMC --- > Untitled 140c140 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/capture.pmc.html parrot/docs/html/src/pmc/capture.pmc.html 5c5 < Parrot - Capture PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Capture PMC --- > Untitled 219c219 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/class.pmc.html parrot/docs/html/src/pmc/class.pmc.html 5c5 < Parrot - defines a class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » defines a class --- > Untitled 35c35 < as outlined in docs/pdds/pdd15_objects.pod.

    --- > as outlined in docs/pdds/pdd15_objects.pod.

    305c305 <

    docs/pdds/pdd15_objects.pod.

    --- >

    docs/pdds/pdd15_objects.pod.

    309c309 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/codestring.pmc.html parrot/docs/html/src/pmc/codestring.pmc.html 5c5 < Parrot - CodeString PMC Class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » CodeString PMC Class --- > Untitled 83c83 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/complex.pmc.html parrot/docs/html/src/pmc/complex.pmc.html 5c5 < Parrot - Complex Numbers PMC Class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Complex Numbers PMC Class --- > Untitled 289c289 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/continuation.pmc.html parrot/docs/html/src/pmc/continuation.pmc.html 5c5 < Parrot - Continuation PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Continuation PMC --- > Untitled 89c89 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/coroutine.pmc.html parrot/docs/html/src/pmc/coroutine.pmc.html 5c5 < Parrot - Co-Routine PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Co-Routine PMC --- > Untitled 72c72 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/default.pmc.html parrot/docs/html/src/pmc/default.pmc.html 5c5 < Parrot - Abstract root class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Abstract root class --- > Untitled 36c36 <

    All methods which are not defined here get a default implementation generated from src/vtable.tbl by tools/build/pmc2c.pl.

    --- >

    All methods which are not defined here get a default implementation generated from src/vtable.tbl by tools/build/pmc2c.pl.

    466c466 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/env.pmc.html parrot/docs/html/src/pmc/env.pmc.html 5c5 < Parrot - System Environment --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » System Environment --- > Untitled 49c49 < For more information see src/pmc.c. --- > For more information see src/pmc.c. 102c102 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/eval.pmc.html parrot/docs/html/src/pmc/eval.pmc.html 5c5 < Parrot - Dynamic code evaluation --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Dynamic code evaluation --- > Untitled 64c64 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/eventhandler.pmc.html parrot/docs/html/src/pmc/eventhandler.pmc.html 5c5 < Parrot - a handler for events --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » a handler for events --- > Untitled 96c96 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/exceptionhandler.pmc.html parrot/docs/html/src/pmc/exceptionhandler.pmc.html 5c5 < Parrot - Exception Handler PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Exception Handler PMC --- > Untitled 80c80 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/exception.pmc.html parrot/docs/html/src/pmc/exception.pmc.html 5c5 < Parrot - Exception PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Exception PMC --- > Untitled 175c175 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/exporter.pmc.html parrot/docs/html/src/pmc/exporter.pmc.html 5c5 < Parrot - Export globals from one namespace to another --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Export globals from one namespace to another --- > Untitled 69c69 <

    Exports globals from one namespace to another. Exporter always uses the typed namespace interface, as outlined in docs/pdds/pdd21_namespaces.pod.

    --- >

    Exports globals from one namespace to another. Exporter always uses the typed namespace interface, as outlined in docs/pdds/pdd21_namespaces.pod.

    125c125 <

    docs/pdds/pdd17_basic_types.pod, docs/pdds/pdd21_namespaces.pod.

    --- >

    docs/pdds/pdd17_basic_types.pod, docs/pdds/pdd21_namespaces.pod.

    129c129 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/filehandle.pmc.html parrot/docs/html/src/pmc/filehandle.pmc.html 5c5 < Parrot - FileHandle PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » FileHandle PMC --- > Untitled 165c165 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/fixedbooleanarray.pmc.html parrot/docs/html/src/pmc/fixedbooleanarray.pmc.html 5c5 < Parrot - fixed size array for booleans only --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » fixed size array for booleans only --- > Untitled 158c158 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/fixedfloatarray.pmc.html parrot/docs/html/src/pmc/fixedfloatarray.pmc.html 5c5 < Parrot - fixed size array for floating point numbers only --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » fixed size array for floating point numbers only --- > Untitled 127c127 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/fixedintegerarray.pmc.html parrot/docs/html/src/pmc/fixedintegerarray.pmc.html 5c5 < Parrot - fixed size array for integers only --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » fixed size array for integers only --- > Untitled 147c147 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/fixedpmcarray.pmc.html parrot/docs/html/src/pmc/fixedpmcarray.pmc.html 5c5 < Parrot - fixed size array for PMCs only --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » fixed size array for PMCs only --- > Untitled 185c185 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/fixedstringarray.pmc.html parrot/docs/html/src/pmc/fixedstringarray.pmc.html 5c5 < Parrot - fixed size array for strings only --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » fixed size array for strings only --- > Untitled 160c160 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/float.pmc.html parrot/docs/html/src/pmc/float.pmc.html 5c5 < Parrot - Floating-point number --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Floating-point number --- > Untitled 167c167 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/handle.pmc.html parrot/docs/html/src/pmc/handle.pmc.html 5c5 < Parrot - IO Handle PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » IO Handle PMC --- > Untitled 60c60 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/hashiteratorkey.pmc.html parrot/docs/html/src/pmc/hashiteratorkey.pmc.html 5c5 < Parrot - accessor for single value during hash iteration. --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » accessor for single value during hash iteration. --- > Untitled 50c50 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/hashiterator.pmc.html parrot/docs/html/src/pmc/hashiterator.pmc.html 5c5 < Parrot - Implementation of Iterator for Hashes. --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Implementation of Iterator for Hashes. --- > Untitled 97c97 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/hash.pmc.html parrot/docs/html/src/pmc/hash.pmc.html 5c5 < Parrot - Hash PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Hash PMC --- > Untitled 214c214 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/imageio.pmc.html parrot/docs/html/src/pmc/imageio.pmc.html 5c5 < Parrot - ImageIO PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » ImageIO PMC --- > Untitled 93c93 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/imageiosize.pmc.html parrot/docs/html/src/pmc/imageiosize.pmc.html 5c5 < Parrot - ImageIOSize PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » ImageIOSize PMC --- > Untitled 78c78 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/imageiostrings.pmc.html parrot/docs/html/src/pmc/imageiostrings.pmc.html 5c5 < Parrot - ImageIOStrings PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » ImageIOStrings PMC --- > Untitled 71c71 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/integer.pmc.html parrot/docs/html/src/pmc/integer.pmc.html 5c5 < Parrot - Integer PMC class --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Integer PMC class --- > Untitled 220c220 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/iterator.pmc.html parrot/docs/html/src/pmc/iterator.pmc.html 5c5 < Parrot - Iterator PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Iterator PMC --- > Untitled 115c115 < Copyright © 2002-2009, Parrot Foundation. --- > Copyright © 2002-2010, Parrot Foundation. diff -r parrot-trunk/docs/html/src/pmc/key.pmc.html parrot/docs/html/src/pmc/key.pmc.html 5c5 < Parrot - Key PMC --- > Parrot - Untitled 7c7 < href="../../../resources/parrot.css" --- > href="/parrot.css" 17c17 < --- > 23c23 < Home » PMCs » Key PMC --- > Untitled }}} (Partial Diff, too big for wiki)temporary named  386 C<$name> with the functions for this class.  387   388 =cut  389   390 sub vtable_decl {  391     my ( $self, $temp_struct_name, $enum_name ) = @_;  392   393     # gen vtable flags  394     my $vtbl_flag = $self->vtable_flags;  395   396     my @vt_methods;  397     foreach my $vt_method ( @{ $self->vtable->methods } ) {  398         next if $vt_method->is_mmd;  399         push @vt_methods,  400             $self->build_full_c_vt_method_name( $vt_method->name );  401     }  402   403     my $methlist = join( ",\n        ", @vt_methods );  404   405     my $cout = <<ENDOFCODE;  406     const VTABLE $temp_struct_name = {  407         NULL,       /* namespace */  408         $enum_name, /* base_type */  409         NULL,       /* whoami */  410         $vtbl_flag, /* flags */  411         NULL,       /* provides_str */  412         NULL,       /* isa_hash */  413         NULL,       /* class */  414         NULL,       /* mro */  415         NULL,       /* attribute_defs */  416         NULL,       /* ro_variant_vtable */  417         $methlist,  418         0           /* attr size */  419     };