Documentation
Parrot's configuration script
Parrot under Cygwin
Parrot under Windows
Using nci_gen.pl
Readme file for PIRC compiler.
description PIRC's design.
This is the readme file for PIRC, a PIR Compiler written in C.
A plan for parrot 1.0 and beyond.
Parrot FAQ for compiler writers in PIR
Parrot Configuration System
Debugging Parrot
The Parrot Debugger
Byteorder Conversion Functions
Debugging Parrot with Microsoft Visual C++
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
Parrot embedding system
Parrot extension system
Parrot FAQ
Parrot Developer FAQ
Parrot Glossary
operation
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 Guide to Using an Operator Parsing Table in PGE-based grammars.
A high-level overview of Parrot
Parrot's internal data types
Opcode Function specs
Parrot Assembly Language
Indexing Aggregate PMCs
Parrot's Embedding and Extending Interface
The Parrot Extension System
Big Numbers
NCI conventions and definitions
Parrot Compiler Tools
Parrot Installation
Inter-language calling
Parrot Design Documents
Parrot Calling Conventions
Conventions and Guidelines for Parrot Source Code
Garbage Collection Subsystems
Parrot Bytecode
Object and Class semantics for Parrot
Parrot Magic Cookies
Security Model
Parrot Intermediate Representation
Lexical variables
Parrot Namespaces
Parrot I/O
Parrot Exceptions
Parrot Events
Parrot Concurrency
Parrot Abstract Syntax Tree
Multiple Dispatch
Parrot Strings
PDD Template
Accessing C Structs from Parrot
Parrot Subroutines
PMC definition to C compiler
Parrot Subsystem Porting Introduction
Tips for Ticket Wranglers
Model Users For Parrot Design Decisions
running
Parrot Component/Interface Stability Classification
Atomic operations
Using software transactional memory in Parrot
Parrot Submission Instructions
Testing Parrot
Parrot Vtables
Productivity Comes in Pretty Colors
Parrot Bug Reporter
Modules
use Parrot from Perl 5
access a Parrot interpreter from Perl 5
access a Parrot PMC from Perl 5
Provides
in compilers/ncigen/lib/Parrot/Test/C99AST.pm
Examples
- examples/README
- examples/benchmarks/addit.pasm
- examples/benchmarks/addit.pir
- examples/benchmarks/addit.pl
- examples/benchmarks/addit2.pir
- examples/benchmarks/array_access.pir
- examples/benchmarks/arriter.pir
- examples/benchmarks/arriter_o1.pir
- examples/benchmarks/bench_newp.pasm
- examples/benchmarks/fib.pir
- examples/benchmarks/freeze.pasm
- examples/benchmarks/freeze.pl
- examples/benchmarks/gc_header_new.pasm
- examples/benchmarks/gc_header_reuse.pasm
- examples/benchmarks/gc_waves_headers.pasm
- examples/benchmarks/mops.pasm
- examples/benchmarks/mops.pl
- examples/benchmarks/mops_intval.pasm
- examples/benchmarks/oo1.py
- examples/benchmarks/oo1.rb
- examples/benchmarks/oo2.py
- examples/benchmarks/oo2.rb
- examples/benchmarks/oo3.pasm
- examples/benchmarks/oo3.pl
- examples/benchmarks/oo3.py
- examples/benchmarks/oo4.pl
- examples/benchmarks/oo4.py
- examples/benchmarks/oo4.rb
- examples/benchmarks/oo5.pl
- examples/benchmarks/oo5.py
- examples/benchmarks/oo5.rb
- examples/benchmarks/oo6.pl
- examples/benchmarks/oo6.py
- examples/benchmarks/oo6.rb
- examples/benchmarks/oofib.pir
- examples/benchmarks/oofib.py
- examples/benchmarks/oofib.rb
- examples/benchmarks/oon.txt
- examples/benchmarks/overload.pir
- examples/benchmarks/overload.pl
- examples/benchmarks/primes.pasm
- examples/benchmarks/primes.pl
- examples/benchmarks/primes2.c
- examples/benchmarks/primes2.pir
- examples/benchmarks/primes2.pl
- examples/benchmarks/primes2.py
- examples/benchmarks/primes2_i.pir
- examples/benchmarks/primes_i.pasm
- examples/benchmarks/shared_ref.pasm
- examples/benchmarks/shared_ref.pl
- examples/benchmarks/stress.pasm
- examples/benchmarks/stress.pl
- examples/benchmarks/stress.rb
- examples/benchmarks/stress1.pasm
- examples/benchmarks/vpm.pir
- examples/benchmarks/vpm.pl
- examples/benchmarks/vpm.py
- examples/c/nanoparrot.c
- examples/c/test_main.c
- examples/compilers/Makefile
- examples/compilers/japhc.c
- examples/io/echo_client.pir
- examples/io/http.pir
- examples/io/httpd.pir
- examples/io/httpd2.pir
- examples/io/pioctl.pasm
- examples/io/pipe2.pir
- examples/io/pipe3.pir
- examples/japh/japh1.pasm
- examples/japh/japh2.pasm
- examples/japh/japh3.pasm
- examples/japh/japh4.pasm
- examples/japh/japh5.pasm
- examples/library/acorn.l
- examples/library/md5sum.pir
- examples/library/ncurses_life.pir
- examples/library/pcre.pir
- examples/mops/README
- examples/mops/mops.c
- examples/mops/mops.cs
- examples/mops/mops.p6
- examples/mops/mops.pl
- examples/mops/mops.ps
- examples/mops/mops.py
- examples/mops/mops.rb
- examples/mops/mops.scheme
- examples/nci/Mysql.pir
- examples/nci/PQt.C
- examples/nci/ls.pir
- examples/nci/mysqltest.p6
- examples/nci/win32api.pir
- examples/nci/xlibtest.nqp
- examples/nci/xlibtest.p6
- examples/nci/xlibtest.pir
- examples/opengl/shapes.pir
- examples/opengl/triangle.pir
- examples/pasm/fact.pasm
- examples/pasm/nanoforth.pasm
- examples/pasm/nanoforth2.pasm
- examples/pasm/small.xml
- examples/pasm/trace.pasm
- examples/pasm/xml_parser.pasm
- examples/past/01-sub.pir
- examples/past/blocktype_immediate.pir
- examples/past/four_plus_one.pir
- examples/pge/TAP_grammar.pg
- examples/pge/benchmarks/ambs1/Makefile
- examples/pge/benchmarks/ambs1/ambs1.pg
- examples/pge/grammars/IO.pg
- examples/pge/grammars/PatchGrammar.pg
- examples/pge/simple.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/mysqltest.bas
- examples/pir/quine_ord.pir
- examples/pir/readline.pir
- examples/pir/sudoku.pir
- examples/sdl/anim_image.pir
- examples/sdl/anim_image_dblbuf.pir
- examples/sdl/blue_font.pir
- examples/sdl/blue_rect.pir
- examples/sdl/blue_rect.pl
- examples/sdl/bounce_parrot_logo.pir
- examples/sdl/lcd/clock.pir
- examples/sdl/mandel.pir
- examples/sdl/minesweeper/README
- examples/sdl/minesweeper/field.pir
- examples/sdl/minesweeper/mines_debug.png
- examples/sdl/minesweeper/smiley.png
- examples/sdl/move_parrot_logo.pir
- examples/sdl/parrot_small.png
- examples/sdl/tetris/README
- examples/sdl/tetris/blockdata.pir
- examples/sdl/tetris/blocks.pir
- examples/sdl/tetris/board.pir
- examples/sdl/tetris/boarddata.pir
- examples/shootout/README
- examples/shootout/ack.pir_output
- examples/shootout/binarytrees.pir
- examples/shootout/binarytrees.pir_output
- examples/shootout/fannkuch.pir
- examples/shootout/fannkuch.pir_output
- examples/shootout/fannkuch.py
- examples/shootout/fasta.pir
- examples/shootout/knucleotide.pir
- examples/shootout/knucleotide.pir_input
- examples/shootout/knucleotide.pir_output
- examples/shootout/mandelbrot.pir_output
- examples/shootout/nbody.pir_output
- 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-2.pir_output
- examples/shootout/partialsums.pir
- examples/shootout/pidigits.pir
- examples/shootout/pidigits.pir_output
- examples/shootout/pidigits.py
- examples/shootout/random.pasm
- examples/shootout/recursive-2.pir
- examples/shootout/recursive.pir
- examples/shootout/recursive.pir_output
- examples/shootout/regexdna.pir
- examples/shootout/regexdna.pir_output
- examples/shootout/revcomp.pir
- examples/shootout/revcomp.pir_input
- examples/shootout/revcomp.pir_output
- examples/shootout/spectralnorm.pir_output
- examples/shootout/sumcol.pir_output
- examples/shootout/takfp.pir
- examples/shootout/takfp.pir_output
- examples/streams/Bytes.pir
- examples/streams/Combiner.pir
- examples/streams/Coroutine.pir
- examples/streams/FileLines.pir
- examples/streams/Filter.pir
- examples/streams/Lines.pir
- examples/streams/ParrotIO.pir
- examples/streams/SubCounter.pir
- examples/streams/Writer.pir
- examples/subs/bsr_ret.pasm
- examples/subs/jsr_ret.pasm
- examples/subs/no_retval.pir
- examples/subs/single_retval.pir
- examples/tge/README
- examples/tge/branch/branch.g
- examples/tge/branch/lib/Branch.pir
- examples/tge/branch/lib/Leaf.pir
- examples/tutorial/00_README.pod
- examples/tutorial/01_temp_var.pir
- examples/tutorial/02_local_var.pir
- examples/tutorial/03_temp_var_basic_pmcs.pir
- examples/tutorial/10_math_ops.pir
- examples/tutorial/11_math_ops_self_mod.pir
- examples/tutorial/13_logical_ops.pir
- examples/tutorial/22_string_ops_length.pir
- examples/tutorial/23_string_ops_substr.pir
- examples/tutorial/24_string_ops_clone.pir
- examples/tutorial/30_arrays_basic.pir
- examples/tutorial/32_array_ops_sprintf.pir
- examples/tutorial/40_file_ops.pir
- examples/tutorial/51_if_unless.pir
- examples/tutorial/52_if_compare.pir
- examples/tutorial/55_iterator.pir
- examples/tutorial/56_defined.pir
- examples/tutorial/57_exists.pir
- examples/tutorial/60_subroutines.pir
- examples/tutorial/62_namespaces.pir
- examples/tutorial/70_class_object.pir
- examples/tutorial/80_closure.pir
- examples/tutorial/81_continuation.pir
- examples/tutorial/82_coroutine.pir
- examples/tutorial/90_writing_tests.pir
- languages/WMLScript/t/examples.t
- languages/cola/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/unlambda/t/examples.t