infix to postfix

Submit

Your name:
File:
Open code-statistics:

Language is selected by the extension of the file. See the list of supported languages to know the extension of your language.

Problem

Convert lines from infix notation to postfix (reverse polish notation). Variables must remain in same order and precedence must be preserved.

Examples:
a+b -> ab+
a+b+c -> ab+c+ (not abc++ because would evaluate b+c first)
a-b*c -> abc*- (because * is higher precedence than -)
(a-b)*c -> ab-c* (because of ())

Options

exec is denied

no deadline, the server will not save your submission

Sample input:_

a+b+c*d
a*b*(c+d)+e

Sample output:

ab+cd*+
ab*cd+*e+

Sample input:_

k/r/(v*((g/(o*p*d/q*(((l+(z*n)-(h/y*w)-j+x)+(i)*a)*c+s)/m))/b)/u-e-f)
u*g*i*d/b*h/((z*(e*l-c)+w)*q-(a)/v)*f
a/n/e*(d*(y/b*p*(k/s/w/((m/(v/j/i)*t))))-q/g)/c*r
(a/(((l*((((f*b*r*h))*n/q)-(s/o-(v)*c*t))*x)+d)/i/j))
(((i/((m/(y*q*o/g/w/r-k)+u*n)+b*((x/f*((l-(a/e))/j))))))*t*d-c*h)
k/(t/x/((e/j*a/d*r*m-i)*n*f-q*(h-v*c*(l+o))*g)+u*s*p)
f/((t*(v/j*(c*y/(g/(l-(m*(z*i*(q*d*x)))/o)-n-p-b)/e))+k)+u*w-h*a)
((i*n*p/v/j*x/(u*b*(q-r/(h/t/a/(l+(c+(e/f))-k)/z))+y/o-d/s)-g))-m
d*((((z/f/r*(p*l/(e-m*((i/w*h)*k/(x/c+g))+(o)-n)))/j)))/b
(b/p*((((t*(v/a*y/((e*j/m)-(s/z-r+(h-(n))))*u/i)+d)))))
a/d*v*l/(e/y/x*(q/z-s)/p/j)
b/a/(v/(w*g/i*q/j*(((l-c)))-(d/(y/(m)*f)+o+p)*s))/(x)-r

Sample output:

kr/vgop*d*q/lzn*+hy/w*-j-x+ia*+c*s+*m//b/*u/e-f-/
ug*i*d*b/h*zel*c-*w+q*av/-/f*
an/e/dyb/p*ks/w/mvj/i//t*/**qg/-*c/r*
alfb*r*h*n*q/so/vc*t*--*x*d+i/j//
imyq*o*g/w/r/k-/un*+bxf/lae/-j/**+/t*d*ch*-
ktx/ej/a*d/r*m*i-n*f*qhvc*lo+*-*g*-/us*p*+/
ftvj/cy*glmzi*qd*x***o/-/n-p-b-/e/**k+uw*+ha*-/
in*p*v/j/x*ub*qrht/a/lcef/++k-/z//-*yo/+ds/-/g-m-
dzf/r/pl*emiw/h*k*xc/g+/*-o+n-/*j/*b/
bp/tva/y*ej*m/sz/r-hn-+-/u*i/*d+*
ad/v*l*ey/x/qz/s-*p/j//
ba/vwg*i/q*j/lc-*dym/f*/o+p+s*-//x/r-

Sample input:_

(m/k/((f/r/q*o/i/x/c)-h/(((u-n+v*g/b)-w)-e-(l*z))-s*a)+t*j)
m*k/((l/d/((v*w/(z/i+(h))/s*x))))
(c*q/t/(n/v/e*f*m/h/s-(a))*((p))+((x*g)+y/(b*z*(o/(j*d/l)))/r)*w)
d/x/m*b*q*n/u/r/(w/y-(o+k+z/(c)*p)/f-e/a)
((g*h/((k*f/v*(z*t*l-(y*x/s)*o*(i/(m/(q)+a*w*(u*c*d)))/p*j)))))-r
((((m*n*w*(o/((u/a*q)+d+f)-(p)*h*r+c*i))))/(k)+(b))+s
j/((x/h*((z*a*p*f*t*(((o))/u*q)/(w*i*(r)*c/b)))/e))-d
(y*j/u/(k/(w*(n*g*d*(v/o/q)*(r-h/s/f*z)+t*m))/e))
(w/n*(((v/((q/a/f/j)+x*t*b*(((y)/l/p*k-d+u)/e)/m*g)/(o*r/i/c))-s))/h)-z
(j/(((((z*c*p*i*(o/x-(h*g/t-a/e/b*(n-y))))*l*k+s+v)))*d*w))
((y*(u*v/(h*b*e/i*j)*f)*(k))*g)
((u*o*(r/y*e*(p*s/(h)*b-(j))*d+l/f)))-(i)

