// Copyright (c) 2008 Roberto Raggi // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. #include "Lexer.h" #include "Token.h" namespace CPlusPlus { %token-prefix=T_ %toupper %no-enums %namespace=Lexer %no-namespace-for-tokens %pre-check-argument=LanguageFeatures features %function-name=classify %% __asm __asm__ __attribute __attribute__ __alignof__ _declspec __declspec __const __const__ __inline __inline__ __thread __typeof __typeof__ __volatile __volatile__ asm break case char const continue default do double else enum extern float for goto if inline int long register return short signed sizeof static struct switch typedef typeof union unsigned void volatile while %pre-check=features.cxxEnabled __decltype auto bool catch class const_cast delete dynamic_cast explicit export false friend mutable namespace new operator private protected public reinterpret_cast static_cast template this throw true try typeid typename using virtual wchar_t %pre-check=features.cxx11Enabled alignas alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local %pre-check=features.cxx20Enabled char8_t concept consteval constinit co_await co_return co_yield requires %pre-check=features.qtKeywordsEnabled emit foreach Q_EMIT Q_SLOT SIGNAL signals slots %pre-check=features.qtMocRunEnabled Q_Q Q_D %pre-check=features.qtEnabled Q_DECLARE_INTERFACE Q_ENUMS Q_FLAGS Q_FOREACH Q_GADGET Q_INVOKABLE Q_INTERFACES Q_OBJECT Q_OVERRIDE Q_PRIVATE_PROPERTY Q_PRIVATE_SLOT Q_PROPERTY Q_SIGNAL Q_SIGNALS Q_SLOTS SLOT %% %pre-check-argument= %function-name=classifyOperator %% or and not xor bitor compl or_eq and_eq bitand not_eq xor_eq %% } // namespace CPlusPlus