introduction to parsing in this case the error location is slightly off--the error is that should have the form xbut it is still pretty good in the case of successful parse we get list of parseresults which has single result--as before we convert this to python list earlier we saw some example formulasnow we will look at some of them againthis time with the result lists produced by the parserpretty printed to help reveal their structure we mentioned before that the operator has lower precedence than the operator--so let' see if this is handled correctly by the parser ~true -~ ['~''true']'->'['~'[' ''='' '~true -~( ['~''true']'->'['~'[' ''='' 'here we get exactly the same results for both formulaswhich demonstrates that has higher precedence than of coursewe would need to write several more test formulas to check all the casesbut this at least looks promising two of the formulas that we saw earlier were forall xx true and (forall xx xtrueand we pointed out that although the only difference between them is the parenthesesthis is sufficient to make them different formulas here are the lists the parser produces for themforall xx true 'forall'' '[' ''='' ']'&''true(forall xx xtrue 'forall'' '[' ''='' ']'&''truethe parser is clearly able to distinguish between these two formulasand creates quite different parse trees (nested listswithout the parenthesesforall' formula is everything right of the colonbut with the parenthesesforall' scope is limited to within the parentheses but what about the two formulas that again are different only in that one has parenthesesbut where the parentheses don' matterso that the formulas are