Documentation
Parrot's Configuration Script
Parrot under Windows
This is the readme file for PIRC, a PIR Compiler written in C.
description PIRC's design.
A plan for Parrot
Parrot FAQ for compiler writers
Parrot Configuration System
Debugging Parrot
The Parrot Debugger
Byteorder Conversion Functions
Debugging Parrot with Microsoft Visual C++
Dead object detection (DOD)
Design Notes for Events
Infant Mortality
Parrot JIT (i386/gcc)
Long option parsing
About the IMCC optimizer
Notes on the PARROT_API macro
Parrot Calling Conventions in C
Freeze/Thaw Design Notes
Tips for Ticket Wranglers
Parrot embedding system
Parrot extension system
Parrot FAQ
Parrot Developer FAQ
Parrot Glossary
calling conventions
documentation
Macros
operation
parsing
syntax
The Parrot Primer
Parrot JIT Subsystem
Memory Internals
Multimethod dispatch for binary opcode functions
Parrot Native Object Execution Subsystem
PGE operator precedence table and parser
A Parrot Overview
Parrot
The Parrot Bytecode (PBC) Format
the parrot history records
A high-level overview of the Parrot system
Common vtable format for all variables
Parrot's internal data types
Opcode Function specs
Parrot Assembly Language
Indexing Aggregate PMCs
Garbage Collection Subsystems
Parrot's Embedding and Extending Interface
The Parrot Extension System
Big Numbers
NCI conventions and definitions
Parrot Magic Cookies
Parrot's security infrastructure
Parrot Intermediate Representation
Parrot Events
Parrot Concurrency
Parrot Design Documents
Parrot Calling Conventions
Conventions and Guidelines for Parrot Source Code
Parrot Bytecode
Object and Class semantics for Parrot
Lexical variables
Parrot Namespaces
Parrot I/O
Parrot Exceptions
PDD Template
Accessing C Structs from Parrot
Parrot Subroutines
PMC definition to C compiler
Parrot Subsystem Porting Introduction
Model Users For Parrot Design Decisions
running
Parrot Component/Interface Stability Classification
Atomic operations
Using software transactional memory in Parrot
Parrot Strings
Parrot Submission Instructions
Testing Parrot
Parrot Vtables
Productivity Comes in Pretty Colors
Print a Parrot configuration item
Parrot Bug Reporter
Modules
use Parrot from Perl 5
access a Parrot interpreter from Perl 5
access a Parrot PMC from Perl 5
Parrot Configuration Data
Conducts the execution of Configuration Steps
Configuration data container
Introduce and conclude Parrot configuration process
Process command-line options to Configure.pl
Run configuration and build tests along with Configure.pl
Configuration Step Utilities
Configuration Step Base Class
Get sequence of configuration steps
subroutines used in t/configure/* tests
Trace development of Parrot::Configure object through the configuration steps
Parrot Distribution Directory
Docs-Related Directory
Docs-Related File
Group of documentation items
HTML Documentation Page
Documentation item
POD to HTML formatter
Documentation section
Big Number documentation section
C source code documentation section
Compilers documentation section
Configuration documentation section
Docs documentation section
Dynamic PMCs documentation section
Editor Plugins documentation section
Examples documentation section
IMCC documentation section
Project info documentation section
Languages documentation section
Parrot libraries documentation section
Parrot ops documentation section
PMCs documentation section
Root documentation section
Perl documentation section
Tests documentation section
Tools documentation section
capture messages printed to STDOUT or STDERR during Parrot testing
Directory
File
Path
Re-create MANIFEST and MANIFEST.SKIP
Parrot Operation
Transform Ops to C Code
Ops to C Code Generation
C Goto Predereferenced Transform
CGoto Transform
C Predereferenced Transform
C Switch Transform
Transform Parrot Bytecode To C
Non-method subroutines holding functionality for tools/build/ops2c.pl.
Methods holding functionality for tools/build/ops2c.pl.
Non-method subroutines holding functionality for tools/build/ops2pm.pl.
Methods holding functionality for tools/build/ops2pm.pl.
Ops To C Code Generation
Given ugly PIR, format it nicely.
PMC to C Code Generation
PMC to C Code Generation
Parses and preps PMC PCCMETHOD called from Parrot:Pmc2c::Pmc2cMain
PMC model object
PMC to C Code Generation
PMC to C Code Generation
PMC Parser
Functions called within tools/build/pmc2c.pl
SVN Revision
testing routines for Parrot and language implementations
testing routines for languages/apl
a test harness for languages built on Parrot
test functions for Perl 6 Grammar Engine
testing routines for languages/PIR
testing routines for languages/perl6
testing routines for languages/punie
Functions for manipulating vtables
Provides
in lib/Parrot/BuildUtil.pm
in lib/Parrot/Pmc2c/ComposedMethod.pm
in lib/Parrot/Pmc2c/Emitter.pm
in lib/Parrot/Pmc2c/Method.pm
in lib/Parrot/Pmc2c/Object.pm
in lib/Parrot/Pmc2c/PMC/Null.pm
in lib/Parrot/Pmc2c/PMC/Object.pm
in lib/Parrot/Pmc2c/PMC/ParrotClass.pm
in lib/Parrot/Pmc2c/PMC/Ref.pm
in lib/Parrot/Pmc2c/PMC/STMRef.pm
in lib/Parrot/Pmc2c/PMC/SharedRef.pm
in lib/Parrot/Pmc2c/PMC/default.pm
in lib/Parrot/Pmc2c/PMC/deleg_pmc.pm
in lib/Parrot/Pmc2c/PMC/delegate.pm
in lib/Parrot/Pmc2c/Dumper.pm
in lib/Parrot/Pmc2c/UtilFunctions.pm
in lib/Parrot/Pmc2c/VTable.pm
in lib/Parrot/Test/Cardinal.pm
Examples
- examples/README
- examples/benchmarks/addit.pasm
- examples/benchmarks/addit.pl
- examples/benchmarks/addit.rb
- examples/benchmarks/addit2.pir
- examples/benchmarks/array_access.pir
- examples/benchmarks/arriter.rb
- examples/benchmarks/arriter_o1.pir
- examples/benchmarks/bench_newp.pasm
- examples/benchmarks/fib.pir
- examples/benchmarks/fib.pl
- examples/benchmarks/fib.py
- examples/benchmarks/fib.rb
- examples/benchmarks/freeze.pl
- examples/benchmarks/gc_alloc_reuse.pasm
- examples/benchmarks/gc_generations.pasm
- examples/benchmarks/gc_header_new.pasm
- examples/benchmarks/gc_header_reuse.pasm
- examples/benchmarks/gc_waves_headers.pasm
- examples/benchmarks/gc_waves_sizeable_data.pasm
- examples/benchmarks/gc_waves_sizeable_headers.pasm
- examples/benchmarks/mops.pasm
- examples/benchmarks/mops.pl
- examples/benchmarks/oo1.pasm
- examples/benchmarks/oo1.py
- examples/benchmarks/oo1.rb
- examples/benchmarks/oo2.pl
- examples/benchmarks/oo2.py
- examples/benchmarks/oo3.pasm
- examples/benchmarks/oo3.pl
- examples/benchmarks/oo3.py
- examples/benchmarks/oo3.rb
- examples/benchmarks/oo4.pasm
- examples/benchmarks/oo4.pl
- examples/benchmarks/oo4.rb
- examples/benchmarks/oo5.pir
- examples/benchmarks/oo5.py
- examples/benchmarks/oo5.rb
- examples/benchmarks/oo6.pir
- examples/benchmarks/oo6.pl
- examples/benchmarks/oo6.py
- examples/benchmarks/oo6.rb
- examples/benchmarks/oofib.pir
- examples/benchmarks/oofib.pl
- examples/benchmarks/overload.pl
- examples/benchmarks/primes.pasm
- examples/benchmarks/primes.pl
- examples/benchmarks/primes2.c
- examples/benchmarks/primes2.pasm
- examples/benchmarks/primes2.pl
- examples/benchmarks/primes2.rb
- examples/benchmarks/primes2_i.pasm
- examples/benchmarks/primes_i.pasm
- examples/benchmarks/shared_ref.pasm
- examples/benchmarks/stress.pasm
- examples/benchmarks/stress.pl
- examples/benchmarks/stress1.pl
- examples/benchmarks/stress2.pasm
- examples/benchmarks/stress2.pl
- examples/benchmarks/stress2.rb
- examples/benchmarks/stress3.pasm
- examples/benchmarks/vpm.pir
- examples/benchmarks/vpm.rb
- examples/c/nanoparrot.c
- examples/compilers/Makefile
- examples/compilers/japhc.c
- examples/io/echo_client.pir
- examples/io/http.pir
- examples/io/httpd2.pir
- examples/io/net_smtp.pasm
- examples/io/pioctl.pasm
- examples/japh/README
- examples/japh/japh4.pasm
- examples/japh/japh5.pasm
- examples/japh/japh6.pasm
- examples/japh/japh8.pasm
- examples/library/acorn.l
- examples/library/getopt_demo.pir
- examples/library/md5sum.pir
- examples/mops/mops.c
- examples/mops/mops.cs
- examples/mops/mops.il
- examples/mops/mops.pl
- examples/mops/mops.ps
- examples/mops/mops.py
- examples/mops/mops.rb
- examples/mops/mops.scheme
- examples/nci/PQt.C
- examples/nci/QtHelloWorld.pasm
- examples/nci/sdl_blue_rectangle.pir
- examples/pasm/cat.pasm
- examples/pasm/fact.pasm
- examples/pasm/hello.pasm
- examples/pasm/nanoforth.pasm
- examples/pasm/nanoforth2.pasm
- examples/pasm/queens.pasm
- examples/pasm/small.xml
- examples/pasm/stack.pasm
- examples/pasm/trace.pasm
- examples/pasm/xml_parser.pasm
- examples/past/01-sub.pir
- examples/pge/README
- examples/pge/all.pir
- examples/pge/benchmarks/ambs1/Makefile
- examples/pge/benchmarks/ambs1/ambs1.pg
- examples/pge/benchmarks/ambs1/main.pir
- examples/pge/benchmarks/ambs1/mktestcase
- examples/pge/grammars/IO.pg
- examples/pge/grammars/PatchGrammar.pg
- examples/pge/grammars/TAP.pg
- examples/pge/simple.pir
- examples/pir/circle.pir
- examples/pir/euclid.pir
- examples/pir/hanoi.pir
- examples/pir/hello-dwim.pir
- examples/pir/io.pir
- examples/pir/levenshtein.pir
- examples/pir/life.pir
- examples/pir/local_label.pir
- examples/pir/mandel.pir
- examples/pir/queens_r.pir
- examples/pir/quine_ord.pir
- examples/pir/readline.pir
- examples/pir/sudoku.pir
- examples/pir/thr-primes.pir
- examples/pir/uniq.pir
- examples/sdl/anim_image_dblbuf.pir
- examples/sdl/blue_font.pir
- examples/sdl/bounce_parrot_logo.pir
- examples/sdl/lcd/clock.pir
- examples/sdl/mandel.pir
- examples/sdl/minesweeper/README
- examples/sdl/minesweeper/eventhandler.pir
- examples/sdl/minesweeper/field.pir
- examples/sdl/minesweeper/mines.pir
- examples/sdl/minesweeper/mines.png
- examples/sdl/minesweeper/mines_debug.png
- examples/sdl/minesweeper/smiley.png
- examples/sdl/move_parrot_logo.pir
- examples/sdl/parrot_small.png
- examples/sdl/raw_pixels.pir
- examples/sdl/tetris/README
- examples/sdl/tetris/app.pir
- examples/sdl/tetris/blockdata.pir
- examples/sdl/tetris/board.pir
- examples/sdl/tetris/boarddata.pir
- examples/sdl/tetris/eventhandler.pir
- examples/sdl/tetris/tetris.pir
- examples/shootout/README
- examples/shootout/ack.pir
- examples/shootout/ack.pir.output
- examples/shootout/binarytrees.pir
- examples/shootout/binarytrees.pir.output
- examples/shootout/fannkuch.pir.output
- examples/shootout/fannkuch.py
- examples/shootout/fasta.pir
- examples/shootout/fasta.pir.output
- examples/shootout/harmonic.pir
- examples/shootout/knucleotide.pir
- examples/shootout/knucleotide.pir.output
- examples/shootout/mandelbrot.pir
- examples/shootout/nbody.pir
- examples/shootout/nsieve-bits-2.pir
- examples/shootout/nsieve-bits-2.pir.output
- examples/shootout/nsieve-bits.pir
- examples/shootout/nsieve-bits.pir.output
- examples/shootout/nsieve.pir
- examples/shootout/nsieve.pir.output
- examples/shootout/partialsums.pir
- examples/shootout/pidigits.pir.output
- examples/shootout/pidigits.py
- examples/shootout/random.pir
- examples/shootout/recursive-2.pir.output
- examples/shootout/recursive.pir
- examples/shootout/recursive.pir.output
- examples/shootout/regexdna.pir
- examples/shootout/regexdna.pir.input
- examples/shootout/regexdna.pir.output
- examples/shootout/revcomp.pir.output
- examples/shootout/spectralnorm.pir
- examples/shootout/sumcol.pir
- examples/shootout/sumcol.pir.input
- examples/shootout/sumcol.pir.output
- examples/streams/FileLines.pir
- examples/streams/Filter.pir
- examples/streams/Include.pir
- examples/streams/Lines.pir
- examples/streams/Replay.pir
- examples/streams/SubHello.pir
- examples/subs/bsr_ret.pasm
- examples/subs/coroutine.pasm
- examples/subs/multi_retvals.pir
- examples/subs/no_retval.pir
- examples/subs/pasm_sub1.pasm
- examples/subs/single_retval.pir
- examples/tge/README
- examples/tge/branch/branch.g
- examples/tge/branch/lib/Branch.pir
- examples/tge/branch/transform.pir
- examples/tutorial/01_temp_var.pir
- examples/tutorial/02_local_var.pir
- examples/tutorial/03_temp_var_basic_pmcs.pir
- examples/tutorial/04_pod_comments.pir
- examples/tutorial/11_math_ops_self_mod.pir
- examples/tutorial/12_math_ops_pasm.pir
- examples/tutorial/13_logical_ops.pir
- examples/tutorial/20_string_ops.pir
- examples/tutorial/21_string_ops_repeat.pir
- examples/tutorial/23_string_ops_substr.pir
- examples/tutorial/24_string_ops_clone.pir
- examples/tutorial/30_arrays_basic.pir
- examples/tutorial/31_array_ops_split.pir
- examples/tutorial/32_array_ops_sprintf.pir
- examples/tutorial/33_hashes.pir
- examples/tutorial/34_multikey.pir
- examples/tutorial/40_file_ops.pir
- examples/tutorial/50_goto.pir
- examples/tutorial/51_if_unless.pir
- examples/tutorial/52_if_compare.pir
- examples/tutorial/53_loop.pir
- examples/tutorial/60_subroutines.pir
- examples/tutorial/61_namespaces.pir
- examples/tutorial/70_class_object.pir
- examples/tutorial/80_closure.pir
- examples/tutorial/81_continuation.pir
- examples/tutorial/90_writing_tests.pir
- languages/WMLScript/t/examples.t
- languages/jako/t/examples.t
- languages/lua/t/examples.t
- languages/parrot_compiler/sample.pasm
- languages/regex/t/basic/example.t
- languages/tcl/config/makefiles/examples.in