Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Parrot intermediate representation


Related Topics

In the News (Sat 26 Dec 09)

  
  Oakland.pm: Review of "Perl 6 and Parrot Essentials"
Parrot is designed to be relatively easy to modify and evolve.
Parrot could even be used to create your own language.
Parrot is also supposed to make it really easy to glue together programs coded in languages that run on Parrot.
oakland.pm.org /reviews/perl62.html   (2279 words)

  
  Parrot assembly language - Wikipedia, the free encyclopedia
The Parrot assembly language or PASM is the basic assembly language used by the Parrot virtual machine, a part of the Perl 6 project.
The Parrot intermediate representation or PIR is PASM, extended to simplify development of compilers.
This is because it is very low-cost to make a new instruction in something like Parrot compared to the cost of making an instruction in hardware, and the creators of Parrot had no particular goal of minimalism.
en.wikipedia.org /wiki/Parrot_assembly_language   (241 words)

  
 Parrot virtual machine - Wikipedia, the free encyclopedia
Parrot is a register-based virtual machine being developed using the C programming language and intended to run dynamic languages efficiently.
Parrot was started by the Perl community, and is developed with help from the open source and free software communities.
Parrot is a free software project, distributed under the same terms as Perl; that is, dual-licensed under both the GNU General Public License and the Artistic License.
en.wikipedia.org /wiki/Parrot_virtual_machine   (1015 words)

  
 Parrot intermediate representation - Wikipedia, the free encyclopedia
The Parrot intermediate representation or PIR, previously called Intermediate code (IMC), is one of the two assembly languages for the Parrot virtual machine.
While parrot is still evolving, it is currently being used in many different capacities, and has undergone several releases.
PIR provides a set of abstractions that allow the programmer to ignore certain redundancies in the Parrot bytecode and quickly write code that adheres to the complexities of Parrot, such as the calling conventions.
en.wikipedia.org /wiki/Parrot_intermediate_representation   (290 words)

  
 Parrot - GPWiki
Parrot is the virtual machine that is being written to power the next major version of the Perl language, Perl 6.
Parrot will be easily embedded into other applications and it will run anywhere where C99 is supported.
This is commonly done by compiling the script into Parrot Intermediate Representation (PIR), which is kind of a high level assembly language which Parrot can then compile into bytecode.
gpwiki.org /index.php/Parrot   (399 words)

  
 NationMaster - Encyclopedia: Parrot intermediate representation   (Site not responding. Last check: 2007-10-29)
Compared to PASM, PIR exists at a slightly higher level of abstraction, and provides temporary registers and named registers, simplifying code genaration.
Parrot 0.1.1 "Poicephalus" was released on October 9, 2004.
Parrot Intermediate Representation (PIR) is a slightly higher level language than PASM and the primary target of language implementations.
www.nationmaster.com /encyclopedia/Parrot-intermediate-representation   (534 words)

  
 Parrot-a-Virtual-Machine-For-Everyone at Programmers Heaven
The 'Parrot' Software-CPU instruction set includes arithmetic and logical operators, compare and ranch/jump (for implementing loops, if...then constructs, etc), finding and storing global and lexical variables, working with classes and objects, calling subroutines and methods along with their parameters, I/O, threads and more.
'Parrot' provides garbage collection, meaning that in 'Parrot' programs we do not need to worry about freeing memory explicitly; it will be freed when it is no longer in use (that is, no longer referenced) whenever the garbage collector runs.
In fact 'Parrot' provides a lot of programming functionalities and to explore it fully, the docs and examples subdirectories (in the parrot directory) are the perfect place to start.
www.programmersheaven.com /2/Parrot-a-Virtual-Machine-For-Everyone   (2748 words)

  
 [svn:parrot] r9147 - in trunk/docs: . dev pdds req - nntp.perl.org
Parrot will make sure that all addresses +returned by an opcode function are within the boundaries of the bytecode block.
Parrot will print out a list of each opcode -called, the number of times it was called, the average time it took to run, -and the total time it took over the life of the program.
Any library -used by Parrot must be fast enough to have a fairly small performance impact, small enough to have little impact on -core size, and flexible enough to handle the varying demands of Perl, Python, Tcl, Ruby, Scheme, and whatever else -some clever or twisted hacker throws at Parrot.
beta.nntp.perl.org /group/perl.cvs.parrot/9886   (19615 words)

  
 Parrot virtual machine - Definition, explanation
The Parrot source code was first released to the world on September 10, 2001.
Parrot 0.1.0 "Leaping Kakapo" was released on February 20, 2004.
Parrot 0.2.0 "NLNet" was released on May 8, 2005.
www.calsky.com /lexikon/en/txt/p/pa/parrot_virtual_machine.php   (667 words)

  
 Parrot 0.2.2 Released | Lambda the Ultimate