Sample output:

mk/fr/q/o*i/x/c/hun-vg*b/+w-e-lz*-/-sa*-/tj*+
mk*ld/vw*zi/h+/s/x*//
cq*t/nv/e/f*m*h/s/a-/p*xg*ybz*ojd*l//*/r/+w*+
dx/m/b*q*n*u/r/wy/ok+zc/p*+f/-ea/-/
gh*kf*v/zt*l*yx*s/o*imq/aw*uc*d**+/*p/j*-*/r-
mn*w*oua/q*d+f+/ph*r*-ci*+*k/b+s+
jxh/za*p*f*t*ou/q**wi*r*c*b//*e//d-
yj*u/kwng*d*vo/q/*rhs/f/z*-*tm*+*/e//
wn/vqa/f/j/xt*b*yl/p/k*d-u+e/*m/g*+/or*i/c//s-*h/z-
jzc*p*i*ox/hg*t/ae/b/ny-*--*l*k*s+v+d*w*/
yuv*hb*e*i/j*/f**k*g*
uo*ry/e*ps*h/b*j-*d*lf/+*i-

Ranking

Ruby _

RankUserSizeTimeDateStatistics
1flagitious590.112907/12/26 04:57:130B / ?B / ?B
2kinaba590.105808/01/06 15:30:380B / 35B / 18B
3leonid600.004110/01/20 14:36:440B / 40B / 15B
4jacknero630.094008/07/31 15:41:012B / ?B / ?B
5shinh1051.711807/03/02 05:10:060B / 14B / 86B
6flagitious(alnum)1380.178708/09/30 14:29:110B / 123B / 0B
7niha2520.357507/02/28 02:13:460B / 107B / 132B

Perl _

RankUserSizeTimeDateStatistics
1tybalt89720.012210/08/12 00:22:470B / ?B / ?B
2ySas1020.401608/01/22 16:10:040B / 27B / 73B
3ySas(inspired by kinaba)1120.563607/03/02 00:09:050B / 55B / 55B

Python _

RankUserSizeTimeDateStatistics
1SeeNoEvil1880.362207/03/30 18:56:590B / 84B / 75B
2hallvabo2160.153708/12/29 01:39:110B / 85B / 96B
3zetamatta2690.120708/01/06 04:10:200B / 142B / 89B

Scheme _

RankUserSizeTimeDateStatistics
1ma2360.673107/03/02 15:04:340B / ?B / ?B

Common LISP _

RankUserSizeTimeDateStatistics
1kozima2380.554508/01/07 14:25:580B / 110B / 114B

JavaScript _

RankUserSizeTimeDateStatistics
1nn1760.209808/10/18 23:34:560B / ?B / ?B
2nn(1.9)1790.017110/03/16 22:11:310B / 56B / 120B
3murky-satyr1870.154808/05/24 02:02:490B / 77B / 107B

Smalltalk _

RankUserSizeTimeDateStatistics
1murky-satyr2930.714808/04/10 22:12:110B / 158B / 122B

Prolog _

RankUserSizeTimeDateStatistics
1mskzzzz2610.407907/05/10 21:29:480B / 129B / 126B

C _

