//===--- UnicodeCharSets.h - Contains important sets of characters --------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_LIB_LEX_UNICODECHARSETS_H #define LLVM_CLANG_LIB_LEX_UNICODECHARSETS_H #include "llvm/Support/UnicodeCharRanges.h" // Unicode 15.1 XID_Start static const llvm::sys::UnicodeCharRange XIDStartRanges[] = …; // Unicode 15.1 XID_Continue, excluding XID_Start // The Unicode Property XID_Continue is a super set of XID_Start. // To save Space, the table below only contains the codepoints // that are not also in XID_Start. static const llvm::sys::UnicodeCharRange XIDContinueRanges[] = …; // Clang supports the "Mathematical notation profile" as an extension, // as described in https://www.unicode.org/L2/L2022/22230-math-profile.pdf // Math_Start static const llvm::sys::UnicodeCharRange MathematicalNotationProfileIDStartRanges[] = …; // Math_Continue static const llvm::sys::UnicodeCharRange MathematicalNotationProfileIDContinueRanges[] = …; // C11 D.1, C++11 [charname.allowed] static const llvm::sys::UnicodeCharRange C11AllowedIDCharRanges[] = …; // C99 Annex D static const llvm::sys::UnicodeCharRange C99AllowedIDCharRanges[] = …; // C11 D.2, C++11 [charname.disallowed] static const llvm::sys::UnicodeCharRange C11DisallowedInitialIDCharRanges[] = …; // C99 6.4.2.1p3: The initial character [of an identifier] shall not be a // universal character name designating a digit. // C99 Annex D defines these characters as "Digits". static const llvm::sys::UnicodeCharRange C99DisallowedInitialIDCharRanges[] = …; // Unicode v6.2, chapter 6.2, table 6-2. static const llvm::sys::UnicodeCharRange UnicodeWhitespaceCharRanges[] = …; #endif