ra_ap_syntax 0.0.80

Comment and whitespace preserving parser for the Rust language
Documentation
SOURCE_FILE@0..106
  FN@0..105
    FN_KW@0..2 "fn"
    WHITESPACE@2..3 " "
    NAME@3..6
      IDENT@3..6 "foo"
    PARAM_LIST@6..8
      L_PAREN@6..7 "("
      R_PAREN@7..8 ")"
    WHITESPACE@8..9 " "
    BLOCK_EXPR@9..105
      STMT_LIST@9..105
        L_CURLY@9..10 "{"
        WHITESPACE@10..15 "\n    "
        LET_STMT@15..32
          LET_KW@15..18 "let"
          WHITESPACE@18..19 " "
          IDENT_PAT@19..20
            NAME@19..20
              IDENT@19..20 "x"
          WHITESPACE@20..21 " "
          EQ@21..22 "="
          WHITESPACE@22..23 " "
          BOX_EXPR@23..31
            BOX_KW@23..26 "box"
            WHITESPACE@26..27 " "
            LITERAL@27..31
              INT_NUMBER@27..31 "1i32"
          SEMICOLON@31..32 ";"
        WHITESPACE@32..37 "\n    "
        LET_STMT@37..66
          LET_KW@37..40 "let"
          WHITESPACE@40..41 " "
          IDENT_PAT@41..42
            NAME@41..42
              IDENT@41..42 "y"
          WHITESPACE@42..43 " "
          EQ@43..44 "="
          WHITESPACE@44..45 " "
          TUPLE_EXPR@45..65
            L_PAREN@45..46 "("
            BOX_EXPR@46..54
              BOX_KW@46..49 "box"
              WHITESPACE@49..50 " "
              LITERAL@50..54
                INT_NUMBER@50..54 "1i32"
            COMMA@54..55 ","
            WHITESPACE@55..56 " "
            BOX_EXPR@56..64
              BOX_KW@56..59 "box"
              WHITESPACE@59..60 " "
              LITERAL@60..64
                INT_NUMBER@60..64 "2i32"
            R_PAREN@64..65 ")"
          SEMICOLON@65..66 ";"
        WHITESPACE@66..71 "\n    "
        LET_STMT@71..103
          LET_KW@71..74 "let"
          WHITESPACE@74..75 " "
          IDENT_PAT@75..76
            NAME@75..76
              IDENT@75..76 "z"
          WHITESPACE@76..77 " "
          EQ@77..78 "="
          WHITESPACE@78..79 " "
          CALL_EXPR@79..102
            PATH_EXPR@79..82
              PATH@79..82
                PATH_SEGMENT@79..82
                  NAME_REF@79..82
                    IDENT@79..82 "Foo"
            ARG_LIST@82..102
              L_PAREN@82..83 "("
              BOX_EXPR@83..91
                BOX_KW@83..86 "box"
                WHITESPACE@86..87 " "
                LITERAL@87..91
                  INT_NUMBER@87..91 "1i32"
              COMMA@91..92 ","
              WHITESPACE@92..93 " "
              BOX_EXPR@93..101
                BOX_KW@93..96 "box"
                WHITESPACE@96..97 " "
                LITERAL@97..101
                  INT_NUMBER@97..101 "2i32"
              R_PAREN@101..102 ")"
          SEMICOLON@102..103 ";"
        WHITESPACE@103..104 "\n"
        R_CURLY@104..105 "}"
  WHITESPACE@105..106 "\n"