GNU Octave  6.2.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
oct-tex-parser.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.7.5. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6  Inc.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 
21 /* As a special exception, you may create a larger work that contains
22  part or all of the Bison parser skeleton and distribute that work
23  under terms of your choice, so long as that work isn't itself a
24  parser generator using the skeleton or a modified version thereof
25  as a parser skeleton. Alternatively, if you modify or redistribute
26  the parser skeleton itself, you may (at your option) remove this
27  special exception, which will cause the skeleton and the resulting
28  Bison output files to be licensed under the GNU General Public
29  License without this special exception.
30 
31  This special exception was added by the Free Software Foundation in
32  version 2.2 of Bison. */
33 
34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35  especially those whose name start with YY_ or yy_. They are
36  private implementation details that can be changed or removed. */
37 
38 #ifndef YY_OCTAVE_TEX_LIBINTERP_COREFCN_OCT_TEX_PARSER_H_INCLUDED
39 # define YY_OCTAVE_TEX_LIBINTERP_COREFCN_OCT_TEX_PARSER_H_INCLUDED
40 /* Debug traces. */
41 #ifndef OCTAVE_TEX_DEBUG
42 # if defined YYDEBUG
43 #if YYDEBUG
44 # define OCTAVE_TEX_DEBUG 1
45 # else
46 # define OCTAVE_TEX_DEBUG 0
47 # endif
48 # else /* ! defined YYDEBUG */
49 # define OCTAVE_TEX_DEBUG 0
50 # endif /* ! defined YYDEBUG */
51 #endif /* ! defined OCTAVE_TEX_DEBUG */
52 #if OCTAVE_TEX_DEBUG
53 extern int octave_tex_debug;
54 #endif
55 /* "%code requires" blocks. */
56 #line 62 "../libinterp/corefcn/oct-tex-parser.yy"
57 #include <string>
58 
59 #line 60 "libinterp/corefcn/oct-tex-parser.h"
60 
61 /* Token kinds. */
62 #ifndef OCTAVE_TEX_TOKENTYPE
63 # define OCTAVE_TEX_TOKENTYPE
65  {
67  OCTAVE_TEX_EOF = 0, /* "end of file" */
68  OCTAVE_TEX_error = 256, /* error */
69  OCTAVE_TEX_UNDEF = 257, /* "invalid token" */
70  BF = 258, /* BF */
71  IT = 259, /* IT */
72  SL = 260, /* SL */
73  RM = 261, /* RM */
74  FONTNAME = 262, /* FONTNAME */
75  FONTSIZE = 263, /* FONTSIZE */
76  COLOR = 264, /* COLOR */
77  COLOR_RGB = 265, /* COLOR_RGB */
78  START = 266, /* START */
79  END = 267, /* END */
80  SUPER = 268, /* SUPER */
81  SUB = 269, /* SUB */
82  CH = 270, /* CH */
83  NUM = 271, /* NUM */
84  SYM = 272, /* SYM */
85  SCRIPT = 273, /* SCRIPT */
86  STR = 274 /* STR */
87  };
89 #endif
90 /* Token kinds. */
91 #define OCTAVE_TEX_EMPTY -2
92 #define OCTAVE_TEX_EOF 0
93 #define OCTAVE_TEX_error 256
94 #define OCTAVE_TEX_UNDEF 257
95 #define BF 258
96 #define IT 259
97 #define SL 260
98 #define RM 261
99 #define FONTNAME 262
100 #define FONTSIZE 263
101 #define COLOR 264
102 #define COLOR_RGB 265
103 #define START 266
104 #define END 267
105 #define SUPER 268
106 #define SUB 269
107 #define CH 270
108 #define NUM 271
109 #define SYM 272
110 #define SCRIPT 273
111 #define STR 274
112 
113 /* Value type. */
114 #if ! defined OCTAVE_TEX_STYPE && ! defined OCTAVE_TEX_STYPE_IS_DECLARED
116 {
117 #line 65 "../libinterp/corefcn/oct-tex-parser.yy"
118 
119  // Leaf symbols produced by the scanner.
120  char ch;
121  double num;
122  int sym;
123 
124  // Used for string buffering.
125  std::string *str;
126 
127  // Objects produced by the parser.
130 
131 #line 132 "libinterp/corefcn/oct-tex-parser.h"
132 
133 };
134 typedef union OCTAVE_TEX_STYPE OCTAVE_TEX_STYPE;
135 # define OCTAVE_TEX_STYPE_IS_TRIVIAL 1
136 # define OCTAVE_TEX_STYPE_IS_DECLARED 1
137 #endif
138 
139 
140 
142 
143 #endif /* !YY_OCTAVE_TEX_LIBINTERP_COREFCN_OCT_TEX_PARSER_H_INCLUDED */
#define OCTAVE_TEX_EOF
#define END
#define START
#define SUPER
#define RM
#define COLOR
#define FONTSIZE
#define SUB
octave_tex_tokentype
int octave_tex_parse(octave::text_parser_tex &parser)
#define STR
#define SCRIPT
#define OCTAVE_TEX_EMPTY
enum octave_tex_tokentype octave_tex_token_kind_t
#define NUM
#define COLOR_RGB
#define BF
#define OCTAVE_TEX_UNDEF
#define SYM
#define OCTAVE_TEX_error
#define SL
#define FONTNAME
#define IT
#define CH
octave::text_element * e_base
std::string * str
octave::text_element_list * e_list