summaryrefslogtreecommitdiffstats
path: root/Source/cmExprParser.y
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2017-04-28 18:26:55 (GMT)
committerDaniel Pfeifer <daniel@pfeifer-mail.de>2017-04-28 21:10:39 (GMT)
commit9bad0dfccedcc1cd71ee2579486f6729cb9d7749 (patch)
tree254ca1652ef98e6a3d36024f675f05a2fe6ad1d4 /Source/cmExprParser.y
parent8927e913f780fa62c540063b8a5cfe0dcbfdd288 (diff)
downloadCMake-9bad0dfccedcc1cd71ee2579486f6729cb9d7749.zip
CMake-9bad0dfccedcc1cd71ee2579486f6729cb9d7749.tar.gz
CMake-9bad0dfccedcc1cd71ee2579486f6729cb9d7749.tar.bz2
LexerParser: move to custom directory
Diffstat (limited to 'Source/cmExprParser.y')
-rw-r--r--Source/cmExprParser.y165
1 files changed, 0 insertions, 165 deletions
diff --git a/Source/cmExprParser.y b/Source/cmExprParser.y
deleted file mode 100644
index 220f7c8..0000000
--- a/Source/cmExprParser.y
+++ /dev/null
@@ -1,165 +0,0 @@
-%{
-/* 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 bison like this:
-
- bison --yacc --name-prefix=cmExpr_yy --defines=cmExprParserTokens.h -ocmExprParser.cxx cmExprParser.y
-
-Modify cmExprParser.cxx:
- - "#if 0" out yyerrorlab block in range ["goto yyerrlab1", "yyerrlab1:"]
-
-*/
-
-#include "cmConfigure.h" // IWYU pragma: keep
-
-#include <stdlib.h>
-#include <string.h>
-
-/*-------------------------------------------------------------------------*/
-#define YYDEBUG 1
-#include "cmExprParserHelper.h" /* Interface to parser object. */
-#include "cmExprLexer.h" /* Interface to lexer object. */
-#include "cmExprParserTokens.h" /* Need YYSTYPE for YY_DECL. */
-
-/* Forward declare the lexer entry point. */
-YY_DECL;
-
-/* Helper function to forward error callback from parser. */
-static void cmExpr_yyerror(yyscan_t yyscanner, const char* message);
-
-/* Disable some warnings in the generated code. */
-#ifdef _MSC_VER
-# pragma warning (disable: 4102) /* Unused goto label. */
-# pragma warning (disable: 4065) /* Switch statement contains default but no case. */
-#endif
-%}
-
-/* Generate a reentrant parser object. */
-%define api.pure
-
-/* Configure the parser to use a lexer object. */
-%lex-param {yyscan_t yyscanner}
-%parse-param {yyscan_t yyscanner}
-
-%define parse.error verbose
-
-/*-------------------------------------------------------------------------*/
-/* Tokens */
-%token exp_PLUS
-%token exp_MINUS
-%token exp_TIMES
-%token exp_DIVIDE
-%token exp_MOD
-%token exp_SHIFTLEFT
-%token exp_SHIFTRIGHT
-%token exp_OPENPARENT
-%token exp_CLOSEPARENT
-%token exp_OR;
-%token exp_AND;
-%token exp_XOR;
-%token exp_NOT;
-%token exp_NUMBER;
-
-/*-------------------------------------------------------------------------*/
-/* grammar */
-%%
-
-
-start:
- exp {
- cmExpr_yyget_extra(yyscanner)->SetResult($<Number>1);
- }
-
-exp:
- bitwiseor {
- $<Number>$ = $<Number>1;
- }
-| exp exp_OR bitwiseor {
- $<Number>$ = $<Number>1 | $<Number>3;
- }
-
-bitwiseor:
- bitwisexor {
- $<Number>$ = $<Number>1;
- }
-| bitwiseor exp_XOR bitwisexor {
- $<Number>$ = $<Number>1 ^ $<Number>3;
- }
-
-bitwisexor:
- bitwiseand {
- $<Number>$ = $<Number>1;
- }
-| bitwisexor exp_AND bitwiseand {
- $<Number>$ = $<Number>1 & $<Number>3;
- }
-
-bitwiseand:
- shift {
- $<Number>$ = $<Number>1;
- }
-| bitwiseand exp_SHIFTLEFT shift {
- $<Number>$ = $<Number>1 << $<Number>3;
- }
-| bitwiseand exp_SHIFTRIGHT shift {
- $<Number>$ = $<Number>1 >> $<Number>3;
- }
-
-shift:
- term {
- $<Number>$ = $<Number>1;
- }
-| shift exp_PLUS term {
- $<Number>$ = $<Number>1 + $<Number>3;
- }
-| shift exp_MINUS term {
- $<Number>$ = $<Number>1 - $<Number>3;
- }
-
-term:
- unary {
- $<Number>$ = $<Number>1;
- }
-| term exp_TIMES unary {
- $<Number>$ = $<Number>1 * $<Number>3;
- }
-| term exp_DIVIDE unary {
- $<Number>$ = $<Number>1 / $<Number>3;
- }
-| term exp_MOD unary {
- $<Number>$ = $<Number>1 % $<Number>3;
- }
-
-unary:
- factor {
- $<Number>$ = $<Number>1;
- }
-| exp_PLUS unary {
- $<Number>$ = + $<Number>2;
- }
-| exp_MINUS unary {
- $<Number>$ = - $<Number>2;
- }
-
-factor:
- exp_NUMBER {
- $<Number>$ = $<Number>1;
- }
-| exp_OPENPARENT exp exp_CLOSEPARENT {
- $<Number>$ = $<Number>2;
- }
-;
-
-%%
-/* End of grammar */
-
-/*--------------------------------------------------------------------------*/
-void cmExpr_yyerror(yyscan_t yyscanner, const char* message)
-{
- cmExpr_yyget_extra(yyscanner)->Error(message);
-}
-