[lldb-dev] Rust language support question

Tom Tromey via lldb-dev lldb-dev at lists.llvm.org
Fri Jan 26 14:54:30 PST 2018


Hi.  I'm working on adding Rust language support to lldb.

One question that's come up is the best way to handle expression
parsing.

On the one hand, it would be convenient to reuse an existing parser --
the one that we discussed was the "syn" crate.  But, this is a Rust
program.

So then there's the question of how to ship it.  Directly using the syn
crate would mean having Rust code in-tree.  Or, perhaps the Rust parts
could be shipped as a shared library or an external executable.

Are either of these doable?  What do other language plugins do?

My original plan here was to simply make the entire language support an
external plugin.  But, from what I can tell this isn't possible -- the
necessary DWARF-related headers aren't installed.  So maybe this could
be changed?  This would provide us with the most flexibility I think.

A final idea is to do what I did for gdb, and simply write a new parser
in C++.  Doable, but for me I think a last resort.

thanks,
Tom


More information about the lldb-dev mailing list