1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-19 19:43:23 +08:00

cmExprParser: include what you use

This commit is contained in:
Daniel Pfeifer
2017-02-17 22:12:21 +01:00
parent ee72803e9f
commit e7168c087f
2 changed files with 61 additions and 55 deletions

View File

@@ -85,14 +85,17 @@ Modify cmExprParser.cxx:
*/ */
#include <cmConfigure.h> // IWYU pragma: keep
#include <stdlib.h>
#include <string.h>
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
#define YYDEBUG 1 #define YYDEBUG 1
#include "cmExprParserHelper.h" /* Interface to parser object. */ #include "cmExprParserHelper.h" /* Interface to parser object. */
#include "cmExprLexer.h" /* Interface to lexer object. */ #include "cmExprLexer.h" /* Interface to lexer object. */
#include "cmExprParserTokens.h" /* Need YYSTYPE for YY_DECL. */ #include "cmExprParserTokens.h" /* Need YYSTYPE for YY_DECL. */
#include <math.h>
/* Forward declare the lexer entry point. */ /* Forward declare the lexer entry point. */
YY_DECL; YY_DECL;
@@ -105,7 +108,7 @@ static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
# pragma warning (disable: 4065) /* Switch statement contains default but no case. */ # pragma warning (disable: 4065) /* Switch statement contains default but no case. */
#endif #endif
#line 109 "cmExprParser.cxx" /* yacc.c:339 */ #line 112 "cmExprParser.cxx" /* yacc.c:339 */
# ifndef YY_NULLPTR # ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus # if defined __cplusplus && 201103L <= __cplusplus
@@ -182,7 +185,7 @@ int cmExpr_yyparse (yyscan_t yyscanner);
/* Copy the second part of user declarations. */ /* Copy the second part of user declarations. */
#line 186 "cmExprParser.cxx" /* yacc.c:358 */ #line 189 "cmExprParser.cxx" /* yacc.c:358 */
#ifdef short #ifdef short
# undef short # undef short
@@ -481,9 +484,9 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint8 yyrline[] = static const yytype_uint8 yyrline[] =
{ {
0, 70, 70, 75, 78, 83, 86, 91, 94, 99, 0, 73, 73, 78, 81, 86, 89, 94, 97, 102,
102, 105, 110, 113, 116, 121, 124, 127, 130, 135, 105, 108, 113, 116, 119, 124, 127, 130, 133, 138,
138, 141, 146, 149 141, 144, 149, 152
}; };
#endif #endif
@@ -1278,183 +1281,183 @@ yyreduce:
switch (yyn) switch (yyn)
{ {
case 2: case 2:
#line 70 "cmExprParser.y" /* yacc.c:1646 */ #line 73 "cmExprParser.y" /* yacc.c:1646 */
{ {
cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number)); cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number));
} }
#line 1286 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1289 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 3: case 3:
#line 75 "cmExprParser.y" /* yacc.c:1646 */ #line 78 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1294 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1297 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 4: case 4:
#line 78 "cmExprParser.y" /* yacc.c:1646 */ #line 81 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number);
} }
#line 1302 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1305 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 5: case 5:
#line 83 "cmExprParser.y" /* yacc.c:1646 */ #line 86 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1310 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1313 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 6: case 6:
#line 86 "cmExprParser.y" /* yacc.c:1646 */ #line 89 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number);
} }
#line 1318 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1321 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 7: case 7:
#line 91 "cmExprParser.y" /* yacc.c:1646 */ #line 94 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1326 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1329 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 8: case 8:
#line 94 "cmExprParser.y" /* yacc.c:1646 */ #line 97 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number);
} }
#line 1334 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1337 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 9: case 9:
#line 99 "cmExprParser.y" /* yacc.c:1646 */ #line 102 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1342 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1345 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 10: case 10:
#line 102 "cmExprParser.y" /* yacc.c:1646 */ #line 105 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) << (yyvsp[0].Number);
} }
#line 1350 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1353 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 11: case 11:
#line 105 "cmExprParser.y" /* yacc.c:1646 */ #line 108 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) >> (yyvsp[0].Number);
} }
#line 1358 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1361 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 12: case 12:
#line 110 "cmExprParser.y" /* yacc.c:1646 */ #line 113 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1366 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1369 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 13: case 13:
#line 113 "cmExprParser.y" /* yacc.c:1646 */ #line 116 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) + (yyvsp[0].Number);
} }
#line 1374 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1377 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 14: case 14:
#line 116 "cmExprParser.y" /* yacc.c:1646 */ #line 119 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) - (yyvsp[0].Number);
} }
#line 1382 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1385 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 15: case 15:
#line 121 "cmExprParser.y" /* yacc.c:1646 */ #line 124 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1390 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1393 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 16: case 16:
#line 124 "cmExprParser.y" /* yacc.c:1646 */ #line 127 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) * (yyvsp[0].Number);
} }
#line 1398 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1401 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 17: case 17:
#line 127 "cmExprParser.y" /* yacc.c:1646 */ #line 130 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) / (yyvsp[0].Number);
} }
#line 1406 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1409 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 18: case 18:
#line 130 "cmExprParser.y" /* yacc.c:1646 */ #line 133 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number); (yyval.Number) = (yyvsp[-2].Number) % (yyvsp[0].Number);
} }
#line 1414 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1417 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 19: case 19:
#line 135 "cmExprParser.y" /* yacc.c:1646 */ #line 138 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1422 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1425 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 20: case 20:
#line 138 "cmExprParser.y" /* yacc.c:1646 */ #line 141 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = + (yyvsp[0].Number); (yyval.Number) = + (yyvsp[0].Number);
} }
#line 1430 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1433 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 21: case 21:
#line 141 "cmExprParser.y" /* yacc.c:1646 */ #line 144 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = - (yyvsp[0].Number); (yyval.Number) = - (yyvsp[0].Number);
} }
#line 1438 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1441 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 22: case 22:
#line 146 "cmExprParser.y" /* yacc.c:1646 */ #line 149 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[0].Number); (yyval.Number) = (yyvsp[0].Number);
} }
#line 1446 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1449 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
case 23: case 23:
#line 149 "cmExprParser.y" /* yacc.c:1646 */ #line 152 "cmExprParser.y" /* yacc.c:1646 */
{ {
(yyval.Number) = (yyvsp[-1].Number); (yyval.Number) = (yyvsp[-1].Number);
} }
#line 1454 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1457 "cmExprParser.cxx" /* yacc.c:1646 */
break; break;
#line 1458 "cmExprParser.cxx" /* yacc.c:1646 */ #line 1461 "cmExprParser.cxx" /* yacc.c:1646 */
default: break; default: break;
} }
/* User semantic actions sometimes alter yychar, and that requires /* User semantic actions sometimes alter yychar, and that requires
@@ -1684,7 +1687,7 @@ yyreturn:
#endif #endif
return yyresult; return yyresult;
} }
#line 154 "cmExprParser.y" /* yacc.c:1906 */ #line 157 "cmExprParser.y" /* yacc.c:1906 */
/* End of grammar */ /* End of grammar */

View File

@@ -14,14 +14,17 @@ Modify cmExprParser.cxx:
*/ */
#include <cmConfigure.h> // IWYU pragma: keep
#include <stdlib.h>
#include <string.h>
/*-------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------*/
#define YYDEBUG 1 #define YYDEBUG 1
#include "cmExprParserHelper.h" /* Interface to parser object. */ #include "cmExprParserHelper.h" /* Interface to parser object. */
#include "cmExprLexer.h" /* Interface to lexer object. */ #include "cmExprLexer.h" /* Interface to lexer object. */
#include "cmExprParserTokens.h" /* Need YYSTYPE for YY_DECL. */ #include "cmExprParserTokens.h" /* Need YYSTYPE for YY_DECL. */
#include <math.h>
/* Forward declare the lexer entry point. */ /* Forward declare the lexer entry point. */
YY_DECL; YY_DECL;