<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Oct 27, 2017 at 10:06 PM, Pavel Labath <span dir="ltr"><<a href="mailto:labath@google.com" target="_blank">labath@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">LLDB has a JSON parser/serializer that we'd like to get rid of.</blockquote><div>Ah, sorry for missing that!</div><div>What makes you want to get rid of it? Maintenance/duplication, or things you don't like about using it?</div><div>Do you see it as a suitable thing to "promote" up to Support for wider use, instead?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The<br>
main thing that's missing from YamlIO for us to do that is the ability<br>
to handle (or at very least, not choke on) unknown keys (for example,<br>
keys that are only generated by an lldb-server from the future --<br>
backwards/forwards compatibility).<br></blockquote><div>Interesting - that certainly sounds doable (not knowing the details).</div><div>You'd still need a way to serialize though?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 27 October 2017 at 12:53, Sam McCall via llvm-dev<br>
<div><div class="h5"><<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
> We don't have a dedicated JSON library in the LLVM tree, I'd like to add<br>
> one. The pressing need is for clangd, but we have other tools that<br>
> read/write JSON too.<br>
><br>
> I'm proposing we write a new one, rather than importing a third-party<br>
> library (licensing/integration reasons), on or extending YamlParser/YamlIO<br>
> (usability/flexibility). I lean towards a design that parses a full DOM at<br>
> once, and provides literal-like syntax for composing documents.<br>
><br>
> I've written a document laying out the reasons for taking this path, and my<br>
> proposal for a design (with links to a prototype)<br>
> <a href="https://docs.google.com/document/d/1OEF9IauWwNuSigZzvvbjc1cVS1uGHRyGTXaoy3DjqM4/edit" rel="noreferrer" target="_blank">https://docs.google.com/<wbr>document/d/<wbr>1OEF9IauWwNuSigZzvvbjc1cVS1uGH<wbr>RyGTXaoy3DjqM4/edit</a><br>
> (Comments are enabled, but high-level discussion probably belongs on the<br>
> list instead.)<br>
><br>
> What do you think? I'm particularly interested in which parts of LLVM<br>
> produce/consume JSON (or might want to), and what they need. I'm mostly<br>
> familiar with the stuff in clang-tools-extra.<br>
><br>
> Cheers, Sam<br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
><br>
</blockquote></div><br></div></div>