Shared Parser Library #10765
Labels
A-parser
parser issues
C-Architecture
Big architectural things which we need to figure up-front (or suggestions for rewrites :0) )
E-hard
fun
A technically challenging issue with high impact
S-unactionable
Issue requires feedback, design decisions or is blocked on other work
So.... I've been trying to make rustc/rust-analyzer shared parser library for the past four years (rust-analyzer originally intended to be just a parser library), and the results have been meagre -- we share the lexer, and that's it. My theory is that's due to org stuff -- parser/AST has wide APIs, so extracing that is a whole lot of poorly factorable work. As such, other, more immediate things tend to always get higher priority. But today rust-analyzer feels like it is on a relatively stable footing, so it seems like a good opportunity to try to move the giant ship for real.
Let's see what we need to do to achieve that:
/libs
folder?cfg
flagsTasks:
synthetic_root
parse_text_as
build_tree
parse
-- it doesn't parse the whole file. Four cases:$expr
, for MBE -- sorta-working$expr
, for MBE output -- broken, primarily because it isn't separated from the previous pointast::EmptyStmt
robust_parser
? rust is substring. sisyphus also is a fitting name)$expr
limit
dependency.{}
invariantThe text was updated successfully, but these errors were encountered: