App-a2p
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
str_scat(str,tmp2str);
str_free(tmp2str);
numeric = 1;
break;
case ORPAREN:
str = str_new(0);
str_set(str,"(");
str_scat(str,fstr=walk(useval != 0,level,ops[node+1].ival,&numarg,P_MIN));
str_free(fstr);
numeric |= numarg;
str_cat(str,")");
break;
case OMATCHOP:
prec = P_MATCH;
str = walk(1,level,ops[node+2].ival,&numarg,prec+1);
str_cat(str," ");
tmpstr = walk(0,level,ops[node+1].ival,&numarg,P_MIN);
if (strEQ(tmpstr->str_ptr,"~"))
str_cat(str,"=~");
else {
str_scat(str,tmpstr);
str_free(tmpstr);
}
str_cat(str," ");
str_scat(str,fstr=walk(1,level,ops[node+3].ival,&numarg,prec+1));
str_free(fstr);
numeric = 1;
break;
case OMPAREN:
str = str_new(0);
str_set(str,"(");
str_scat(str,
fstr=walk(useval != 0,level,ops[node+1].ival,&numarg,P_MIN));
str_free(fstr);
numeric |= numarg;
str_cat(str,")");
break;
case OCONCAT:
prec = P_ADD;
type = ops[ops[node+1].ival].ival & 255;
str = walk(1,level,ops[node+1].ival,&numarg,prec+(type != OCONCAT));
str_cat(str," . ");
type = ops[ops[node+2].ival].ival & 255;
str_scat(str,
fstr=walk(1,level,ops[node+2].ival,&numarg,prec+(type != OCONCAT)));
str_free(fstr);
break;
case OASSIGN:
prec = P_ASSIGN;
str = walk(0,level,ops[node+2].ival,&numarg,prec+1);
str_cat(str," ");
tmpstr = walk(0,level,ops[node+1].ival,&numarg,P_MIN);
str_scat(str,tmpstr);
if (str_len(tmpstr) > 1)
numeric = 1;
str_free(tmpstr);
str_cat(str," ");
str_scat(str,fstr=walk(1,level,ops[node+3].ival,&numarg,prec));
str_free(fstr);
numeric |= numarg;
if (strEQ(str->str_ptr,"$/ = ''"))
str_set(str, "$/ = \"\\n\\n\"");
break;
case OADD:
prec = P_ADD;
str = walk(1,level,ops[node+1].ival,&numarg,prec);
str_cat(str," + ");
str_scat(str,fstr=walk(1,level,ops[node+2].ival,&numarg,prec+1));
str_free(fstr);
numeric = 1;
break;
case OSUBTRACT:
prec = P_ADD;
str = walk(1,level,ops[node+1].ival,&numarg,prec);
str_cat(str," - ");
str_scat(str,fstr=walk(1,level,ops[node+2].ival,&numarg,prec+1));
str_free(fstr);
numeric = 1;
break;
case OMULT:
prec = P_MUL;
str = walk(1,level,ops[node+1].ival,&numarg,prec);
str_cat(str," * ");
str_scat(str,fstr=walk(1,level,ops[node+2].ival,&numarg,prec+1));
str_free(fstr);
numeric = 1;
break;
case ODIV:
prec = P_MUL;
str = walk(1,level,ops[node+1].ival,&numarg,prec);
str_cat(str," / ");
str_scat(str,fstr=walk(1,level,ops[node+2].ival,&numarg,prec+1));
str_free(fstr);
numeric = 1;
break;
case OPOW:
prec = P_POW;
str = walk(1,level,ops[node+1].ival,&numarg,prec+1);
str_cat(str," ** ");
str_scat(str,fstr=walk(1,level,ops[node+2].ival,&numarg,prec));
str_free(fstr);
numeric = 1;
break;
case OMOD:
prec = P_MUL;
str = walk(1,level,ops[node+1].ival,&numarg,prec);
str_cat(str," % ");
str_scat(str,fstr=walk(1,level,ops[node+2].ival,&numarg,prec+1));
str_free(fstr);
numeric = 1;
break;
case OPOSTINCR:
prec = P_AUTO;
str = walk(1,level,ops[node+1].ival,&numarg,prec+1);
str_cat(str,"++");
numeric = 1;
break;
case OPOSTDECR:
prec = P_AUTO;
str = walk(1,level,ops[node+1].ival,&numarg,prec+1);
str_cat(str,"--");
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.773 second using v1.00-cache-2.02-grep-82fe00e-cpan-d29e8ade9f55 )