1SOURCE_FILE@0..94 2 FN@0..93 3 FN_KW@0..2 "fn" 4 WHITESPACE@2..3 " " 5 NAME@3..7 6 IDENT@3..7 "main" 7 PARAM_LIST@7..9 8 L_PAREN@7..8 "(" 9 R_PAREN@8..9 ")" 10 WHITESPACE@9..10 " " 11 BLOCK_EXPR@10..93 12 STMT_LIST@10..93 13 L_CURLY@10..11 "{" 14 WHITESPACE@11..16 "\n " 15 LET_STMT@16..36 16 LET_KW@16..19 "let" 17 WHITESPACE@19..20 " " 18 TUPLE_PAT@20..30 19 L_PAREN@20..21 "(" 20 IDENT_PAT@21..22 21 NAME@21..22 22 IDENT@21..22 "a" 23 COMMA@22..23 "," 24 WHITESPACE@23..24 " " 25 IDENT_PAT@24..25 26 NAME@24..25 27 IDENT@24..25 "b" 28 COMMA@25..26 "," 29 WHITESPACE@26..27 " " 30 REST_PAT@27..29 31 DOT2@27..29 ".." 32 R_PAREN@29..30 ")" 33 WHITESPACE@30..31 " " 34 EQ@31..32 "=" 35 WHITESPACE@32..33 " " 36 TUPLE_EXPR@33..35 37 L_PAREN@33..34 "(" 38 R_PAREN@34..35 ")" 39 SEMICOLON@35..36 ";" 40 WHITESPACE@36..41 "\n " 41 LET_STMT@41..55 42 LET_KW@41..44 "let" 43 WHITESPACE@44..45 " " 44 TUPLE_PAT@45..49 45 L_PAREN@45..46 "(" 46 IDENT_PAT@46..47 47 NAME@46..47 48 IDENT@46..47 "a" 49 COMMA@47..48 "," 50 R_PAREN@48..49 ")" 51 WHITESPACE@49..50 " " 52 EQ@50..51 "=" 53 WHITESPACE@51..52 " " 54 TUPLE_EXPR@52..54 55 L_PAREN@52..53 "(" 56 R_PAREN@53..54 ")" 57 SEMICOLON@54..55 ";" 58 WHITESPACE@55..60 "\n " 59 LET_STMT@60..74 60 LET_KW@60..63 "let" 61 WHITESPACE@63..64 " " 62 TUPLE_PAT@64..68 63 L_PAREN@64..65 "(" 64 REST_PAT@65..67 65 DOT2@65..67 ".." 66 R_PAREN@67..68 ")" 67 WHITESPACE@68..69 " " 68 EQ@69..70 "=" 69 WHITESPACE@70..71 " " 70 TUPLE_EXPR@71..73 71 L_PAREN@71..72 "(" 72 R_PAREN@72..73 ")" 73 SEMICOLON@73..74 ";" 74 WHITESPACE@74..79 "\n " 75 LET_STMT@79..91 76 LET_KW@79..82 "let" 77 WHITESPACE@82..83 " " 78 TUPLE_PAT@83..85 79 L_PAREN@83..84 "(" 80 R_PAREN@84..85 ")" 81 WHITESPACE@85..86 " " 82 EQ@86..87 "=" 83 WHITESPACE@87..88 " " 84 TUPLE_EXPR@88..90 85 L_PAREN@88..89 "(" 86 R_PAREN@89..90 ")" 87 SEMICOLON@90..91 ";" 88 WHITESPACE@91..92 "\n" 89 R_CURLY@92..93 "}" 90 WHITESPACE@93..94 "\n" 91