ra_ap_syntax 0.0.4

Comment and whitespace preserving parser for the Rust language
Documentation
SOURCE_FILE@0..200
  FN@0..199
    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..199
      L_CURLY@9..10 "{"
      WHITESPACE@10..15 "\n    "
      COMMENT@15..36 "// reference operator"
      WHITESPACE@36..41 "\n    "
      LET_STMT@41..52
        LET_KW@41..44 "let"
        WHITESPACE@44..45 " "
        WILDCARD_PAT@45..46
          UNDERSCORE@45..46 "_"
        WHITESPACE@46..47 " "
        EQ@47..48 "="
        WHITESPACE@48..49 " "
        REF_EXPR@49..51
          AMP@49..50 "&"
          LITERAL@50..51
            INT_NUMBER@50..51 "1"
        SEMICOLON@51..52 ";"
      WHITESPACE@52..57 "\n    "
      LET_STMT@57..75
        LET_KW@57..60 "let"
        WHITESPACE@60..61 " "
        WILDCARD_PAT@61..62
          UNDERSCORE@61..62 "_"
        WHITESPACE@62..63 " "
        EQ@63..64 "="
        WHITESPACE@64..65 " "
        REF_EXPR@65..74
          AMP@65..66 "&"
          MUT_KW@66..69 "mut"
          WHITESPACE@69..70 " "
          REF_EXPR@70..74
            AMP@70..71 "&"
            CALL_EXPR@71..74
              PATH_EXPR@71..72
                PATH@71..72
                  PATH_SEGMENT@71..72
                    NAME_REF@71..72
                      IDENT@71..72 "f"
              ARG_LIST@72..74
                L_PAREN@72..73 "("
                R_PAREN@73..74 ")"
        SEMICOLON@74..75 ";"
      WHITESPACE@75..80 "\n    "
      LET_STMT@80..93
        LET_KW@80..83 "let"
        WHITESPACE@83..84 " "
        WILDCARD_PAT@84..85
          UNDERSCORE@84..85 "_"
        WHITESPACE@85..86 " "
        EQ@86..87 "="
        WHITESPACE@87..88 " "
        REF_EXPR@88..92
          AMP@88..89 "&"
          PATH_EXPR@89..92
            PATH@89..92
              PATH_SEGMENT@89..92
                NAME_REF@89..92
                  IDENT@89..92 "raw"
        SEMICOLON@92..93 ";"
      WHITESPACE@93..98 "\n    "
      LET_STMT@98..113
        LET_KW@98..101 "let"
        WHITESPACE@101..102 " "
        WILDCARD_PAT@102..103
          UNDERSCORE@102..103 "_"
        WHITESPACE@103..104 " "
        EQ@104..105 "="
        WHITESPACE@105..106 " "
        REF_EXPR@106..112
          AMP@106..107 "&"
          FIELD_EXPR@107..112
            PATH_EXPR@107..110
              PATH@107..110
                PATH_SEGMENT@107..110
                  NAME_REF@107..110
                    IDENT@107..110 "raw"
            DOT@110..111 "."
            NAME_REF@111..112
              INT_NUMBER@111..112 "0"
        SEMICOLON@112..113 ";"
      WHITESPACE@113..118 "\n    "
      COMMENT@118..143 "// raw reference oper ..."
      WHITESPACE@143..148 "\n    "
      LET_STMT@148..169
        LET_KW@148..151 "let"
        WHITESPACE@151..152 " "
        WILDCARD_PAT@152..153
          UNDERSCORE@152..153 "_"
        WHITESPACE@153..154 " "
        EQ@154..155 "="
        WHITESPACE@155..156 " "
        REF_EXPR@156..168
          AMP@156..157 "&"
          RAW_KW@157..160 "raw"
          WHITESPACE@160..161 " "
          MUT_KW@161..164 "mut"
          WHITESPACE@164..165 " "
          PATH_EXPR@165..168
            PATH@165..168
              PATH_SEGMENT@165..168
                NAME_REF@165..168
                  IDENT@165..168 "foo"
        SEMICOLON@168..169 ";"
      WHITESPACE@169..174 "\n    "
      LET_STMT@174..197
        LET_KW@174..177 "let"
        WHITESPACE@177..178 " "
        WILDCARD_PAT@178..179
          UNDERSCORE@178..179 "_"
        WHITESPACE@179..180 " "
        EQ@180..181 "="
        WHITESPACE@181..182 " "
        REF_EXPR@182..196
          AMP@182..183 "&"
          RAW_KW@183..186 "raw"
          WHITESPACE@186..187 " "
          CONST_KW@187..192 "const"
          WHITESPACE@192..193 " "
          PATH_EXPR@193..196
            PATH@193..196
              PATH_SEGMENT@193..196
                NAME_REF@193..196
                  IDENT@193..196 "foo"
        SEMICOLON@196..197 ";"
      WHITESPACE@197..198 "\n"
      R_CURLY@198..199 "}"
  WHITESPACE@199..200 "\n"