3 ms·
What I'd like to locate/implement would be: - an in-memory SQLite database with - a sufficiently generalized schema that could - ingest the static type infor
by smitty1e 7y ago
What I'd like to locate/implement would be:
- an in-memory SQLite database with
- a sufficiently generalized schema that could
- ingest the static type information emitted by, say GCC, so that
- one could easily inspect/compare metadata from any language.
I doubt that this idea is unique to me.
- Boulth 7y agoSounds like Language Server: https://langserver.org/ https://langserver.org/
- smitty1e 7y agoSame idea carried further to include data types and objects that actual programs in the languages use, not just the EBNF grammar constructs of the languages. Unless I missed that in my quick glance at the link.
- Boulth 7y agoYep, LSP does include semantic view of the code. That is anything you'd see at the end tools such as IDEs: types, members, functions, properties within context (e.g. this function is a member of this class).
- oscargrouch 7y agoIf im not mistaken, what you want is basically this: https://kythe.io/ https://kythe.io/ Also lets not forget that LLDB can basically be that (at least for LLVM languages) https://lldb.llvm.org/resources/architecture.html https://lldb.llvm.org/resources/architecture.html "LLDB converts debug information into Clang types so that it can leverage the Clang compiler infrastructure. This allows LLDB to support the latest C, C++, Objective-C and Objective-C++ language features and runtimes in expressions without having to reimplement any of this functionality." By the way, Visual Studio and Code with the C++ plugin is using the embedded version of SQL Server database.. so they probably have this sort of architecture, for index, debugging, etc.. So somewhere they might at least decribe how they (Microsoft) are doing this in Visual Studio architecture.