Simuloidaan aritmeettista laskinta syötteellä (3+2)*4-7 Merkitään funktion parametrina jäljellä olevaa lauseketta. Pääohjelmassa siis kutsutaan E((3+2)*4-7); E((3+2)*4-7) op1=T((3+2)*4-7) op1=F((3+2)*4-7) next=='(' next=getnext op=E(3+2)*4-7) op1=T(3+2)*4-7) op1=F(3+2)*4-7) op=3 next=getnext return 3 /* F */ op1=3 return 3 /* T */ op1=3 next=='+' next=getnext op2=E(2)*4-7) op1=T(2)*4-7) op1=F(2)*4-7) op=2 next=getnext return 2 /* F */ op1=2 return 2 /* T */ op1=2 return 2 /* E */ return 3+2 /* E */ op=5 next==')' next=getnext return 5 /* F */ op1=5 next=='*' next=getnext op2=T(4-7) op1=F(4-7) op=4 next=getnext return 4 /* F */ op1=4 next!='*' return 4 /* T */ op2=4 return 5*4 /* T */ op1=20 next=='-' next=getnext op2=E(7) op1=T(7) op1=F(7) op=7 next=getnext return 7 /* F */ op1=7 next!='*' return 7 /* T */ op1=7 next!='+' ja next!='-' return 7 /* E */ op2=7 return 20-7 /* E */ Pääohjelmaan palautetaan siis arvo 13.