# this file was generated by yacc -v perly.y > perly.output 0 $accept : prog $end 1 prog : progstart lineseq 2 block : '{' remember lineseq '}' 3 remember : 4 progstart : 5 mblock : '{' mremember lineseq '}' 6 mremember : 7 lineseq : 8 | lineseq decl 9 | lineseq line 10 line : label cond 11 | loop 12 | label ';' 13 | label sideff ';' 14 sideff : error 15 | expr 16 | expr IF expr 17 | expr UNLESS expr 18 | expr WHILE expr 19 | expr UNTIL iexpr 20 | expr FOR expr 21 else : 22 | ELSE mblock 23 | ELSIF '(' mexpr ')' mblock else 24 cond : IF '(' remember mexpr ')' mblock else 25 | UNLESS '(' remember miexpr ')' mblock else 26 cont : 27 | CONTINUE block 28 loop : label WHILE '(' remember mtexpr ')' mblock cont 29 | label UNTIL '(' remember miexpr ')' mblock cont 30 | label FOR MY remember my_scalar '(' mexpr ')' mblock cont 31 | label FOR scalar '(' remember mexpr ')' mblock cont 32 | label FOR '(' remember mexpr ')' mblock cont 33 | label FOR '(' remember mnexpr ';' mtexpr ';' mnexpr ')' mblock 34 | label block cont 35 nexpr : 36 | sideff 37 texpr : 38 | expr 39 iexpr : expr 40 mexpr : expr 41 mnexpr : nexpr 42 mtexpr : texpr 43 miexpr : iexpr 44 label : 45 | LABEL 46 decl : format 47 | subrout 48 | mysubrout 49 | package 50 | use 51 format : FORMAT startformsub formname block 52 formname : WORD 53 | 54 mysubrout : MYSUB startsub subname proto subattrlist subbody 55 subrout : SUB startsub subname proto subattrlist subbody 56 startsub : 57 startanonsub : 58 startformsub : 59 subname : WORD 60 proto : 61 | THING 62 subattrlist : 63 | COLONATTR THING 64 | COLONATTR 65 myattrlist : COLONATTR THING 66 | COLONATTR 67 subbody : block 68 | ';' 69 package : PACKAGE WORD ';' 70 | PACKAGE ';' 71 $$1 : 72 use : USE startsub $$1 WORD WORD listexpr ';' 73 expr : expr ANDOP expr 74 | expr OROP expr 75 | argexpr 76 argexpr : argexpr ',' 77 | argexpr ',' term 78 | term 79 listop : LSTOP indirob argexpr 80 | FUNC '(' indirob expr ')' 81 | term ARROW method '(' listexprcom ')' 82 | term ARROW method 83 | METHOD indirob listexpr 84 | FUNCMETH indirob '(' listexprcom ')' 85 | LSTOP listexpr 86 | FUNC '(' listexprcom ')' 87 $$2 : 88 listop : LSTOPSUB startanonsub block $$2 listexpr 89 method : METHOD 90 | scalar 91 subscripted : star '{' expr ';' '}' 92 | scalar '[' expr ']' 93 | term ARROW '[' expr ']' 94 | subscripted '[' expr ']' 95 | scalar '{' expr ';' '}' 96 | term ARROW '{' expr ';' '}' 97 | subscripted '{' expr ';' '}' 98 | term ARROW '(' ')' 99 | term ARROW '(' expr ')' 100 | subscripted '(' expr ')' 101 | subscripted '(' ')' 102 termbinop : term ASSIGNOP term 103 | term POWOP term 104 | term MULOP term 105 | term ADDOP term 106 | term SHIFTOP term 107 | term RELOP term 108 | term EQOP term 109 | term BITANDOP term 110 | term BITOROP term 111 | term DOTDOT term 112 | term ANDAND term 113 | term OROR term 114 | term MATCHOP term 115 termunop : '-' term 116 | '+' term 117 | '!' term 118 | '~' term 119 | term POSTINC 120 | term POSTDEC 121 | PREINC term 122 | PREDEC term 123 anonymous : '[' expr ']' 124 | '[' ']' 125 | HASHBRACK expr ';' '}' 126 | HASHBRACK ';' '}' 127 | ANONSUB startanonsub proto subattrlist block 128 termdo : DO term 129 | DO block 130 | DO WORD '(' ')' 131 | DO WORD '(' expr ')' 132 | DO scalar '(' ')' 133 | DO scalar '(' expr ')' 134 term : termbinop 135 | termunop 136 | anonymous 137 | termdo 138 | term '?' term ':' term 139 | REFGEN term 140 | myattrterm 141 | LOCAL term 142 | '(' expr ')' 143 | '(' ')' 144 | scalar 145 | star 146 | hsh 147 | ary 148 | arylen 149 | subscripted 150 | '(' expr ')' '[' expr ']' 151 | '(' ')' '[' expr ']' 152 | ary '[' expr ']' 153 | ary '{' expr ';' '}' 154 | THING 155 | amper 156 | amper '(' ')' 157 | amper '(' expr ')' 158 | NOAMP WORD listexpr 159 | LOOPEX 160 | LOOPEX term 161 | NOTOP argexpr 162 | UNIOP 163 | UNIOP block 164 | UNIOP term 165 | UNIOPSUB term 166 | FUNC0 167 | FUNC0 '(' ')' 168 | FUNC0SUB 169 | FUNC1 '(' ')' 170 | FUNC1 '(' expr ')' 171 | PMFUNC '(' term ')' 172 | PMFUNC '(' term ',' term ')' 173 | WORD 174 | listop 175 myattrterm : MY myterm myattrlist 176 | MY myterm 177 myterm : '(' expr ')' 178 | '(' ')' 179 | scalar 180 | hsh 181 | ary 182 listexpr : 183 | argexpr 184 listexprcom : 185 | expr 186 | expr ',' 187 my_scalar : scalar 188 amper : '&' indirob 189 scalar : '$' indirob 190 ary : '@' indirob 191 hsh : '%' indirob 192 arylen : DOLSHARP indirob 193 star : '*' indirob 194 indirob : WORD 195 | scalar 196 | block 197 | PRIVATEREF