Parrot is a versatile virtual machine for dynamic languages.
Parrot is distributed with a number of sample compiler implementations at varying stages of completion, including partial compilers for common languages like lisp, scheme, tcl and python.
Parrot also comes with utilties that convert PIR (Parrot Intermediate Representation) and PASM (Parrot Assembly) into PBC (Parrot bytecode).
lambda-the-ultimate.org /node/view/827   (1079 words)

  
 [svn:parrot] r10353 - in trunk: . docs/imcc imcc/docs lib/Parrot/Docs/Section - nntp.perl.org
PIR is halfway between +It is an intermediate language that compiles either directly to Parrot Byte +code, or translates to Parrot Assembly language.
As Parrot's calling convention changed to a -continuation style (PCC), and generally became more complex, the PASM instructions -required to call or declare subroutines became just as complex.
IMC now completely hides the Parrot calling conventions -and allows different call conventions to be selected via.pragma without changes -to the high-level code emitter.
beta.nntp.perl.org /group/perl.cvs.parrot/11091   (3310 words)

  
 Perl | Topic Definition | Find the Meaning and Define the Answer of Perl   (Site not responding. Last check: 2007-10-29)
This could be seen as a precursor to Parrot.
It will run on Parrot, a virtual machine which is being developed as a possible multi-language target architecture.
Parrot is the Perl 6 runtime, and can be programmed at a low level in Parrot assembly language (PASM) or Intermediate Code (IMC or PIR, for Parrot Intermediate Representation).
www.thefreeencyclopedia.com /definition/word.aspx?w=Perl   (3082 words)

  
 Squawks of the Parrot: Parrot Forth
The sensible thing, then, is to grab a language that compiles to parrot and use that.
Parrot's got a number of partial and full languages that compile to it, but throwing away the gag languages (besides, Befunge doesn't support Parrot's calling conventions) it's down to either a nice compiled Basic or Forth and, for a number of reasons, I chose Forth.
It's dead-easy, and with the cool assemble-and-go bits of parrot (no need to even assemble the.pasm file, just feed it straight into parrot and you're good) there's not even separate compile and run phases.
www.sidhe.org /~dan/blog/archives/000259.html   (1020 words)

  
 [No title]   (Site not responding. Last check: 2007-10-29)
You can't syntax check the strings of PIR in the compiler source, and debugging or updating for new PIR syntax involves generating a PIR source file, looking for a particular generated bit, then grepping through the compiler sources to try to find the place where that generated bit came from.
Because it's PIR Tree is low-level, the job of translating from it to PIR (and back again) is relatively painless.
This is not a design goal of the Parrot compiler tools, but it doesn't hurt to make it possible when the two layers of syntax tree are a design advantage anyway.
svn.lohutok.net /nam/trunk/parrot/docs/compiler_tools.pod   (2273 words)

  
 LWN: "Perl 6 and Parrot Essentials" Released by O'Reilly
