diff options
Diffstat (limited to 'yy/kalmia.tab.h')
-rw-r--r-- | yy/kalmia.tab.h | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/yy/kalmia.tab.h b/yy/kalmia.tab.h new file mode 100644 index 0000000..987ac6c --- /dev/null +++ b/yy/kalmia.tab.h @@ -0,0 +1,141 @@ +/* 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, 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + 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 <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 + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + 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_KALMIA_KALMIA_TAB_H_INCLUDED +# define YY_KALMIA_KALMIA_TAB_H_INCLUDED +/* Debug traces. */ +#ifndef KALMIADEBUG +# if defined YYDEBUG +#if YYDEBUG +# define KALMIADEBUG 1 +# else +# define KALMIADEBUG 0 +# endif +# else /* ! defined YYDEBUG */ +# define KALMIADEBUG 0 +# endif /* ! defined YYDEBUG */ +#endif /* ! defined KALMIADEBUG */ +#if KALMIADEBUG +extern int kalmiadebug; +#endif +/* "%code requires" blocks. */ +#line 13 "kalmia.y" + + typedef void* yyscan_t; + + struct kai_attr_t { + char *key; + char *value; + struct kai_attr_t *next; + }; + + struct kai_tag_t { + char *type; + struct kai_attr_t *attrs; + + struct kai_tag_t *children; + char *content; + + struct kai_tag_t *next; + }; + + struct kai_tag_t * kai_parse_file(const char *filename); + void kai_tag_destroy(struct kai_tag_t *tag); + +#line 80 "kalmia.tab.h" + +/* Token kinds. */ +#ifndef KALMIATOKENTYPE +# define KALMIATOKENTYPE + enum kalmiatokentype + { + KALMIAEMPTY = -2, + KALMIAEOF = 0, /* "end of file" */ + KALMIAerror = 256, /* error */ + KALMIAUNDEF = 257, /* "invalid token" */ + PROLOG = 258, /* PROLOG */ + S_TAG_OPEN = 259, /* S_TAG_OPEN */ + E_TAG_OPEN = 260, /* E_TAG_OPEN */ + TAG_CLOSE = 261, /* TAG_CLOSE */ + EMPTY_TAG_CLOSE = 262, /* EMPTY_TAG_CLOSE */ + NAME = 263, /* NAME */ + ATTR = 264, /* ATTR */ + TEXT = 265, /* TEXT */ + CONTENT = 266 /* CONTENT */ + }; + typedef enum kalmiatokentype kalmiatoken_kind_t; +#endif + +/* Value type. */ +#if ! defined KALMIASTYPE && ! defined KALMIASTYPE_IS_DECLARED +union KALMIASTYPE +{ +#line 65 "kalmia.y" + + char *string; + struct kai_attr_t *attr; + struct kai_tag_t *tag; + +#line 114 "kalmia.tab.h" + +}; +typedef union KALMIASTYPE KALMIASTYPE; +# define KALMIASTYPE_IS_TRIVIAL 1 +# define KALMIASTYPE_IS_DECLARED 1 +#endif + +/* Location type. */ +#if ! defined KALMIALTYPE && ! defined KALMIALTYPE_IS_DECLARED +typedef struct KALMIALTYPE KALMIALTYPE; +struct KALMIALTYPE +{ + int first_line; + int first_column; + int last_line; + int last_column; +}; +# define KALMIALTYPE_IS_DECLARED 1 +# define KALMIALTYPE_IS_TRIVIAL 1 +#endif + + + + +int kalmiaparse (yyscan_t scanner, struct kai_tag_t **document); + + +#endif /* !YY_KALMIA_KALMIA_TAB_H_INCLUDED */ |