[App] Expression parser allow multi unit inputs (2'2")

This commit is contained in:
Connor Worrell
2023-04-25 20:25:19 -06:00
committed by Adrián Insaurralde Avalos
parent 8a3c8258df
commit f552b72539
5 changed files with 1074 additions and 1156 deletions

View File

@@ -1,8 +1,9 @@
/* A Bison parser, made by GNU Bison 3.0.4. */
/* A Bison parser, made by GNU Bison 3.8.2. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,7 +16,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -30,6 +31,10 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
#ifndef YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED
# define YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED
/* Debug traces. */
@@ -40,35 +45,41 @@
extern int yydebug;
#endif
/* Token type. */
/* Token kinds. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
FUNC = 258,
ONE = 259,
NUM = 260,
IDENTIFIER = 261,
UNIT = 262,
INTEGER = 263,
CONSTANT = 264,
CELLADDRESS = 265,
EQ = 266,
NEQ = 267,
LT = 268,
GT = 269,
GTE = 270,
LTE = 271,
STRING = 272,
MINUSSIGN = 273,
PROPERTY_REF = 274,
DOCUMENT = 275,
OBJECT = 276,
EXPONENT = 277,
NUM_AND_UNIT = 278,
NEG = 279,
POS = 280
YYEMPTY = -2,
YYEOF = 0, /* "end of file" */
YYerror = 256, /* error */
YYUNDEF = 257, /* "invalid token" */
FUNC = 258, /* FUNC */
ONE = 259, /* ONE */
NUM = 260, /* NUM */
IDENTIFIER = 261, /* IDENTIFIER */
UNIT = 262, /* UNIT */
USUNIT = 263, /* USUNIT */
INTEGER = 264, /* INTEGER */
CONSTANT = 265, /* CONSTANT */
CELLADDRESS = 266, /* CELLADDRESS */
EQ = 267, /* EQ */
NEQ = 268, /* NEQ */
LT = 269, /* LT */
GT = 270, /* GT */
GTE = 271, /* GTE */
LTE = 272, /* LTE */
STRING = 273, /* STRING */
MINUSSIGN = 274, /* MINUSSIGN */
PROPERTY_REF = 275, /* PROPERTY_REF */
DOCUMENT = 276, /* DOCUMENT */
OBJECT = 277, /* OBJECT */
EXPONENT = 278, /* EXPONENT */
NUM_AND_UNIT = 279, /* NUM_AND_UNIT */
NEG = 280, /* NEG */
POS = 281 /* POS */
};
typedef enum yytokentype yytoken_kind_t;
#endif
/* Value type. */
@@ -76,6 +87,8 @@ extern int yydebug;
extern YYSTYPE yylval;
int yyparse (void);
#endif /* !YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED */