%{ /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ /* This file must be translated to C++ and modified to build everywhere. Run flex >= 2.6 like this: flex --nounistd -DFLEXINT_H --noline --header-file=cmCTestResourceGroupsLexer.h -ocmCTestResourceGroupsLexer.cxx cmCTestResourceGroupsLexer.in.l Modify cmCTestResourceGroupsLexer.cxx: - remove trailing whitespace: sed -i 's/\s*$//' cmCTestResourceGroupsLexer.h cmCTestResourceGroupsLexer.cxx - remove blank lines at end of file: sed -i '${/^$/d;}' cmCTestResourceGroupsLexer.h cmCTestResourceGroupsLexer.cxx - #include "cmStandardLexer.h" at the top: sed -i '1i#include "cmStandardLexer.h"' cmCTestResourceGroupsLexer.cxx */ /* IWYU pragma: no_forward_declare yyguts_t */ #ifndef __clang_analyzer__ /* Suppress clang scan-build warnings */ #include "cmCTestResourceGroupsLexerHelper.h" #include #include /*--------------------------------------------------------------------------*/ %} %option prefix="cmCTestResourceGroups_yy" %option reentrant %option noyywrap %option nodefault %pointer %s RESOURCE_GROUPS_START %s RESOURCE_GROUPS_END %s RESOURCE_START %s RESOURCE_COUNT %s RESOURCE_END NUMBER [0-9]+ IDENTIFIER [a-z_][a-z0-9_]* %% {IDENTIFIER}: { BEGIN(RESOURCE_COUNT); yyextra->SetResourceType(std::string(yytext, yyleng - 1)); } {NUMBER} { BEGIN(RESOURCE_GROUPS_END); std::size_t len = yyleng; yyextra->SetProcessCount(std::stoll(yytext, &len, 10)); } {NUMBER} { BEGIN(RESOURCE_END); std::size_t len = yyleng; yyextra->SetNeededSlots(std::stoll(yytext, &len, 10)); yyextra->WriteRequirement(); } ,+ { BEGIN(RESOURCE_START); } ;+ { BEGIN(RESOURCE_GROUPS_START); } ;+ { BEGIN(RESOURCE_GROUPS_START); yyextra->WriteProcess(); } <> { yyextra->WriteProcess(); return 0; } <> { return 0; } <> { return 1; } .|\n { return 1; } %% /*--------------------------------------------------------------------------*/ #endif /* __clang_analyzer__ */