Just to followup on #parrotsketch reports earlier today. PGE is failing tests 34 and 35 in t/compilers/pge/03-optable.t in the pdd25cx branch. I did some checking on it and get some slightly bizarre results -- in particular, the results differ depending on whether the resulting PIR is run from the test script or standalone.
When doing "prove t/compilers/pge/03-optable.t", I get incorrect output, but when running the (generated) t/compilers/pge/03-optable_34.pir file directly, the output is correct. Output from "prove -v t/compilers/pge/03-optable.t", tests 34-35: # Failed test 'top-level stop token' # in t/compilers/pge/03-optable.t at line 179. # got: 'infix:;(circumfix:( )(infix:;(term:a, term:b)), term:d) # ' # expected: 'circumfix:( )(infix:;(term:a, term:b)) (pos=5) # ' not ok 34 - top-level stop token not ok 35 - top-level stop token # Failed test 'top-level stop token' # in t/compilers/pge/03-optable.t at line 179. # got: 'infix:;(infix:,(term:a, term:b), term:c) # ' # expected: 'infix:,(term:a, term:b) (pos=3) # ' Output from "parrot t/compilers/pge/03-optable_34.pir": circumfix:( )(infix:;(term:a, term:b)) (pos=5) Output from "parrot t/compilers/pge/03-optable_35.pir": infix:,(term:a, term:b) (pos=3) So, whatever is causing the test to produce the incorrect output is sensitive to how Parrot is being invoked. This leads me to believe it's not anything in PGE itself but rather something about Parrot. (In particular, the OPTable code isn't detecting the stop token for some reason.) Hope this helps, Pm