In "Perl 6 and Parrot Essentials" (O'Reilly, US $29.95) by Allison Randal, Dan Sugalski, and Leopold Totsch, Perl programmers and others are offered an unparalleled sneak-preview of the development of Perl 6.
Parrot can be used to interpret other dynamic languages such as Python, Tcl, Ruby, and even Java.
The book offers an explanation of the various stages of the project with reference material for programmers who are interested in the planned changes or who want to contribute to the project.
lwn.net /Articles/96371   (688 words)

  
 docs/tests.pod
This is quick and dirty pointer to how the Parrot test suite is executed and to how new tests for Parrot should be written.
Parrot has a status page with smoke test results http://smoke.parrotcode.org/smoke/.
In the case of missing requirements and in the case of serious breakdowns the execution of tests can be skipped.
cpan.uwinnipeg.ca /htdocs/parrot/tests.html   (571 words)

  
 Micromail | Perl 6 and Parrot Essentials 2nd Edition| ISBN 059600737X   (Site not responding. Last check: 2007-10-29)
Designed to be language independent, Parrot can be used to interpret other dynamic languages such as Python, Tcl, Ruby, and even Java.
Perl 6 and Parrot Essentials is the only book available to chart the course of the long but fruitful voyage of Perl 6.
Perl gurus and programmers alike will rely on this slim but essential book for both a clear view of the Perl horizon and to ensure they hit the ground running once this important new version of Perl is released.
www.micromail.com /productPages/MM3258.HTM   (265 words)

  
 cvs commit: parrot/imcc/docs imcc.pod
The language it -compiles is termed Parrot Intermediate Language (PIR).
PIR +is the primary target of language implementations.
PIR code files usually have +the extension C<.imc>.
www.mail-archive.com /cvs-parrot@perl.org/msg05364.html   (203 words)

  
 parroting for fun... and profit?: August 2004 Archives   (Site not responding. Last check: 2007-10-29)
This week on the Perl 6 Internals mailing list, Dan Sugalski shared a desire to get the current languages in the Parrot distribution all working, along with a request for a COBOL compiler.
In this instance, the goal is to take the source language (Python or Perl or COBOL, etc.) and turn it into PIR, Parrot Intermediate Representation (aka IMCC).
Parrot Intermediate Representation (pdf) (IMCC), Chapter 10 of Perl 6 and Parrot Essentials
matt.diephouse.com /parrot/archives/2004_08.html   (218 words)

  
 Parrot FAQ - parrotcode:
PIR maps to the more low-level Parrot Assembly language (PASM), which is harder to write and read.
Parrot uses the Artistic License 2.0, which is compatible with the GNU GPL.
Any library used by Parrot must be fast enough to have a fairly small performance impact, small enough to have little impact on core size, and flexible enough to handle the varying demands of Perl, Python, Tcl, Ruby, Scheme, and whatever else some clever or twisted hacker throws at Parrot.
www.parrotcode.org /faq   (2228 words)

  
 O'Reilly - Safari Books Online - 059600737X - Perl 6 and Parrot Essentials, 2nd Edition
Designed to be language independent, Parrot can be used to interpret other dynamic languages such as Python, Tcl, Ruby, and even Java.
Perl 6 and Parrot Essentials is the only book available to chart the course of the long but fruitful voyage of Perl 6.
What is impressive is that here in Parrot, we have a bunch of volunteers trying a similar effort, with no $budget to speak of.
safari.oreilly.com /059600737X   (785 words)

  
 Perl 6 User FAQ (perl.perl6.meta) -- Version: 2006-05-13 (beta 2)
Likewise, think of Perl 6 as including the Parrot virtual machine (which will also support other allied programming languages, and mutually shared libraries between them), plus whatever other backends are eventually supported (Javascript 2 aka ECMAScript Edition 4 is intriguing).
Parrot is a register-based virtual machine, which is designed to be good at hosting dynamic languages (Perl 6 in particular, but it also aims to easily and effeciently accomodate Ruby, Python, and so on).
Parrot is intended to be a modern successor to the older stack-based JVM (Java) and CLR (C#, etc.) virtual machines.
www.codecomments.com /message926540.html   (2064 words)

  
 Parrot assembly language - TheBestLinks.com - Perl, Parrot virtual machine, Stub, Parrot intermediate representation, ...
Parrot assembly language, Perl, Parrot virtual machine, Stub, Parrot...
The Parrot assembly language or PASM is the basic assembly language used by the Parrot virtual machine, a part of the Perl 6 project.
The Parrot intermediate representation or PIR is PASM, extended to simplify development of compilers.
www.thebestlinks.com /Parrot_assembly_language.html   (106 words)

  
 Amber for Parrot - Interoperability
You can assign any Parrot object to an Amber entity, regardless of the language in which the Parrot object is implemented.
At the time of writing (July 2005) it is not possible to pass arguments to the constructor of the Parrot object, but this restriction may be lifted in a future release of Amber.
It doesn't matter what language the DLL was originally written in, provided that its data types map to the datatypes supported by Parrot for its Native Call Interface functions.
xamber.org /interop.html   (681 words)

  
 cvs commit: parrot/docs glossary.pod
A medium-level assembly language for Parrot +that hides messy details like register allocation so language +compiler writers who target IMC don't have to roll their own.
+ +=head2 IMCC + +Parrot's Intermediate Code Compiler, which started its life as an +improved Parrot assembler, and eventually became so integrated with +Parrot that it became the Parrot executable (being able to load and +run PBC files, PASM files or IMC files).
The name for the "executable" files that can be +passed to the Parrot interpreter for immediate execution (although +PASM and IMC files can be executed directly, too).
www.mail-archive.com /cvs-parrot@perl.org/msg04884.html   (206 words)

  
 perl.com: Introducing mod_parrot
This is where Parrot changes the landscape dramatically-all languages targeted to the Parrot VM now have a common runtime engine, so they need only one Apache module: mod_parrot.
With all of this already done, and assuming our language compiles down to Parrot bytecode, we should be able to write the "glue" between Apache and our language in the language itself.
Every method is written in Parrot, with NCI calls to their corresponding Apache API functions.
www.perl.com /pub/a/2004/12/22/mod_parrot.html   (1234 words)

  
 Parrot - PerlNet
Parrot accepts input as Parrot Abstract Syntax Tree (PAST), Parrot Intermediate Representation (PIR) and Parrot Assembly (PASM).
All of these can be generated by compilers that target the Parrot Virtual Machine.
PIR hides away low-level details like function calling conventions whereas PASM doesn't.
perl.net.au /wiki/Parrot   (161 words)

  
 Bookpool: Perl 6 and Parrot Essentials, 2nd Edition
Dan Sugalski is the chief architect for Parrot, the interpreter engine for Perl 6.
He is an independent software developer who has been exploring and developing open source software since 1991.
He's a frequent contributor to isdnlog (an open source project for monitoring ISDN lines and optimizing telephone costs) and spends the majority of his free time working on Parrot, the language-independent interpreter developed as part of the Perl 6 design strategy.
www.bookpool.com /.x/SSSSSS_C200/sm/059600737X   (529 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.