úÎeç]~¡      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ   CA PMC type, which, for example, can be given as an argument to the new  opcode (e.g. new .PerlScalar).  !"#$%P (PMC) register &S (String) register 'N (Number) register (I (Integer) register )&Tags a PIR subroutine definition with @MAIN, @LOAD, @ANON,  @METHOD, or @MULTI. *+,-./01A literal number 2A literal integer 3A literal string 456Number register n 7Integer register n 8String register n 9 PMC register n :A variable declared by .local ;< Literals = Variables >? Constant @Generic expressions AComment BLabel C Tail call DFunction call EOther opcodes Fassign opcode Gset opcode Hnew opcode I.local directive JKInner subroutine LGeneric instructions MBackdoor into raw Doc N Lexical Pad O#line directive PComment QRHLL directive STU.include directive VWNamespace declaration XYZSubroutine declaration [\]^$PIR code consists of declarations. _`abcdefgh.include directive. i.HLL directive. j Short for G (binding). k Short for F. l(Calls an opcode which returns a value. m.Calls an opcode, ignoring any return values. n;Calls an user-defined sub which returns a list of values. o8Calls an user-defined sub, ignoring any return values. pLiteral zero q$P0 register r$P1 register s$P2 register t$P10 register u$P11 register v$P12 register w$P13 register x$P8 register y$P9 register z$S8 register {$S9 register |$S10 register }$I8 register ~$I9 register $I10 register €$I11 register $N8 register ‚$N9 register ƒSubroutine declaration. Name of the subroutine  Signature Subroutine body !The final subroutine declaration „…†‡Marks a parameter as slurpy. ˆReturns from a sub. ‰ŠJIn the case a Perl 6 builtin corresponds exactly to a PIR opcode, you can  use Š: to create an appropriate wrapper for an opcode expecting one  argument. "Perl 6 name of the opcode to wrap  PIR opcode Final subroutine declaration ‹JIn the case a Perl 6 builtin corresponds exactly to a PIR opcode, you can  use ‹: to create an appropriate wrapper for an opcode expecting two  arguments. "Perl 6 name of the opcode to wrap  PIR opcode Final subroutine declaration ŒCCreates a sub which accepts a thing which allows keyed access (for ' example aggregates) and an index. !Perl 6 name of the sub to create .Intermediate register to convert the index to  (e.g. } or z) Final subroutine declaration $Generic wrapper for unary opcodes. !Perl 6 name of the sub to create Opcode to wrap %Register to use for the return value  of the op Register type to convert the  parameter to Final subroutine declaration ŽGeneric wrapper for coercion/context forcing (used by &prefix:<+>,  &prefix:<~> , etc.) !Perl 6 name of the sub to create Register type to convert the  parameter to Final subroutine declaration &Generic wrapper for two-ary opcodes. !Perl 6 name of the sub to create Opcode to wrap %Register to use for the return value  of the op Register type to convert the  first parameter to Register type to convert the  second parameter to Final subroutine declaration 3Wrapper for an opcode which accepts and returns an I register. ‘2Wrapper for an opcode which accepts and returns a N register. ’2Wrapper for an opcode which accepts and returns a S register. “&Wrapper for an opcode which returns a S register and accepts a I register. ”&Wrapper for an opcode which returns a I register and accepts a S register. •&Wrapper for an opcode which returns a I register and accepts a P register. –0Wrapper for an opcode which accepts and returns I registers. —0Wrapper for an opcode which accepts and returns N registers. ˜(Wrapper for an opcode which accepts two S registers and returns a native  integer (I register). ™š›œCreates appropriate &statement_control:foo subroutines. Perl 6 name of the new sub  PIR opcode to use for branching Final declaration of the sub Creates appropriate &statement_control:foo subroutines. Perl 6 name of the new sub  PIR opcode to use for branching Final declaration of the sub žCreates appropriate & infix:foo subs for logical operators (||, &&,  etc.). !Perl 6 name of the sub to create PIR opcode to use (if, unless) Final declaration of the sub Ÿ9Escapes characters which have a special meaning in PIR.  &The Prelude, defining primitives like &say, &infix:+, etc. ¡Emits a literal (a 3, 2, or 1), and escapes if  necessary. ¢Emits PIR code for an  (e.g.  .PerlScalar). £Emits PIR code for a ) (e.g. :main, :anon , etc.). ¤LEmits PIR code for declarations (namespace, include, or sub declarations). ¡  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡^QZWUR[\]XYVSTJPONMLK>IHGFEDCBA@?;=<4:987650321)/.-,+*$('&%#"! _`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„  …†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ œ    #"!  !"#$('&%%&'()/.-,+**+,-./03211234:9876556789:;=<<=> IHGFEDCBA@??@ABCDEFGHIJPONMLKKLMNOPQ ZWUR[\]XYVSTRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¥      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨HsParrot-0.0.2 Language.PIRLanguage.PIR.EmitEmitemitnestedeqSepcommaSepArgFlag MkArgOptionalMkArgMaybeFlattenMkArgSlurpyArray MkArgFlattenSigMkSigsigFlagssigIdent LiteralClasslitRegClassregCallConvPkgNamePrimNameVarNameSubName LabelNameObjTypeBareType ContinuationClosureSubPerlEnvPerlRefPerlPairPerlIntPerlHash PerlArray PerlScalarRegTypeRegPMCRegStrRegNumRegIntSubFlagSubOUTERSubMULTI SubMETHODSubANONSubLOADSubMAINLiteralLitNumLitIntLitStrLValueKEYEDNUMINTSTRPMCVAR ExpressionExpLitExpLVInsInsConstInsExp InsCommentInsLabel InsTailFunInsFunInsPrim InsAssignInsBindInsNewInsLocalStmtStmtSubStmtInsStmtRawStmtPadStmtLine StmtCommentDeclDeclHLLdhLangdhGroupDeclIncdiFileDeclNS dnPackagednBodyDeclSubdsNamedsFlagsdsBodyPIR emitStmtscurPademitRetsemitFunemitArgs emitFunNamenoArgsexpKeyedquotedincludehll<:=<==<--.-<-&.&lit0nullPMCfunPMCrvarg0arg1arg2arg3tempPMCtempPMC2tempSTRtempSTR2tempSTR3tempINTtempINT2tempINT3tempINT4tempNUMtempNUM2subsigListargVal maybeFlattenslurpy--> retSigListvop1vop2 vop2keyedvop1x vop1coercevop2xvop1iivop1nnvop1ssvop1sivop1isvop1ipvop2iiivop2nnnvop2issbare collectCC callThunkCCstmtControlLoopstmtControlCond op2Logicalescaped preludePIR $fEmitLiteral $fEmitObjType $fEmitSubFlag $fEmitDecl