next-token: {u0 def "def"} next-token: {u0 NAME "thing"} next-token: {u0 lparen "("} next-token: {u0 NAME "a"} next-token: {u0 comma ","} next-token: {u0 NAME "b"} next-token: {u0 rparen ")"} next-token: {u0 colon ":"} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 INDENT ""} next-token: {u0 for "for"} next-token: {u0 NAME "x"} next-token: {u0 comma ","} next-token: {u0 NAME "y"} next-token: {u0 in "in"} next-token: {u0 NAME "z"} next-token: {u0 colon ":"} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 INDENT ""} next-token: {u0 NAME "x"} next-token: {u0 equals "="} next-token: {u0 NAME "x"} next-token: {u0 plus "+"} next-token: {u0 NAME "y"} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 break "break"} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 DEDENT ""} next-token: {u0 else "else"} next-token: {u0 colon ":"} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 INDENT ""} next-token: {u0 raise "raise"} next-token: {u0 NAME "Glerk"} next-token: {u0 lparen "("} next-token: {u0 rparen ")"} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 DEDENT ""} next-token: {u0 DEDENT ""} next-token: {u0 NEWLINE "\0x0a"} next-token: {u0 <$> "<$>"} next-token: {u0 eof "eof"} {u0 file_input ({u0 file_input_c_0_s_o ({u0 stmt ({u0 compound_stmt ({u0 funcdef ({u1 def "def"} {u1 NAME "thing"} {u1 lparen "("} {u0 funcdef_c_3_q ({u0 varargslist ({u1 NAME "a"} {u0 varargslist_c_1_s1 ({u1 comma ","} {u1 NAME "b"} {u0 varargslist_c_1_s1 ()})} {u0 varargslist_c_2_q ()})})} {u1 rparen ")"} {u1 colon ":"} {u0 suite ({u1 NEWLINE "\0x0a"} {u1 INDENT ""} {u0 suite_o_1_c_2_s1 ({u0 stmt ({u0 compound_stmt ({u0 for_stmt ({u1 for "for"} {u0 exprlist ({u0 expr ({u0 xor_expr ({u0 and_expr ({u0 shift_expr ({u0 arith_expr ({u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "x"})} {u0 power_c_1_s1 ()} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ()})} {u0 shift_expr_c_1_s1 ()})} {u0 and_expr_c_1_s1 ()})} {u0 xor_expr_c_1_s1 ()})} {u0 expr_c_1_s1 ()})} {u0 exprlist_c_1_s1 ({u1 comma ","} {u0 expr ({u0 xor_expr ({u0 and_expr ({u0 shift_expr ({u0 arith_expr ({u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "y"})} {u0 power_c_1_s1 ()} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ()})} {u0 shift_expr_c_1_s1 ()})} {u0 and_expr_c_1_s1 ()})} {u0 xor_expr_c_1_s1 ()})} {u0 expr_c_1_s1 ()})} {u0 exprlist_c_1_s1 ()})} {u0 exprlist_c_2_q ()})} {u1 in "in"} {u0 testlist ({u0 test ({u0 or_test ({u0 and_test ({u0 not_test ({u0 comparison ({u0 expr ({u0 xor_expr ({u0 and_expr ({u0 shift_expr ({u0 arith_expr ({u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "z"})} {u0 power_c_1_s1 ()} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ()})} {u0 shift_expr_c_1_s1 ()})} {u0 and_expr_c_1_s1 ()})} {u0 xor_expr_c_1_s1 ()})} {u0 expr_c_1_s1 ()})} {u0 comparison_c_1_s1 ()})})} {u0 and_test_c_1_s1 ()})} {u0 or_test_c_1_s1 ()})})} {u0 testlist_c_1_s1 ()} {u0 testlist_c_2_q ()})} {u1 colon ":"} {u0 suite ({u1 NEWLINE "\0x0a"} {u1 INDENT ""} {u0 suite_o_1_c_2_s1 ({u0 stmt ({u0 simple_stmt ({u0 small_stmt ({u0 expr_stmt ({u0 testlist ({u0 test ({u0 or_test ({u0 and_test ({u0 not_test ({u0 comparison ({u0 expr ({u0 xor_expr ({u0 and_expr ({u0 shift_expr ({u0 arith_expr ({u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "x"})} {u0 power_c_1_s1 ()} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ()})} {u0 shift_expr_c_1_s1 ()})} {u0 and_expr_c_1_s1 ()})} {u0 xor_expr_c_1_s1 ()})} {u0 expr_c_1_s1 ()})} {u0 comparison_c_1_s1 ()})})} {u0 and_test_c_1_s1 ()})} {u0 or_test_c_1_s1 ()})})} {u0 testlist_c_1_s1 ()} {u0 testlist_c_2_q ()})} {u0 expr_stmt_c_1_s1 ({u1 equals "="} {u0 testlist ({u0 test ({u0 or_test ({u0 and_test ({u0 not_test ({u0 comparison ({u0 expr ({u0 xor_expr ({u0 and_expr ({u0 shift_expr ({u0 arith_expr ({u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "x"})} {u0 power_c_1_s1 ()} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ({u0 arith_expr_c_1_s_c_0_o ({u1 plus "+"})} {u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "y"})} {u0 power_c_1_s1 ()} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ()})})} {u0 shift_expr_c_1_s1 ()})} {u0 and_expr_c_1_s1 ()})} {u0 xor_expr_c_1_s1 ()})} {u0 expr_c_1_s1 ()})} {u0 comparison_c_1_s1 ()})})} {u0 and_test_c_1_s1 ()})} {u0 or_test_c_1_s1 ()})})} {u0 testlist_c_1_s1 ()} {u0 testlist_c_2_q ()})} {u0 expr_stmt_c_1_s1 ()})})})} {u0 simple_stmt_c_1_s1 ()} {u0 simple_stmt_c_2_q ()} {u1 NEWLINE "\0x0a"})})} {u0 suite_o_1_c_2_s1 ({u0 stmt ({u0 simple_stmt ({u0 small_stmt ({u0 flow_stmt ({u0 break_stmt ({u1 break "break"})})})} {u0 simple_stmt_c_1_s1 ()} {u0 simple_stmt_c_2_q ()} {u1 NEWLINE "\0x0a"})})})})} {u1 DEDENT ""})} {u0 for_stmt_c_6_q ({u1 else "else"} {u1 colon ":"} {u0 suite ({u1 NEWLINE "\0x0a"} {u1 INDENT ""} {u0 suite_o_1_c_2_s1 ({u0 stmt ({u0 simple_stmt ({u0 small_stmt ({u0 flow_stmt ({u0 raise_stmt ({u1 raise "raise"} {u0 raise_stmt_c_1_q ({u0 testlist ({u0 test ({u0 or_test ({u0 and_test ({u0 not_test ({u0 comparison ({u0 expr ({u0 xor_expr ({u0 and_expr ({u0 shift_expr ({u0 arith_expr ({u0 term ({u0 factor ({u0 power ({u0 atom ({u1 NAME "Glerk"})} {u0 power_c_1_s1 ({u0 trailer ({u1 lparen "("} {u0 trailer_o_0_c_1_q ()} {u1 rparen ")"})} {u0 power_c_1_s1 ()})} {u0 power_c_2_s1 ()})})} {u0 term_c_1_s1 ()})} {u0 arith_expr_c_1_s1 ()})} {u0 shift_expr_c_1_s1 ()})} {u0 and_expr_c_1_s1 ()})} {u0 xor_expr_c_1_s1 ()})} {u0 expr_c_1_s1 ()})} {u0 comparison_c_1_s1 ()})})} {u0 and_test_c_1_s1 ()})} {u0 or_test_c_1_s1 ()})})} {u0 testlist_c_1_s1 ()} {u0 testlist_c_2_q ()})})})})})} {u0 simple_stmt_c_1_s1 ()} {u0 simple_stmt_c_2_q ()} {u1 NEWLINE "\0x0a"})})})} {u1 DEDENT ""})})})})})})} {u1 DEDENT ""})})})})})} {u0 file_input ({u0 file_input_c_0_s_o ({u1 NEWLINE "\0x0a"})} {u0 file_input ()})})} file_input file_input_c_0_s_o stmt compound_stmt funcdef def "def" NAME "thing" lparen "(" funcdef_c_3_q varargslist NAME "a" varargslist_c_1_s1 comma "," NAME "b" varargslist_c_1_s1 varargslist_c_2_q rparen ")" colon ":" suite NEWLINE "\0x0a" INDENT "" suite_o_1_c_2_s1 stmt compound_stmt for_stmt for "for" exprlist expr xor_expr and_expr shift_expr arith_expr term factor power atom NAME "x" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 shift_expr_c_1_s1 and_expr_c_1_s1 xor_expr_c_1_s1 expr_c_1_s1 exprlist_c_1_s1 comma "," expr xor_expr and_expr shift_expr arith_expr term factor power atom NAME "y" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 shift_expr_c_1_s1 and_expr_c_1_s1 xor_expr_c_1_s1 expr_c_1_s1 exprlist_c_1_s1 exprlist_c_2_q in "in" testlist test or_test and_test not_test comparison expr xor_expr and_expr shift_expr arith_expr term factor power atom NAME "z" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 shift_expr_c_1_s1 and_expr_c_1_s1 xor_expr_c_1_s1 expr_c_1_s1 comparison_c_1_s1 and_test_c_1_s1 or_test_c_1_s1 testlist_c_1_s1 testlist_c_2_q colon ":" suite NEWLINE "\0x0a" INDENT "" suite_o_1_c_2_s1 stmt simple_stmt small_stmt expr_stmt testlist test or_test and_test not_test comparison expr xor_expr and_expr shift_expr arith_expr term factor power atom NAME "x" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 shift_expr_c_1_s1 and_expr_c_1_s1 xor_expr_c_1_s1 expr_c_1_s1 comparison_c_1_s1 and_test_c_1_s1 or_test_c_1_s1 testlist_c_1_s1 testlist_c_2_q expr_stmt_c_1_s1 equals "=" testlist test or_test and_test not_test comparison expr xor_expr and_expr shift_expr arith_expr term factor power atom NAME "x" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 arith_expr_c_1_s_c_0_o plus "+" term factor power atom NAME "y" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 shift_expr_c_1_s1 and_expr_c_1_s1 xor_expr_c_1_s1 expr_c_1_s1 comparison_c_1_s1 and_test_c_1_s1 or_test_c_1_s1 testlist_c_1_s1 testlist_c_2_q expr_stmt_c_1_s1 simple_stmt_c_1_s1 simple_stmt_c_2_q NEWLINE "\0x0a" suite_o_1_c_2_s1 stmt simple_stmt small_stmt flow_stmt break_stmt break "break" simple_stmt_c_1_s1 simple_stmt_c_2_q NEWLINE "\0x0a" DEDENT "" for_stmt_c_6_q else "else" colon ":" suite NEWLINE "\0x0a" INDENT "" suite_o_1_c_2_s1 stmt simple_stmt small_stmt flow_stmt raise_stmt raise "raise" raise_stmt_c_1_q testlist test or_test and_test not_test comparison expr xor_expr and_expr shift_expr arith_expr term factor power atom NAME "Glerk" power_c_1_s1 trailer lparen "(" trailer_o_0_c_1_q rparen ")" power_c_1_s1 power_c_2_s1 term_c_1_s1 arith_expr_c_1_s1 shift_expr_c_1_s1 and_expr_c_1_s1 xor_expr_c_1_s1 expr_c_1_s1 comparison_c_1_s1 and_test_c_1_s1 or_test_c_1_s1 testlist_c_1_s1 testlist_c_2_q simple_stmt_c_1_s1 simple_stmt_c_2_q NEWLINE "\0x0a" DEDENT "" DEDENT "" file_input file_input_c_0_s_o NEWLINE "\0x0a" file_input (item:nt file_input ((item:nt file_input_c_0_s_o ((item:nt stmt ((item:nt compound_stmt ((item:nt funcdef ((item:t def "def") (item:t NAME "thing") (item:t lparen "(") (item:nt funcdef_c_3_q ((item:nt varargslist ((item:t NAME "a") (item:nt varargslist_c_1_s1 ((item:t comma ",") (item:t NAME "b") (item:nt varargslist_c_1_s1 ()) )) (item:nt varargslist_c_2_q ()) )) )) (item:t rparen ")") (item:t colon ":") (item:nt suite ((item:t NEWLINE " ") (item:t INDENT "") (item:nt suite_o_1_c_2_s1 ((item:nt stmt ((item:nt compound_stmt ((item:nt for_stmt ((item:t for "for") (item:nt exprlist ((item:nt expr ((item:nt xor_expr ((item:nt and_expr ((item:nt shift_expr ((item:nt arith_expr ((item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "x") )) (item:nt power_c_1_s1 ()) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ()) )) (item:nt shift_expr_c_1_s1 ()) )) (item:nt and_expr_c_1_s1 ()) )) (item:nt xor_expr_c_1_s1 ()) )) (item:nt expr_c_1_s1 ()) )) (item:nt exprlist_c_1_s1 ((item:t comma ",") (item:nt expr ((item:nt xor_expr ((item:nt and_expr ((item:nt shift_expr ((item:nt arith_expr ((item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "y") )) (item:nt power_c_1_s1 ()) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ()) )) (item:nt shift_expr_c_1_s1 ()) )) (item:nt and_expr_c_1_s1 ()) )) (item:nt xor_expr_c_1_s1 ()) )) (item:nt expr_c_1_s1 ()) )) (item:nt exprlist_c_1_s1 ()) )) (item:nt exprlist_c_2_q ()) )) (item:t in "in") (item:nt testlist ((item:nt test ((item:nt or_test ((item:nt and_test ((item:nt not_test ((item:nt comparison ((item:nt expr ((item:nt xor_expr ((item:nt and_expr ((item:nt shift_expr ((item:nt arith_expr ((item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "z") )) (item:nt power_c_1_s1 ()) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ()) )) (item:nt shift_expr_c_1_s1 ()) )) (item:nt and_expr_c_1_s1 ()) )) (item:nt xor_expr_c_1_s1 ()) )) (item:nt expr_c_1_s1 ()) )) (item:nt comparison_c_1_s1 ()) )) )) (item:nt and_test_c_1_s1 ()) )) (item:nt or_test_c_1_s1 ()) )) )) (item:nt testlist_c_1_s1 ()) (item:nt testlist_c_2_q ()) )) (item:t colon ":") (item:nt suite ((item:t NEWLINE " ") (item:t INDENT "") (item:nt suite_o_1_c_2_s1 ((item:nt stmt ((item:nt simple_stmt ((item:nt small_stmt ((item:nt expr_stmt ((item:nt testlist ((item:nt test ((item:nt or_test ((item:nt and_test ((item:nt not_test ((item:nt comparison ((item:nt expr ((item:nt xor_expr ((item:nt and_expr ((item:nt shift_expr ((item:nt arith_expr ((item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "x") )) (item:nt power_c_1_s1 ()) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ()) )) (item:nt shift_expr_c_1_s1 ()) )) (item:nt and_expr_c_1_s1 ()) )) (item:nt xor_expr_c_1_s1 ()) )) (item:nt expr_c_1_s1 ()) )) (item:nt comparison_c_1_s1 ()) )) )) (item:nt and_test_c_1_s1 ()) )) (item:nt or_test_c_1_s1 ()) )) )) (item:nt testlist_c_1_s1 ()) (item:nt testlist_c_2_q ()) )) (item:nt expr_stmt_c_1_s1 ((item:t equals "=") (item:nt testlist ((item:nt test ((item:nt or_test ((item:nt and_test ((item:nt not_test ((item:nt comparison ((item:nt expr ((item:nt xor_expr ((item:nt and_expr ((item:nt shift_expr ((item:nt arith_expr ((item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "x") )) (item:nt power_c_1_s1 ()) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ((item:nt arith_expr_c_1_s_c_0_o ((item:t plus "+") )) (item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "y") )) (item:nt power_c_1_s1 ()) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ()) )) )) (item:nt shift_expr_c_1_s1 ()) )) (item:nt and_expr_c_1_s1 ()) )) (item:nt xor_expr_c_1_s1 ()) )) (item:nt expr_c_1_s1 ()) )) (item:nt comparison_c_1_s1 ()) )) )) (item:nt and_test_c_1_s1 ()) )) (item:nt or_test_c_1_s1 ()) )) )) (item:nt testlist_c_1_s1 ()) (item:nt testlist_c_2_q ()) )) (item:nt expr_stmt_c_1_s1 ()) )) )) )) (item:nt simple_stmt_c_1_s1 ()) (item:nt simple_stmt_c_2_q ()) (item:t NEWLINE " ") )) )) (item:nt suite_o_1_c_2_s1 ((item:nt stmt ((item:nt simple_stmt ((item:nt small_stmt ((item:nt flow_stmt ((item:nt break_stmt ((item:t break "break") )) )) )) (item:nt simple_stmt_c_1_s1 ()) (item:nt simple_stmt_c_2_q ()) (item:t NEWLINE " ") )) )) )) )) (item:t DEDENT "") )) (item:nt for_stmt_c_6_q ((item:t else "else") (item:t colon ":") (item:nt suite ((item:t NEWLINE " ") (item:t INDENT "") (item:nt suite_o_1_c_2_s1 ((item:nt stmt ((item:nt simple_stmt ((item:nt small_stmt ((item:nt flow_stmt ((item:nt raise_stmt ((item:t raise "raise") (item:nt raise_stmt_c_1_q ((item:nt testlist ((item:nt test ((item:nt or_test ((item:nt and_test ((item:nt not_test ((item:nt comparison ((item:nt expr ((item:nt xor_expr ((item:nt and_expr ((item:nt shift_expr ((item:nt arith_expr ((item:nt term ((item:nt factor ((item:nt power ((item:nt atom ((item:t NAME "Glerk") )) (item:nt power_c_1_s1 ((item:nt trailer ((item:t lparen "(") (item:nt trailer_o_0_c_1_q ()) (item:t rparen ")") )) (item:nt power_c_1_s1 ()) )) (item:nt power_c_2_s1 ()) )) )) (item:nt term_c_1_s1 ()) )) (item:nt arith_expr_c_1_s1 ()) )) (item:nt shift_expr_c_1_s1 ()) )) (item:nt and_expr_c_1_s1 ()) )) (item:nt xor_expr_c_1_s1 ()) )) (item:nt expr_c_1_s1 ()) )) (item:nt comparison_c_1_s1 ()) )) )) (item:nt and_test_c_1_s1 ()) )) (item:nt or_test_c_1_s1 ()) )) )) (item:nt testlist_c_1_s1 ()) (item:nt testlist_c_2_q ()) )) )) )) )) )) (item:nt simple_stmt_c_1_s1 ()) (item:nt simple_stmt_c_2_q ()) (item:t NEWLINE " ") )) )) )) (item:t DEDENT "") )) )) )) )) )) )) (item:t DEDENT "") )) )) )) )) )) (item:nt file_input ((item:nt file_input_c_0_s_o ((item:t NEWLINE " ") )) (item:nt file_input ()) )) )) function thing ("a" "b") for sequence varref x varref y varref z sequence binary = varref x binary + varref x varref y break raise funcall varref Glerk {u10 "thing" ("a" "b") {u13 {u9 ({u2 "x"} {u2 "y"})} {u2 "z"} {u9 ({u3 "=" {u2 "x"} {u3 "+" {u2 "x"} {u2 "y"}}} )} {u17 {u5 {u2 "Glerk"} ()}}}}