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-diagnostics.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.h (limited to 'tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.h') diff --git a/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.h b/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.h new file mode 100644 index 000000000..419559fa8 --- /dev/null +++ b/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostics.h @@ -0,0 +1,17 @@ +#ifndef SLANG_CPP_EXTRACTOR_DIAGNOSTICS_H +#define SLANG_CPP_EXTRACTOR_DIAGNOSTICS_H + +#include "../../source/slang/slang-diagnostics.h" + +namespace SlangExperimental { +using namespace Slang; + +namespace CPPDiagnostics { + +#define DIAGNOSTIC(id, severity, name, messageFormat) extern const DiagnosticInfo name; +#include "slang-cpp-extractor-diagnostic-defs.h" + +} // CPPDiagnostics +} // SlangExperimental + +#endif -- cgit v1.2.3