Rust AST Format

Hello,
I try to make a plugin for an IDE and need to parse the syntax of the source files.
I know there is the syntax crate which provides an interface for this but it's not a solution for stable-builds.
I tought I could use the "-Z ast-json" option to print the AST(in json format) and parse the relevant information. My question is if there is documentation of the Rust AST, or better how the AST that rustc prints is structured?

There's syn and an older syntex that can parse Rust source code independently of the compiler.

For IDE purposes specifically, there’s a wip https://github.com/matklad/libsyntax2, which already deals with majority of rust source