From f59978893fed309ff19bacd787398c4bab4aa7c8 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 4 May 2020 13:46:24 -0400 Subject: C++ Extractor (#1337) * WIP: Doing texing using slangs lexer for cpp-extractor * Node tree for C++ extraction. * Bug fixing. Add dump of hierarchy. * First pass at extracting fields. * Parse template types. * Use diagnostics defs for C++ extractor. * Simplify Diagnostic Defs. * Remove the brace stack. * Added IdentifierLookup. * Add handling for >> style template close. * Improved identifier handling/keywords. * Added ability to check if reader is at cursor position. * Handling of an unspecified root type. * Parsing code comments. Tidy up some parsing - to use advanceIf functions more. * Improve path handling. * Fixes around changes to Path interface. * Working Range, Type and Scope header. * Extract the middle part of marker and put in output. Gives more flexibility at macro injection, and in class definitions. * Split DERIVED types into it's own macro, to provide way to generate for derived types. * Fix clang/g++ compile issue. * Tabs -> spaces. * Fix small bug in getFileNameWithoutExt * Small improvement around naming. Co-authored-by: Tim Foley --- .../slang-cpp-extractor/slang-cpp-extractor-diagnostics.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.cpp (limited to 'tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.cpp') diff --git a/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.cpp b/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.cpp new file mode 100644 index 000000000..4c8de5757 --- /dev/null +++ b/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.cpp @@ -0,0 +1,13 @@ +#include "slang-cpp-extractor-diagnostics.h" + +namespace SlangExperimental { + +namespace CPPDiagnostics +{ +using namespace Slang; + +#define DIAGNOSTIC(id, severity, name, messageFormat) const DiagnosticInfo name = { id, Severity::severity, messageFormat }; +#include "slang-cpp-extractor-diagnostic-defs.h" +} + +} // namespace SlangExperimental -- cgit v1.2.3