RankUserSizeTimeDateStatistics
1flagitious1050.064208/01/05 04:45:310B / 60B / 45B
2hinoe1250.182907/06/24 16:01:490B / 65B / 60B
3ozy4dm1330.084607/03/29 10:48:170B / 69B / 64B
47gyou1330.048808/01/13 05:36:280B / 66B / 67B
551b1540.059408/01/26 17:47:590B / 65B / 89B
6kinaba1720.074707/03/03 11:07:050B / ?B / ?B
7RiSK2180.065907/02/28 15:32:160B / 112B / 103B

D _

RankUserSizeTimeDateStatistics
151b1900.085709/09/21 21:51:590B / 108B / 78B

OCaml _

RankUserSizeTimeDateStatistics
1ksk2390.402607/03/06 17:09:230B / 131B / 85B
2suiginto2760.368207/03/04 21:49:370B / 142B / 109B
3m.ukai4481.077907/03/02 19:27:200B / 219B / 174B

Haskell _

RankUserSizeTimeDateStatistics
1rst761660.002010/01/20 11:36:050B / 79B / 69B
2Magnus Jonsson1860.104707/04/26 09:47:320B / 85B / 95B
3tanakh1910.101607/03/07 11:42:000B / ?B / ?B
4emoken2030.100407/03/04 06:06:010B / ?B / ?B
5_2080.121207/03/02 11:55:280B / 73B / 121B

Ada _

RankUserSizeTimeDateStatistics
1D3460.183907/04/10 18:46:460B / 218B / 102B

Java _

RankUserSizeTimeDateStatistics
1nattow4861.202007/04/03 10:31:140B / 234B / 236B

AWK _

RankUserSizeTimeDateStatistics
1nn1980.041808/10/19 20:23:300B / 61B / 133B

sed _

RankUserSizeTimeDateStatistics
1emoken2690.386207/03/11 00:33:510B / 43B / 199B

wake _

RankUserSizeTimeDateStatistics
1emoken1310.031210/07/24 14:31:560B / 18B / 107B

Postscript _

RankUserSizeTimeDateStatistics
1ySas1310.574908/01/07 14:14:4644B / 35B / 50B
2yshl(bin)1420.494908/01/08 15:40:3754B / 44B / 42B
3yshl2040.608108/01/08 15:40:220B / 128B / 42B

Whitespace _

RankUserSizeTimeDateStatistics
1flagitious2560.396808/01/04 13:38:380B / 0B / 0B

Befunge _

RankUserSizeTimeDateStatistics
1flagitious861.085108/01/04 14:53:330B / 36B / 40B

GolfScript _

RankUserSizeTimeDateStatistics
1flagitious661.948608/01/04 08:46:490B / 20B / 46B

Unlambda _

RankUserSizeTimeDateStatistics
1irori7040.020907/04/01 22:08:240B / 337B / 367B

z80 _

RankUserSizeTimeDateStatistics
1kodera441.134208/01/07 01:54:3526B / 8B / 8B

goruby _

RankUserSizeTimeDateStatistics
1shinh400.213508/01/09 03:17:530B / 18B / 18B
2flagitious540.135408/01/09 02:03:330B / 37B / 10B
3kinaba600.142608/01/08 17:48:410B / 35B / 19B
4flagitious(alnum)620.108408/01/09 04:06:520B / 51B / 1B
5shinh(alnum)620.154708/01/09 04:31:230B / 51B / 1B

Groovy _

RankUserSizeTimeDateStatistics
1murky-satyr1553.633409/12/16 07:51:160B / 67B / 83B

Language Ranking_

RankLangUserSizeScore
1gorubyshinh4010000
2z80kodera449090
3Rubyflagitious596779
4GolfScriptflagitious666060
5Perltybalt89725555
6Befungeflagitious864651
7Cflagitious1053809
8PostscriptySas1313053
9wakeemoken1313053
10Groovymurky-satyr1552580
11Haskellrst761662409
12JavaScriptnn1762272
13PythonSeeNoEvil1882127
14D51b1902105
15AWKnn1982020
16Schemema2361694
17Common LISPkozima2381680
18OCamlksk2391673
19Whitespaceflagitious2561562
20Prologmskzzzz2611532
21sedemoken2691486
22Smalltalkmurky-satyr2931365
23AdaD3461156
24Javanattow486823
25Unlambdairori704568

Referer

Note that, they may contain spoilers.

return top