module lpbaspar. accumulate lpbasicgram. first (stat _273) begint. first (stat _273) lett. first (stat _273) whilet. first (stat _273) ift. first (astat _1058) (id _1094). first (stat _273) (id _1094). first (stat _273) printt. first (exp _969) lparen. first (exp _918) nott. first (exp _444) (id _453). first (exp _402) (sconst _411). first (exp _360) (iconst _369). first (statlist _264) printt. first (statlist _264) (id _1094). first (statlist _264) ift. first (statlist _264) whilet. first (statlist _264) lett. first (statlist _264) begint. first X X :- terminal X. parse [stat _6519,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: semicolon :: begint :: nil), first (semicolon) A, !, parse [A,stat _6519,B|Alpha] Beta Result Str. parse [semicolon,stat _6519,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: semicolon :: begint :: nil), first (statlist _6531) A, !, parse [A,semicolon,stat _6519,B|Alpha] Beta Result Str. parse [exp _6698,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (plust) A, !, parse [A,exp _6698,B|Alpha] Beta Result Str. parse [plust,exp _6698,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6710) A, !, parse [A,plust,exp _6698,B|Alpha] Beta Result Str. parse [exp _6752,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (minust) A, !, parse [A,exp _6752,B|Alpha] Beta Result Str. parse [minust,exp _6752,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6764) A, !, parse [A,minust,exp _6752,B|Alpha] Beta Result Str. parse [exp _6806,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (timest) A, !, parse [A,exp _6806,B|Alpha] Beta Result Str. parse [timest,exp _6806,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6818) A, !, parse [A,timest,exp _6806,B|Alpha] Beta Result Str. parse [exp _6860,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (dividet) A, !, parse [A,exp _6860,B|Alpha] Beta Result Str. parse [dividet,exp _6860,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6872) A, !, parse [A,dividet,exp _6860,B|Alpha] Beta Result Str. parse [exp _6914,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (andt) A, !, parse [A,exp _6914,B|Alpha] Beta Result Str. parse [andt,exp _6914,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6926) A, !, parse [A,andt,exp _6914,B|Alpha] Beta Result Str. parse [exp _6968,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (ort) A, !, parse [A,exp _6968,B|Alpha] Beta Result Str. parse [ort,exp _6968,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6980) A, !, parse [A,ort,exp _6968,B|Alpha] Beta Result Str. parse [exp _6968,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (eqt) A, !, parse [A,exp _6968,B|Alpha] Beta Result Str. parse [eqt,exp _6968,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6980) A, !, parse [A,eqt,exp _6968,B|Alpha] Beta Result Str. parse [exp _7076,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (lesst) A, !, parse [A,exp _7076,B|Alpha] Beta Result Str. parse [lesst,exp _7076,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _7088) A, !, parse [A,lesst,exp _7076,B|Alpha] Beta Result Str. parse [nott,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (lparen) A, !, parse [A,nott,B|Alpha] Beta Result Str. parse [lparen,nott,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _7136) A, !, parse [A,lparen,nott,B|Alpha] Beta Result Str. parse [exp _7136,lparen,nott,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (rparen) A, !, parse [A,exp _7136,lparen,nott,B|Alpha] Beta Result Str. parse [lparen,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (exp _6564) A, !, parse [A,lparen,B|Alpha] Beta Result Str. parse [exp _6564,lparen,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), first (rparen) A, !, parse [A,exp _6564,lparen,B|Alpha] Beta Result Str. parse [printt,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _80185 :: intok :: elset :: nil), first (exp _7220) A, !, parse [A,printt,B|Alpha] Beta Result Str. parse [id _7298,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _84132 :: intok :: elset :: lett :: nil), first (assignt) A, !, parse [A,id _7298,B|Alpha] Beta Result Str. parse [assignt,id _7298,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _84132 :: intok :: elset :: lett :: nil), first (exp _7310) A, !, parse [A,assignt,id _7298,B|Alpha] Beta Result Str. parse [ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _86417 :: intok :: elset :: nil), first (exp _7360) A, !, parse [A,ift,B|Alpha] Beta Result Str. parse [exp _7360,ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _86417 :: intok :: elset :: nil), first (thent) A, !, parse [A,exp _7360,ift,B|Alpha] Beta Result Str. parse [thent,exp _7360,ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _86417 :: intok :: elset :: nil), first (stat _7372) A, !, parse [A,thent,exp _7360,ift,B|Alpha] Beta Result Str. parse [ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _88360 :: intok :: elset :: nil), first (exp _7417) A, !, parse [A,ift,B|Alpha] Beta Result Str. parse [exp _7417,ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _88360 :: intok :: elset :: nil), first (thent) A, !, parse [A,exp _7417,ift,B|Alpha] Beta Result Str. parse [thent,exp _7417,ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _88360 :: intok :: elset :: nil), first (stat _7428) A, !, parse [A,thent,exp _7417,ift,B|Alpha] Beta Result Str. parse [stat _7428,thent,exp _7417,ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _88360 :: intok :: elset :: nil), first (elset) A, !, parse [A,stat _7428,thent,exp _7417,ift,B|Alpha] Beta Result Str. parse [elset,stat _7428,thent,exp _7417,ift,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _88360 :: intok :: elset :: nil), first (stat _7440) A, !, parse [A,elset,stat _7428,thent,exp _7417,ift,B|Alpha] Beta Result Str. parse [whilet,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _90303 :: intok :: elset :: nil), first (exp _7486) A, !, parse [A,whilet,B|Alpha] Beta Result Str. parse [exp _7486,whilet,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _90303 :: intok :: elset :: nil), first (stat _7495) A, !, parse [A,exp _7486,whilet,B|Alpha] Beta Result Str. parse [lett,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _92246 :: intok :: elset :: nil), first (astat _7540) A, !, parse [A,lett,B|Alpha] Beta Result Str. parse [astat _7540,lett,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _92246 :: intok :: elset :: nil), first (intok) A, !, parse [A,astat _7540,lett,B|Alpha] Beta Result Str. parse [intok,astat _7540,lett,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _92246 :: intok :: elset :: nil), first (stat _7552) A, !, parse [A,intok,astat _7540,lett,B|Alpha] Beta Result Str. parse [begint,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _94189 :: intok :: elset :: nil), first (statlist _7591) A, !, parse [A,begint,B|Alpha] Beta Result Str. parse [statlist _7591,begint,B|Alpha] [A|Beta] Result "shift" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _94189 :: intok :: elset :: nil), first (endt) A, !, parse [A,statlist _7591,begint,B|Alpha] Beta Result Str. parse [bofs] [A|B] R "shift" :- first (stat _116161) A, parse [A,bofs] B R Str. startparse START [bols] [A|B] R "shift" :- first (START) A, parse [A,bols] B R Str,!. parse [Sx,bofs] [eofs] Sx "accept" :- start_symbol Sx. parse [Sx,bols] [eols] Sx "accept" :- !. parse [stat _6477,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: semicolon :: begint :: nil), memb Sym (eols :: endt :: nil), first Sym A, !, (_6468 = _6477 :: nil), parse [statlist _6468,B|Alpha] [A|Beta] Result Str. parse [statlist _6531,semicolon,stat _6519,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: semicolon :: begint :: nil), memb Sym (eols :: endt :: nil), first Sym A, !, (_6468 = _6519 :: _6531), parse [statlist _6468,B|Alpha] [A|Beta] Result Str. parse [iconst _6573,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _13830 :: nil), first Sym A, !, (_6564 = intexp _6573), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [sconst _6615,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _19193 :: nil), first Sym A, !, (_6564 = strexp _6615), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [id _6657,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _24556 :: nil), first Sym A, !, (_6564 = varexp _6657), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6710,plust,exp _6698,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _29919 :: nil), first Sym A, !, (_6564 = sumexp _6698 _6710), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6764,minust,exp _6752,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _35282 :: nil), first Sym A, !, (_6564 = difexp _6752 _6764), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6818,timest,exp _6806,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _40645 :: nil), first Sym A, !, (_6564 = multexp _6806 _6818), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6872,dividet,exp _6860,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _46008 :: nil), first Sym A, !, (_6564 = divexp _6860 _6872), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6926,andt,exp _6914,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _51371 :: nil), first Sym A, !, (_6564 = andexp _6914 _6926), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6980,ort,exp _6968,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _56734 :: nil), first Sym A, !, (_6564 = orexp _6968 _6980), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _6980,eqt,exp _6968,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _62097 :: nil), first Sym A, !, (_6564 = eqexp _6968 _6980), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _7088,lesst,exp _7076,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _67460 :: nil), first Sym A, !, (_6564 = ineqexp _7076 _7088), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [rparen,exp _7136,lparen,nott,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _72823 :: nil), first Sym A, !, (_6564 = notexp _7136), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [rparen,exp _6564,lparen,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: lparen :: printt :: assignt :: ift :: whilet :: nil), memb Sym (eols :: plust :: minust :: timest :: dividet :: andt :: ort :: eqt :: lesst :: rparen :: eofs :: endt :: semicolon :: elset :: intok :: thent :: stat _78186 :: nil), first Sym A, !, (true), parse [exp _6564,B|Alpha] [A|Beta] Result Str. parse [exp _7220,printt,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _80185 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (_7208 = printst _7220), parse [stat _7208,B|Alpha] [A|Beta] Result Str. parse [astat _7262,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _82128 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (_7208 = _7262), parse [stat _7208,B|Alpha] [A|Beta] Result Str. parse [exp _7310,assignt,id _7298,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _84132 :: intok :: elset :: lett :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: intok :: nil), first Sym A, !, (_7290 = assignst (varexp _7298) _7310), parse [astat _7290,B|Alpha] [A|Beta] Result Str. parse [stat _7372,thent,exp _7360,ift,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _86417 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (_7349 = ifst _7360 _7372), parse [stat _7349,B|Alpha] [A|Beta] Result Str. parse [stat _7440,elset,stat _7428,thent,exp _7417,ift,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _88360 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (_7349 = ifelsest _7417 _7428 _7440), parse [stat _7349,B|Alpha] [A|Beta] Result Str. parse [stat _7495,exp _7486,whilet,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _90303 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (_7349 = whilest _7486 _7495), parse [stat _7349,B|Alpha] [A|Beta] Result Str. parse [stat _7552,intok,astat _7540,lett,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _92246 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (formlet _7540 _7552 _7349), parse [stat _7349,B|Alpha] [A|Beta] Result Str. parse [endt,statlist _7591,begint,B|Alpha] [A|Beta] Result "reduce" :- memb B (bols :: bofs :: semicolon :: begint :: thent :: exp _94189 :: intok :: elset :: nil), memb Sym (eols :: eofs :: endt :: semicolon :: elset :: nil), first Sym A, !, (_7349 = blockst _7591), parse [stat _7349,B|Alpha] [A|Beta] Result Str. parse V I R "error" :- !, finderrline V I,print "Remaining Input = ", print_tokens 10 I, !, fail.