From 6cbc3929a54d37bd23cb5efa8e3320ba02f78b2f Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 31 May 2019 17:20:37 -0400 Subject: Use slang- prefix on slang compiler and core source (#973) * Prefixing source files in source/slang with slang- * Prefix source in source/slang with slang- prefix. * Rename core source files with slang- prefix. * Update project files. * Fix problems from automatic merge. --- source/slang/slang-preprocessor.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 source/slang/slang-preprocessor.h (limited to 'source/slang/slang-preprocessor.h') diff --git a/source/slang/slang-preprocessor.h b/source/slang/slang-preprocessor.h new file mode 100644 index 000000000..191adce88 --- /dev/null +++ b/source/slang/slang-preprocessor.h @@ -0,0 +1,38 @@ +// Preprocessor.h +#ifndef SLANG_PREPROCESSOR_H_INCLUDED +#define SLANG_PREPROCESSOR_H_INCLUDED + +#include "../core/slang-basic.h" +#include "../slang/slang-lexer.h" + +namespace Slang { + +class DiagnosticSink; +class Linkage; +class Module; +class ModuleDecl; + +// Callback interface for the preprocessor to use when looking +// for files in `#include` directives. +struct IncludeHandler +{ + + virtual SlangResult findFile(const String& pathToInclude, + const String& pathIncludedFrom, + PathInfo& pathInfoOut) = 0; + + virtual String simplifyPath(const String& path) = 0; +}; + +// Take a string of source code and preprocess it into a list of tokens. +TokenList preprocessSource( + SourceFile* file, + DiagnosticSink* sink, + IncludeHandler* includeHandler, + Dictionary defines, + Linkage* linkage, + Module* parentModule); + +} // namespace Slang + +#endif -- cgit v1.2.3