//===--- Preprocessor.h - C Language Family Preprocessor --------*- C++ -*-===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file defines the Preprocessor interface.////===----------------------------------------------------------------------===//#ifndef LLVM_CLANG_LEX_PREPROCESSOR_H#define LLVM_CLANG_LEX_PREPROCESSOR_H#include"clang/Basic/Builtins.h"#include"clang/Basic/Diagnostic.h"#include"clang/Basic/IdentifierTable.h"#include"clang/Basic/SourceLocation.h"#include"clang/Lex/Lexer.h"#include"clang/Lex/MacroInfo.h"#include"clang/Lex/PPCallbacks.h"#include"clang/Lex/PTHLexer.h"#include"clang/Lex/PTHManager.h"#include"clang/Lex/TokenLexer.h"#include"llvm/ADT/ArrayRef.h"#include"llvm/ADT/DenseMap.h"#include"llvm/ADT/IntrusiveRefCntPtr.h"#include"llvm/ADT/OwningPtr.h"#include"llvm/ADT/SmallPtrSet.h"#include"llvm/ADT/SmallVector.h"#include"llvm/Support/Allocator.h"#include<vector>namespacellvm{template<unsignedInternalLen>classSmallString;}namespaceclang{classSourceManager;classExternalPreprocessorSource;classFileManager;classFileEntry;classHeaderSearch;classPragmaNamespace;classPragmaHandler;classCommentHandler;classScratchBuffer;classTargetInfo;classPPCallbacks;classCodeCompletionHandler;classDirectoryLookup;classPrepro