diff options
author | Brad King <brad.king@kitware.com> | 2019-11-04 22:29:03 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-11-05 17:08:35 (GMT) |
commit | 73a40b19ffa49bfc92fbe10bd0fd3821b7facae6 (patch) | |
tree | aec4dbf42b7c07b0303b88fdfecfdfed882fd7c2 /Source/LexerParser/cmCTestResourceGroupsLexer.in.l | |
parent | af9ed543b0f9d032158f91cdce7ad6908ff9365b (diff) | |
download | CMake-73a40b19ffa49bfc92fbe10bd0fd3821b7facae6.zip CMake-73a40b19ffa49bfc92fbe10bd0fd3821b7facae6.tar.gz CMake-73a40b19ffa49bfc92fbe10bd0fd3821b7facae6.tar.bz2 |
CTest: Rename "Processes" lexer to "ResourceGroups"
The corresponding test property `PROCESSES` has been renamed to
`RESOURCE_GROUPS`.
Diffstat (limited to 'Source/LexerParser/cmCTestResourceGroupsLexer.in.l')
-rw-r--r-- | Source/LexerParser/cmCTestResourceGroupsLexer.in.l | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Source/LexerParser/cmCTestResourceGroupsLexer.in.l b/Source/LexerParser/cmCTestResourceGroupsLexer.in.l new file mode 100644 index 0000000..2aabea4 --- /dev/null +++ b/Source/LexerParser/cmCTestResourceGroupsLexer.in.l @@ -0,0 +1,102 @@ +%{ +/* 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 <string> + +#include <cstddef> + +/*--------------------------------------------------------------------------*/ +%} + +%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_]* + +%% + +<INITIAL,RESOURCE_GROUPS_START,RESOURCE_START>{IDENTIFIER}: { + BEGIN(RESOURCE_COUNT); + yyextra->SetResourceType(std::string(yytext, yyleng - 1)); +} + +<INITIAL,RESOURCE_GROUPS_START>{NUMBER} { + BEGIN(RESOURCE_GROUPS_END); + std::size_t len = yyleng; + yyextra->SetProcessCount(std::stoll(yytext, &len, 10)); +} + +<RESOURCE_COUNT>{NUMBER} { + BEGIN(RESOURCE_END); + std::size_t len = yyleng; + yyextra->SetNeededSlots(std::stoll(yytext, &len, 10)); + yyextra->WriteRequirement(); +} + +<RESOURCE_GROUPS_END,RESOURCE_END>,+ { + BEGIN(RESOURCE_START); +} + +<INITIAL,RESOURCE_GROUPS_START,RESOURCE_START>;+ { + BEGIN(RESOURCE_GROUPS_START); +} + +<RESOURCE_GROUPS_END,RESOURCE_END>;+ { + BEGIN(RESOURCE_GROUPS_START); + yyextra->WriteProcess(); +} + +<RESOURCE_START,RESOURCE_GROUPS_END,RESOURCE_END><<EOF>> { + yyextra->WriteProcess(); + return 0; +} + +<INITIAL,RESOURCE_GROUPS_START><<EOF>> { + return 0; +} + +<<EOF>> { + return 1; +} + +.|\n { + return 1; +} + +%% + +/*--------------------------------------------------------------------------*/ + +#endif /* __clang_analyzer__ */ |