Language Server Protocol provides calls for many (possibly all) of the language analysis that Sourcetrail needs. There are now open source langservers for many different languages - sometimes multiple implementations for a single language.
It's possible that configuring Sourcetrail to use an existing language server could reduce the work of supporting a language down to a simple config file.
EDIT: If you're interested in general discussion about LSP and/or LSIF support in Sourcetrail (which would make this issue redundant), that's happening here: CoatiSoftware/Sourcetrail#685 . This issue is about implementing that support as an external framework usable by bindings.