ra_ap_syntax 0.0.4

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
      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"