diff --git a/build/autotools/common.am b/build/autotools/common.am index 2d9edba4..291ed6d0 100644 --- a/build/autotools/common.am +++ b/build/autotools/common.am @@ -27,30 +27,6 @@ lolcheck-recursive: $(lol_recursive_rule) -# -# Flex and Bison files build rule -# - -generated: generated-recursive -generated-recursive: - $(lol_recursive_rule) - @if test -n "$(filter %-scanner.l, $(EXTRA_DIST))"; then \ - echo $(MKDIR_P) generated; \ - $(MKDIR_P) generated; \ - rm -f generated/[a-zA-Z]*; \ - for scanner in $(patsubst %-scanner.l, %, $(filter %-scanner.l, $(EXTRA_DIST))); do \ - b="`basename $$scanner`"; \ - echo flex -v -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l"; \ - flex -v -o "generated/$$b-scanner.cpp" "$$scanner-scanner.l" || exit 1; \ - done; \ - for parser in $(patsubst %-parser.y, %, $(filter %-parser.y, $(EXTRA_DIST))); do \ - b="`basename $$parser`"; \ - echo bison -o "generated/$$b-parser.cpp" --defines="generated/$$b-parser.h" -d -b "generated/$$b" "$$parser-parser.y"; \ - bison -o "generated/$$b-parser.cpp" --defines="generated/$$b-parser.h" -d -b "generated/$$b" "$$parser-parser.y" || exit 1; \ - done; \ - fi - - # # .lolfx build rule # @@ -134,5 +110,5 @@ clean-local-android: EXTRA_DIST += $(foreach p, $(PROGRAMS), $($(p)_DATA)) -.PHONY: bench lolcheck generated +.PHONY: bench lolcheck diff --git a/doc/grammar/README b/doc/grammar/README new file mode 100644 index 00000000..9cc7f53c --- /dev/null +++ b/doc/grammar/README @@ -0,0 +1 @@ +This directory contains old grammars for languages we used to parse. diff --git a/src/easymesh/easymesh-parser.y b/doc/grammar/easymesh-parser.y similarity index 100% rename from src/easymesh/easymesh-parser.y rename to doc/grammar/easymesh-parser.y diff --git a/src/easymesh/easymesh-scanner.l b/doc/grammar/easymesh-scanner.l similarity index 100% rename from src/easymesh/easymesh-scanner.l rename to doc/grammar/easymesh-scanner.l diff --git a/src/gpu/lolfx-parser.y b/doc/grammar/lolfx-parser.y similarity index 100% rename from src/gpu/lolfx-parser.y rename to doc/grammar/lolfx-parser.y diff --git a/src/gpu/lolfx-scanner.l b/doc/grammar/lolfx-scanner.l similarity index 100% rename from src/gpu/lolfx-scanner.l rename to doc/grammar/lolfx-scanner.l diff --git a/src/Makefile.am b/src/Makefile.am index 7ed25518..4e1990d9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -28,8 +28,7 @@ liblolcore_a_SOURCES = \ #liblolcore_a_CPPFLAGS = -include-pch $(srcdir)/lol/engine-internal.h.pch $(AM_CPPFLAGS) -I$(srcdir)/bullet -I$(srcdir)/lua liblolcore_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/bullet -I$(srcdir)/lua -EXTRA_DIST += easymesh/easymesh-scanner.l easymesh/easymesh-parser.y \ - gpu/lolfx-scanner.l gpu/lolfx-parser.y +EXTRA_DIST += easymesh/easymesh-scanner.l easymesh/easymesh-parser.y liblolcore_headers = \ lol/engine-internal.h lol/engine.h lol/public.h lol/extras.h \ @@ -65,8 +64,6 @@ liblolcore_headers = \ lol/debug/lines.h liblolcore_sources = \ - generated/location.hh generated/position.hh generated/stack.hh \ - \ application/application.cpp application/application.h \ eglapp.cpp eglapp.h \ \ @@ -79,9 +76,6 @@ liblolcore_sources = \ easymesh/shinydebugwireframe.lolfx \ easymesh/shinydebuglighting.lolfx easymesh/shinydebugnormal.lolfx \ easymesh/shinydebugUV.lolfx easymesh/shiny_SK.lolfx \ - easymesh/easymesh-compiler.cpp easymesh/easymesh-compiler.h \ - generated/easymesh-parser.cpp generated/easymesh-parser.h \ - generated/easymesh-scanner.cpp \ \ base/assert.cpp base/hash.cpp base/log.cpp base/string.cpp \ base/enum.cpp \ @@ -102,9 +96,6 @@ liblolcore_sources = \ gpu/testmaterial.lolfx \ \ gpu/lolfx.cpp \ - gpu/lolfx-compiler.cpp gpu/lolfx-compiler.h \ - generated/lolfx-parser.cpp generated/lolfx-parser.h \ - generated/lolfx-scanner.cpp \ \ mesh/mesh.cpp mesh/mesh.h \ mesh/primitive.cpp mesh/primitive.h \ diff --git a/src/easymesh/easymesh-compiler.cpp b/src/easymesh/easymesh-compiler.cpp deleted file mode 100644 index 8cde04d3..00000000 --- a/src/easymesh/easymesh-compiler.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// (c) 2009-2013 Cédric Lecacheur -// (c) 2009-2013 Benjamin "Touky" Huet -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#include - -#include - -#include "easymesh/easymesh-compiler.h" - -namespace lol -{ - -EasyMeshCompiler::EasyMeshCompiler(EasyMesh &mesh) - : m_mesh(mesh) -{ -} - -bool EasyMeshCompiler::ParseString(char const *command) -{ - EasyMeshScanner scanner(command); - m_lexer = &scanner; - EasyMeshParser parser(*this); - if (parser.parse() != 0) - { - Log::Debug("Mesh source: %s\n", command); - return false; - } - return true; -} - -void EasyMeshCompiler::Error(const class location& l, const std::string& m) -{ - Log::Error("EasyMesh syntax error line %d column %d: %s\n", - l.begin.line, l.begin.column, m.c_str()); -} - -void EasyMeshCompiler::Error(const std::string& m) -{ - Log::Error("EasyMesh syntax error: %s\n", m.c_str()); -} - -} /* namespace lol */ - diff --git a/src/easymesh/easymesh-compiler.h b/src/easymesh/easymesh-compiler.h deleted file mode 100644 index b2e63fbc..00000000 --- a/src/easymesh/easymesh-compiler.h +++ /dev/null @@ -1,58 +0,0 @@ -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// (c) 2009-2013 Cédric Lecacheur -// (c) 2009-2013 Benjamin "Touky" Huet -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#pragma once - -#include - -#ifndef __FLEX_LEXER_H -# define yyFlexLexer EasyMeshFlexLexer -# include "FlexLexer.h" -# undef yyFlexLexer -#endif - -#include "generated/easymesh-parser.h" - -class EasyMesh; - -namespace lol -{ - -class EasyMeshScanner : public EasyMeshFlexLexer -{ -public: - EasyMeshScanner(char const *command); - virtual ~EasyMeshScanner(); - virtual int LexerInput(char* buf, int max_size); - virtual EasyMeshParser::token_type lex(EasyMeshParser::semantic_type* yylval, - EasyMeshParser::location_type* yylloc); - -private: - char const *m_input; -}; - -class EasyMeshCompiler -{ -public: - EasyMeshCompiler(class EasyMesh &mesh); - - bool ParseString(char const *command); - - void Error(const class location& l, const std::string& m); - void Error(const std::string& m); - - class EasyMeshScanner* m_lexer; - class EasyMesh &m_mesh; -}; - -} /* namespace lol */ - diff --git a/src/easymesh/easymesh.cpp b/src/easymesh/easymesh.cpp index fc9d516e..ffae5252 100644 --- a/src/easymesh/easymesh.cpp +++ b/src/easymesh/easymesh.cpp @@ -17,8 +17,6 @@ #include -#include "easymesh/easymesh-compiler.h" - LOLFX_RESOURCE_DECLARE(shiny); namespace lol @@ -51,6 +49,8 @@ EasyMesh::EasyMesh(const EasyMesh& em) bool EasyMesh::Compile(char const *command, bool Execute) { bool res = false; + // FIXME: make this work again +#if 0 EasyMeshCompiler mc(*this); BD()->Enable(MeshBuildOperation::CommandRecording); if ((res = mc.ParseString(command))) @@ -59,6 +59,7 @@ bool EasyMesh::Compile(char const *command, bool Execute) if (Execute) ExecuteCmdStack(); } +#endif return res; } diff --git a/src/generated/easymesh-parser.cpp b/src/generated/easymesh-parser.cpp deleted file mode 100644 index 1e9a984d..00000000 --- a/src/generated/easymesh-parser.cpp +++ /dev/null @@ -1,2250 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Skeleton implementation for Bison LALR(1) parsers in C++ - - Copyright (C) 2002-2010 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 . */ - -/* 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. */ - -// Take the name prefix into account. -#define yylex lollex - -/* First part of user declarations. */ - -/* Line 310 of lalr1.cc */ -#line 1 "easymesh/easymesh-parser.y" - -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// (c) 2009-2013 Cédric Lecacheur -// (c) 2009-2013 Benjamin "Touky" Huet -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#include - -#include "easymesh/easymesh.h" - -#include - - -/* Line 310 of lalr1.cc */ -#line 65 "generated/easymesh-parser.cpp" - - -#include "easymesh-parser.h" - -/* User implementation prologue. */ - -/* Line 316 of lalr1.cc */ -#line 81 "easymesh/easymesh-parser.y" - -#include "easymesh/easymesh-compiler.h" - -#undef yylex -#define yylex mc.m_lexer->lex - -/* HACK: workaround for Bison who insists on using exceptions */ -#define try if (true) -#define catch(...) if (false) -#define throw (void)0 - - -/* Line 316 of lalr1.cc */ -#line 87 "generated/easymesh-parser.cpp" - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include /* FIXME: INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#define YYUSE(e) ((void) (e)) - -/* Enable debugging if requested. */ -#if YYDEBUG - -/* A pseudo ostream that takes yydebug_ into account. */ -# define YYCDEBUG if (yydebug_) (*yycdebug_) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug_) \ - { \ - *yycdebug_ << Title << ' '; \ - yy_symbol_print_ ((Type), (Value), (Location)); \ - *yycdebug_ << std::endl; \ - } \ -} while (false) - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug_) \ - yy_reduce_print_ (Rule); \ -} while (false) - -# define YY_STACK_PRINT() \ -do { \ - if (yydebug_) \ - yystack_print_ (); \ -} while (false) - -#else /* !YYDEBUG */ - -# define YYCDEBUG if (false) std::cerr -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_REDUCE_PRINT(Rule) -# define YY_STACK_PRINT() - -#endif /* !YYDEBUG */ - -#define yyerrok (yyerrstatus_ = 0) -#define yyclearin (yychar = yyempty_) - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab -#define YYRECOVERING() (!!yyerrstatus_) - - -namespace lol { - -/* Line 379 of lalr1.cc */ -#line 153 "generated/easymesh-parser.cpp" -#if YYERROR_VERBOSE - - /* Return YYSTR after stripping away unnecessary quotes and - backslashes, so that it's suitable for yyerror. The heuristic is - that double-quoting is unnecessary unless the string contains an - apostrophe, a comma, or backslash (other than backslash-backslash). - YYSTR is taken from yytname. */ - std::string - EasyMeshParser::yytnamerr_ (const char *yystr) - { - if (*yystr == '"') - { - std::string yyr = ""; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - yyr += *yyp; - break; - - case '"': - return yyr; - } - do_not_strip_quotes: ; - } - - return yystr; - } - -#endif - - /// Build a parser object. - EasyMeshParser::EasyMeshParser (class EasyMeshCompiler& mc_yyarg) - : -#if YYDEBUG - yydebug_ (false), - yycdebug_ (&std::cerr), -#endif - mc (mc_yyarg) - { - } - - EasyMeshParser::~EasyMeshParser () - { - } - -#if YYDEBUG - /*--------------------------------. - | Print this symbol on YYOUTPUT. | - `--------------------------------*/ - - inline void - EasyMeshParser::yy_symbol_value_print_ (int yytype, - const semantic_type* yyvaluep, const location_type* yylocationp) - { - YYUSE (yylocationp); - YYUSE (yyvaluep); - switch (yytype) - { - default: - break; - } - } - - - void - EasyMeshParser::yy_symbol_print_ (int yytype, - const semantic_type* yyvaluep, const location_type* yylocationp) - { - *yycdebug_ << (yytype < yyntokens_ ? "token" : "nterm") - << ' ' << yytname_[yytype] << " (" - << *yylocationp << ": "; - yy_symbol_value_print_ (yytype, yyvaluep, yylocationp); - *yycdebug_ << ')'; - } -#endif - - void - EasyMeshParser::yydestruct_ (const char* yymsg, - int yytype, semantic_type* yyvaluep, location_type* yylocationp) - { - YYUSE (yylocationp); - YYUSE (yymsg); - YYUSE (yyvaluep); - - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } - } - - void - EasyMeshParser::yypop_ (unsigned int n) - { - yystate_stack_.pop (n); - yysemantic_stack_.pop (n); - yylocation_stack_.pop (n); - } - -#if YYDEBUG - std::ostream& - EasyMeshParser::debug_stream () const - { - return *yycdebug_; - } - - void - EasyMeshParser::set_debug_stream (std::ostream& o) - { - yycdebug_ = &o; - } - - - EasyMeshParser::debug_level_type - EasyMeshParser::debug_level () const - { - return yydebug_; - } - - void - EasyMeshParser::set_debug_level (debug_level_type l) - { - yydebug_ = l; - } -#endif - - int - EasyMeshParser::parse () - { - /// Lookahead and lookahead in internal form. - int yychar = yyempty_; - int yytoken = 0; - - /* State. */ - int yyn; - int yylen = 0; - int yystate = 0; - - /* Error handling. */ - int yynerrs_ = 0; - int yyerrstatus_ = 0; - - /// Semantic value of the lookahead. - semantic_type yylval; - /// Location of the lookahead. - location_type yylloc; - /// The locations where the error started and ended. - location_type yyerror_range[2]; - - /// $$. - semantic_type yyval; - /// @$. - location_type yyloc; - - int yyresult; - - YYCDEBUG << "Starting parse" << std::endl; - - - /* Initialize the stacks. The initial state will be pushed in - yynewstate, since the latter expects the semantical and the - location values to have been already stored, initialize these - stacks with a primary value. */ - yystate_stack_ = state_stack_type (0); - yysemantic_stack_ = semantic_stack_type (0); - yylocation_stack_ = location_stack_type (0); - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yylloc); - - /* New state. */ - yynewstate: - yystate_stack_.push (yystate); - YYCDEBUG << "Entering state " << yystate << std::endl; - - /* Accept? */ - if (yystate == yyfinal_) - goto yyacceptlab; - - goto yybackup; - - /* Backup. */ - yybackup: - - /* Try to take a decision without lookahead. */ - yyn = yypact_[yystate]; - if (yyn == yypact_ninf_) - goto yydefault; - - /* Read a lookahead token. */ - if (yychar == yyempty_) - { - YYCDEBUG << "Reading a token: "; - yychar = yylex (&yylval, &yylloc); - } - - - /* Convert token to internal form. */ - if (yychar <= yyeof_) - { - yychar = yytoken = yyeof_; - YYCDEBUG << "Now at end of input." << std::endl; - } - else - { - yytoken = yytranslate_ (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yytoken) - goto yydefault; - - /* Reduce or error. */ - yyn = yytable_[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == yytable_ninf_) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the token being shifted. */ - yychar = yyempty_; - - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yylloc); - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus_) - --yyerrstatus_; - - yystate = yyn; - goto yynewstate; - - /*-----------------------------------------------------------. - | yydefault -- do the default action for the current state. | - `-----------------------------------------------------------*/ - yydefault: - yyn = yydefact_[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - /*-----------------------------. - | yyreduce -- Do a reduction. | - `-----------------------------*/ - yyreduce: - yylen = yyr2_[yyn]; - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. Otherwise, use the top of the stack. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. */ - if (yylen) - yyval = yysemantic_stack_[yylen - 1]; - else - yyval = yysemantic_stack_[0]; - - { - slice slice (yylocation_stack_, yylen); - YYLLOC_DEFAULT (yyloc, slice, yylen); - } - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 14: - -/* Line 677 of lalr1.cc */ -#line 120 "easymesh/easymesh-parser.y" - { mc.m_mesh.LoopEnd(); } - break; - - case 15: - -/* Line 677 of lalr1.cc */ -#line 124 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgUnion(); mc.m_mesh.CloseBrace(); } - break; - - case 16: - -/* Line 677 of lalr1.cc */ -#line 125 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgSub(); mc.m_mesh.CloseBrace(); } - break; - - case 17: - -/* Line 677 of lalr1.cc */ -#line 126 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgSubL(); mc.m_mesh.CloseBrace(); } - break; - - case 18: - -/* Line 677 of lalr1.cc */ -#line 127 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgAnd(); mc.m_mesh.CloseBrace(); } - break; - - case 19: - -/* Line 677 of lalr1.cc */ -#line 128 "easymesh/easymesh-parser.y" - { mc.m_mesh.CsgXor(); mc.m_mesh.CloseBrace(); } - break; - - case 20: - -/* Line 677 of lalr1.cc */ -#line 132 "easymesh/easymesh-parser.y" - { mc.m_mesh.LoopStart((yysemantic_stack_[(2) - (2)].ival)); } - break; - - case 21: - -/* Line 677 of lalr1.cc */ -#line 136 "easymesh/easymesh-parser.y" - { mc.m_mesh.DupAndScale(vec3(1.f), true); } - break; - - case 22: - -/* Line 677 of lalr1.cc */ -#line 140 "easymesh/easymesh-parser.y" - { mc.m_mesh.OpenBrace(); } - break; - - case 23: - -/* Line 677 of lalr1.cc */ -#line 144 "easymesh/easymesh-parser.y" - { mc.m_mesh.CloseBrace(); } - break; - - case 24: - -/* Line 677 of lalr1.cc */ -#line 148 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetCurColor(vec4((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval))); } - break; - - case 25: - -/* Line 677 of lalr1.cc */ -#line 149 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetCurColor(vec4((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2], (yysemantic_stack_[(2) - (2)].vval)[3])); } - break; - - case 26: - -/* Line 677 of lalr1.cc */ -#line 150 "easymesh/easymesh-parser.y" - { uint32_t x = (yysemantic_stack_[(2) - (2)].u32val); - ivec4 v(x >> 24, (x >> 16) & 0xff, (x >> 8) & 0xff, x & 0xff); - mc.m_mesh.SetCurColor(vec4(v) * (1.f / 255.f)); } - break; - - case 27: - -/* Line 677 of lalr1.cc */ -#line 153 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetCurColorA(vec4((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval))); } - break; - - case 28: - -/* Line 677 of lalr1.cc */ -#line 154 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetCurColorA(vec4((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2], (yysemantic_stack_[(2) - (2)].vval)[3])); } - break; - - case 29: - -/* Line 677 of lalr1.cc */ -#line 155 "easymesh/easymesh-parser.y" - { uint32_t x = (yysemantic_stack_[(2) - (2)].u32val); - ivec4 v(x >> 24, (x >> 16) & 0xff, (x >> 8) & 0xff, x & 0xff); - mc.m_mesh.SetCurColorA(vec4(v) * (1.f / 255.f)); } - break; - - case 30: - -/* Line 677 of lalr1.cc */ -#line 158 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetCurColorB(vec4((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval))); } - break; - - case 31: - -/* Line 677 of lalr1.cc */ -#line 159 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetCurColorB(vec4((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2], (yysemantic_stack_[(2) - (2)].vval)[3])); } - break; - - case 32: - -/* Line 677 of lalr1.cc */ -#line 160 "easymesh/easymesh-parser.y" - { uint32_t x = (yysemantic_stack_[(2) - (2)].u32val); - ivec4 v(x >> 24, (x >> 16) & 0xff, (x >> 8) & 0xff, x & 0xff); - mc.m_mesh.SetCurColorB(vec4(v) * (1.f / 255.f)); } - break; - - case 33: - -/* Line 677 of lalr1.cc */ -#line 163 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetVertColor(vec4((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval))); } - break; - - case 34: - -/* Line 677 of lalr1.cc */ -#line 164 "easymesh/easymesh-parser.y" - { mc.m_mesh.SetVertColor(vec4((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2], (yysemantic_stack_[(2) - (2)].vval)[3])); } - break; - - case 35: - -/* Line 677 of lalr1.cc */ -#line 165 "easymesh/easymesh-parser.y" - { uint32_t x = (yysemantic_stack_[(2) - (2)].u32val); - ivec4 v(x >> 24, (x >> 16) & 0xff, (x >> 8) & 0xff, x & 0xff); - mc.m_mesh.SetVertColor(vec4(v) * (1.f / 255.f)); } - break; - - case 36: - -/* Line 677 of lalr1.cc */ -#line 171 "easymesh/easymesh-parser.y" - { mc.m_mesh.Translate(vec3((yysemantic_stack_[(2) - (2)].fval), 0.f, 0.f)); } - break; - - case 37: - -/* Line 677 of lalr1.cc */ -#line 172 "easymesh/easymesh-parser.y" - { mc.m_mesh.Translate(vec3(0.f, (yysemantic_stack_[(2) - (2)].fval), 0.f)); } - break; - - case 38: - -/* Line 677 of lalr1.cc */ -#line 173 "easymesh/easymesh-parser.y" - { mc.m_mesh.Translate(vec3(0.f, 0.f, (yysemantic_stack_[(2) - (2)].fval))); } - break; - - case 39: - -/* Line 677 of lalr1.cc */ -#line 174 "easymesh/easymesh-parser.y" - { mc.m_mesh.Translate(vec3((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval))); } - break; - - case 40: - -/* Line 677 of lalr1.cc */ -#line 175 "easymesh/easymesh-parser.y" - { mc.m_mesh.Translate(vec3((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2])); } - break; - - case 41: - -/* Line 677 of lalr1.cc */ -#line 176 "easymesh/easymesh-parser.y" - { mc.m_mesh.RotateX((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 42: - -/* Line 677 of lalr1.cc */ -#line 177 "easymesh/easymesh-parser.y" - { mc.m_mesh.RotateY((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 43: - -/* Line 677 of lalr1.cc */ -#line 178 "easymesh/easymesh-parser.y" - { mc.m_mesh.RotateZ((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 44: - -/* Line 677 of lalr1.cc */ -#line 179 "easymesh/easymesh-parser.y" - { mc.m_mesh.Rotate((yysemantic_stack_[(5) - (2)].fval), vec3((yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval))); } - break; - - case 45: - -/* Line 677 of lalr1.cc */ -#line 180 "easymesh/easymesh-parser.y" - { mc.m_mesh.Rotate((yysemantic_stack_[(3) - (2)].fval), vec3((yysemantic_stack_[(3) - (3)].vval)[0], (yysemantic_stack_[(3) - (3)].vval)[1], (yysemantic_stack_[(3) - (3)].vval)[2])); } - break; - - case 46: - -/* Line 677 of lalr1.cc */ -#line 181 "easymesh/easymesh-parser.y" - { mc.m_mesh.RadialJitter((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 47: - -/* Line 677 of lalr1.cc */ -#line 182 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperX((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 48: - -/* Line 677 of lalr1.cc */ -#line 183 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperX((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 49: - -/* Line 677 of lalr1.cc */ -#line 184 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperX((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 50: - -/* Line 677 of lalr1.cc */ -#line 185 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperY((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 51: - -/* Line 677 of lalr1.cc */ -#line 186 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperY((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 52: - -/* Line 677 of lalr1.cc */ -#line 187 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperY((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 53: - -/* Line 677 of lalr1.cc */ -#line 188 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperZ((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 54: - -/* Line 677 of lalr1.cc */ -#line 189 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperZ((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 55: - -/* Line 677 of lalr1.cc */ -#line 190 "easymesh/easymesh-parser.y" - { mc.m_mesh.TaperZ((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 56: - -/* Line 677 of lalr1.cc */ -#line 191 "easymesh/easymesh-parser.y" - { mc.m_mesh.TwistX((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 57: - -/* Line 677 of lalr1.cc */ -#line 192 "easymesh/easymesh-parser.y" - { mc.m_mesh.TwistX((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 58: - -/* Line 677 of lalr1.cc */ -#line 193 "easymesh/easymesh-parser.y" - { mc.m_mesh.TwistY((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 59: - -/* Line 677 of lalr1.cc */ -#line 194 "easymesh/easymesh-parser.y" - { mc.m_mesh.TwistY((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 60: - -/* Line 677 of lalr1.cc */ -#line 195 "easymesh/easymesh-parser.y" - { mc.m_mesh.TwistZ((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 61: - -/* Line 677 of lalr1.cc */ -#line 196 "easymesh/easymesh-parser.y" - { mc.m_mesh.TwistZ((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 62: - -/* Line 677 of lalr1.cc */ -#line 197 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearX((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 63: - -/* Line 677 of lalr1.cc */ -#line 198 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearX((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 64: - -/* Line 677 of lalr1.cc */ -#line 199 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearX((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 65: - -/* Line 677 of lalr1.cc */ -#line 200 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearY((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 66: - -/* Line 677 of lalr1.cc */ -#line 201 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearY((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 67: - -/* Line 677 of lalr1.cc */ -#line 202 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearY((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 68: - -/* Line 677 of lalr1.cc */ -#line 203 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearZ((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 69: - -/* Line 677 of lalr1.cc */ -#line 204 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearZ((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 70: - -/* Line 677 of lalr1.cc */ -#line 205 "easymesh/easymesh-parser.y" - { mc.m_mesh.ShearZ((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 71: - -/* Line 677 of lalr1.cc */ -#line 206 "easymesh/easymesh-parser.y" - { mc.m_mesh.StretchX((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 72: - -/* Line 677 of lalr1.cc */ -#line 207 "easymesh/easymesh-parser.y" - { mc.m_mesh.StretchX((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 73: - -/* Line 677 of lalr1.cc */ -#line 208 "easymesh/easymesh-parser.y" - { mc.m_mesh.StretchY((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 74: - -/* Line 677 of lalr1.cc */ -#line 209 "easymesh/easymesh-parser.y" - { mc.m_mesh.StretchY((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 75: - -/* Line 677 of lalr1.cc */ -#line 210 "easymesh/easymesh-parser.y" - { mc.m_mesh.StretchZ((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 76: - -/* Line 677 of lalr1.cc */ -#line 211 "easymesh/easymesh-parser.y" - { mc.m_mesh.StretchZ((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 77: - -/* Line 677 of lalr1.cc */ -#line 212 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendXY((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 78: - -/* Line 677 of lalr1.cc */ -#line 213 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendXY((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 79: - -/* Line 677 of lalr1.cc */ -#line 214 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendXZ((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 80: - -/* Line 677 of lalr1.cc */ -#line 215 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendXZ((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 81: - -/* Line 677 of lalr1.cc */ -#line 216 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendYX((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 82: - -/* Line 677 of lalr1.cc */ -#line 217 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendYX((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 83: - -/* Line 677 of lalr1.cc */ -#line 218 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendYZ((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 84: - -/* Line 677 of lalr1.cc */ -#line 219 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendYZ((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 85: - -/* Line 677 of lalr1.cc */ -#line 220 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendZX((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 86: - -/* Line 677 of lalr1.cc */ -#line 221 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendZX((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 87: - -/* Line 677 of lalr1.cc */ -#line 222 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendZY((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 88: - -/* Line 677 of lalr1.cc */ -#line 223 "easymesh/easymesh-parser.y" - { mc.m_mesh.BendZY((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 89: - -/* Line 677 of lalr1.cc */ -#line 224 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].fval), 1.f, 1.f)); } - break; - - case 90: - -/* Line 677 of lalr1.cc */ -#line 225 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3(1.f, (yysemantic_stack_[(2) - (2)].fval), 1.f)); } - break; - - case 91: - -/* Line 677 of lalr1.cc */ -#line 226 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3(1.f, 1.f, (yysemantic_stack_[(2) - (2)].fval))); } - break; - - case 92: - -/* Line 677 of lalr1.cc */ -#line 227 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval))); } - break; - - case 93: - -/* Line 677 of lalr1.cc */ -#line 228 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2])); } - break; - - case 94: - -/* Line 677 of lalr1.cc */ -#line 229 "easymesh/easymesh-parser.y" - { mc.m_mesh.Scale(vec3((yysemantic_stack_[(2) - (2)].fval), (yysemantic_stack_[(2) - (2)].fval), (yysemantic_stack_[(2) - (2)].fval))); } - break; - - case 95: - -/* Line 677 of lalr1.cc */ -#line 230 "easymesh/easymesh-parser.y" - { mc.m_mesh.MirrorX(); } - break; - - case 96: - -/* Line 677 of lalr1.cc */ -#line 231 "easymesh/easymesh-parser.y" - { mc.m_mesh.MirrorY(); } - break; - - case 97: - -/* Line 677 of lalr1.cc */ -#line 232 "easymesh/easymesh-parser.y" - { mc.m_mesh.MirrorZ(); } - break; - - case 98: - -/* Line 677 of lalr1.cc */ -#line 233 "easymesh/easymesh-parser.y" - { mc.m_mesh.Chamfer((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 99: - -/* Line 677 of lalr1.cc */ -#line 234 "easymesh/easymesh-parser.y" - { mc.m_mesh.SplitTriangles((yysemantic_stack_[(2) - (2)].ival)); } - break; - - case 100: - -/* Line 677 of lalr1.cc */ -#line 235 "easymesh/easymesh-parser.y" - { mc.m_mesh.SmoothMesh((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].ival), (yysemantic_stack_[(4) - (4)].ival)); } - break; - - case 101: - -/* Line 677 of lalr1.cc */ -#line 236 "easymesh/easymesh-parser.y" - { mc.m_mesh.ToggleScaleWinding(); } - break; - - case 102: - -/* Line 677 of lalr1.cc */ -#line 237 "easymesh/easymesh-parser.y" - { mc.m_mesh.ToggleQuadWeighting(); } - break; - - case 103: - -/* Line 677 of lalr1.cc */ -#line 238 "easymesh/easymesh-parser.y" - { mc.m_mesh.TogglePostBuildNormal(); } - break; - - case 104: - -/* Line 677 of lalr1.cc */ -#line 239 "easymesh/easymesh-parser.y" - { mc.m_mesh.ToggleVerticeNoCleanup(); } - break; - - case 105: - -/* Line 677 of lalr1.cc */ -#line 240 "easymesh/easymesh-parser.y" - { mc.m_mesh.VerticesMerge(); } - break; - - case 106: - -/* Line 677 of lalr1.cc */ -#line 241 "easymesh/easymesh-parser.y" - { mc.m_mesh.VerticesSeparate(); } - break; - - case 107: - -/* Line 677 of lalr1.cc */ -#line 245 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCylinder((yysemantic_stack_[(8) - (2)].ival), (yysemantic_stack_[(8) - (3)].fval), (yysemantic_stack_[(8) - (4)].fval), (yysemantic_stack_[(8) - (5)].fval), (yysemantic_stack_[(8) - (6)].bval), (yysemantic_stack_[(8) - (7)].bval), (yysemantic_stack_[(8) - (8)].bval)); } - break; - - case 108: - -/* Line 677 of lalr1.cc */ -#line 246 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCylinder((yysemantic_stack_[(7) - (2)].ival), (yysemantic_stack_[(7) - (3)].fval), (yysemantic_stack_[(7) - (4)].fval), (yysemantic_stack_[(7) - (5)].fval), (yysemantic_stack_[(7) - (6)].bval), (yysemantic_stack_[(7) - (7)].bval)); } - break; - - case 109: - -/* Line 677 of lalr1.cc */ -#line 247 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCylinder((yysemantic_stack_[(6) - (2)].ival), (yysemantic_stack_[(6) - (3)].fval), (yysemantic_stack_[(6) - (4)].fval), (yysemantic_stack_[(6) - (5)].fval), (yysemantic_stack_[(6) - (6)].bval)); } - break; - - case 110: - -/* Line 677 of lalr1.cc */ -#line 248 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCylinder((yysemantic_stack_[(5) - (2)].ival), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval)); } - break; - - case 111: - -/* Line 677 of lalr1.cc */ -#line 249 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCylinder((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 112: - -/* Line 677 of lalr1.cc */ -#line 250 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSphere((yysemantic_stack_[(3) - (2)].ival), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 113: - -/* Line 677 of lalr1.cc */ -#line 251 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCapsule((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 114: - -/* Line 677 of lalr1.cc */ -#line 252 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendTorus((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 115: - -/* Line 677 of lalr1.cc */ -#line 253 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval)), (yysemantic_stack_[(5) - (5)].fval)); } - break; - - case 116: - -/* Line 677 of lalr1.cc */ -#line 254 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(4) - (2)].fval), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval))); } - break; - - case 117: - -/* Line 677 of lalr1.cc */ -#line 255 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].fval), (yysemantic_stack_[(2) - (2)].fval), (yysemantic_stack_[(2) - (2)].fval))); } - break; - - case 118: - -/* Line 677 of lalr1.cc */ -#line 256 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(3) - (2)].vval)[0], (yysemantic_stack_[(3) - (2)].vval)[1], (yysemantic_stack_[(3) - (2)].vval)[2]), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 119: - -/* Line 677 of lalr1.cc */ -#line 257 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendBox(vec3((yysemantic_stack_[(2) - (2)].vval)[0], (yysemantic_stack_[(2) - (2)].vval)[1], (yysemantic_stack_[(2) - (2)].vval)[2])); } - break; - - case 120: - -/* Line 677 of lalr1.cc */ -#line 258 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval)), (yysemantic_stack_[(5) - (5)].fval)); } - break; - - case 121: - -/* Line 677 of lalr1.cc */ -#line 259 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (2)].fval)), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 122: - -/* Line 677 of lalr1.cc */ -#line 260 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSmoothChamfBox(vec3((yysemantic_stack_[(3) - (2)].vval)[0], (yysemantic_stack_[(3) - (2)].vval)[1], (yysemantic_stack_[(3) - (2)].vval)[2]), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 123: - -/* Line 677 of lalr1.cc */ -#line 261 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(5) - (2)].fval), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval)), (yysemantic_stack_[(5) - (5)].fval)); } - break; - - case 124: - -/* Line 677 of lalr1.cc */ -#line 262 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (2)].fval)), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 125: - -/* Line 677 of lalr1.cc */ -#line 263 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendFlatChamfBox(vec3((yysemantic_stack_[(3) - (2)].vval)[0], (yysemantic_stack_[(3) - (2)].vval)[1], (yysemantic_stack_[(3) - (2)].vval)[2]), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 126: - -/* Line 677 of lalr1.cc */ -#line 264 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendStar((yysemantic_stack_[(6) - (2)].ival), (yysemantic_stack_[(6) - (3)].fval), (yysemantic_stack_[(6) - (4)].fval), (yysemantic_stack_[(6) - (5)].bval), (yysemantic_stack_[(6) - (6)].bval)); } - break; - - case 127: - -/* Line 677 of lalr1.cc */ -#line 265 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendStar((yysemantic_stack_[(5) - (2)].ival), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].bval)); } - break; - - case 128: - -/* Line 677 of lalr1.cc */ -#line 266 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendStar((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 129: - -/* Line 677 of lalr1.cc */ -#line 267 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendExpandedStar((yysemantic_stack_[(5) - (2)].ival), (yysemantic_stack_[(5) - (3)].fval), (yysemantic_stack_[(5) - (4)].fval), (yysemantic_stack_[(5) - (5)].fval)); } - break; - - case 130: - -/* Line 677 of lalr1.cc */ -#line 268 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendExpandedStar((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].fval)); } - break; - - case 131: - -/* Line 677 of lalr1.cc */ -#line 269 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendDisc((yysemantic_stack_[(4) - (2)].ival), (yysemantic_stack_[(4) - (3)].fval), (yysemantic_stack_[(4) - (4)].bval)); } - break; - - case 132: - -/* Line 677 of lalr1.cc */ -#line 270 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendDisc((yysemantic_stack_[(3) - (2)].ival), (yysemantic_stack_[(3) - (3)].fval)); } - break; - - case 133: - -/* Line 677 of lalr1.cc */ -#line 271 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].bval)); } - break; - - case 134: - -/* Line 677 of lalr1.cc */ -#line 272 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSimpleTriangle((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 135: - -/* Line 677 of lalr1.cc */ -#line 273 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(3) - (2)].fval), (yysemantic_stack_[(3) - (3)].bval)); } - break; - - case 136: - -/* Line 677 of lalr1.cc */ -#line 274 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendSimpleQuad((yysemantic_stack_[(2) - (2)].fval)); } - break; - - case 137: - -/* Line 677 of lalr1.cc */ -#line 275 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCog((yysemantic_stack_[(11) - (2)].ival), (yysemantic_stack_[(11) - (3)].fval), (yysemantic_stack_[(11) - (4)].fval), (yysemantic_stack_[(11) - (5)].fval), (yysemantic_stack_[(11) - (6)].fval), (yysemantic_stack_[(11) - (7)].fval), (yysemantic_stack_[(11) - (8)].fval), (yysemantic_stack_[(11) - (9)].fval), (yysemantic_stack_[(11) - (10)].fval), (yysemantic_stack_[(11) - (11)].bval)); } - break; - - case 138: - -/* Line 677 of lalr1.cc */ -#line 276 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCog((yysemantic_stack_[(10) - (2)].ival), (yysemantic_stack_[(10) - (3)].fval), (yysemantic_stack_[(10) - (4)].fval), (yysemantic_stack_[(10) - (5)].fval), (yysemantic_stack_[(10) - (6)].fval), (yysemantic_stack_[(10) - (7)].fval), (yysemantic_stack_[(10) - (8)].fval), (yysemantic_stack_[(10) - (9)].fval), (yysemantic_stack_[(10) - (10)].fval)); } - break; - - case 139: - -/* Line 677 of lalr1.cc */ -#line 277 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCog((yysemantic_stack_[(9) - (2)].ival), (yysemantic_stack_[(9) - (3)].fval), (yysemantic_stack_[(9) - (4)].fval), (yysemantic_stack_[(9) - (5)].fval), (yysemantic_stack_[(9) - (6)].fval), (yysemantic_stack_[(9) - (7)].fval), (yysemantic_stack_[(9) - (8)].fval), (yysemantic_stack_[(9) - (9)].fval)); } - break; - - case 140: - -/* Line 677 of lalr1.cc */ -#line 278 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCog((yysemantic_stack_[(8) - (2)].ival), (yysemantic_stack_[(8) - (3)].fval), (yysemantic_stack_[(8) - (4)].vval)[0], (yysemantic_stack_[(8) - (4)].vval)[1], (yysemantic_stack_[(8) - (5)].vval)[0], (yysemantic_stack_[(8) - (5)].vval)[1], (yysemantic_stack_[(8) - (6)].vval)[0], (yysemantic_stack_[(8) - (6)].vval)[1], (yysemantic_stack_[(8) - (7)].fval), (yysemantic_stack_[(8) - (8)].bval)); } - break; - - case 141: - -/* Line 677 of lalr1.cc */ -#line 279 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCog((yysemantic_stack_[(7) - (2)].ival), (yysemantic_stack_[(7) - (3)].fval), (yysemantic_stack_[(7) - (4)].vval)[0], (yysemantic_stack_[(7) - (4)].vval)[1], (yysemantic_stack_[(7) - (5)].vval)[0], (yysemantic_stack_[(7) - (5)].vval)[1], (yysemantic_stack_[(7) - (6)].vval)[0], (yysemantic_stack_[(7) - (6)].vval)[1], (yysemantic_stack_[(7) - (7)].fval)); } - break; - - case 142: - -/* Line 677 of lalr1.cc */ -#line 280 "easymesh/easymesh-parser.y" - { mc.m_mesh.AppendCog((yysemantic_stack_[(6) - (2)].ival), (yysemantic_stack_[(6) - (3)].fval), (yysemantic_stack_[(6) - (4)].vval)[0], (yysemantic_stack_[(6) - (4)].vval)[1], (yysemantic_stack_[(6) - (5)].vval)[0], (yysemantic_stack_[(6) - (5)].vval)[1], (yysemantic_stack_[(6) - (6)].vval)[0], (yysemantic_stack_[(6) - (6)].vval)[1]); } - break; - - case 143: - -/* Line 677 of lalr1.cc */ -#line 285 "easymesh/easymesh-parser.y" - { (yyval.fval) = (yysemantic_stack_[(1) - (1)].fval); } - break; - - case 144: - -/* Line 677 of lalr1.cc */ -#line 286 "easymesh/easymesh-parser.y" - { (yyval.fval) = -(yysemantic_stack_[(2) - (2)].fval); } - break; - - case 145: - -/* Line 677 of lalr1.cc */ -#line 287 "easymesh/easymesh-parser.y" - { (yyval.fval) = (float)(yysemantic_stack_[(1) - (1)].ival); } - break; - - case 146: - -/* Line 677 of lalr1.cc */ -#line 288 "easymesh/easymesh-parser.y" - { (yyval.fval) = -(float)(yysemantic_stack_[(2) - (2)].ival); } - break; - - case 147: - -/* Line 677 of lalr1.cc */ -#line 292 "easymesh/easymesh-parser.y" - { (yyval.ival) = (yysemantic_stack_[(1) - (1)].ival); } - break; - - case 148: - -/* Line 677 of lalr1.cc */ -#line 293 "easymesh/easymesh-parser.y" - { (yyval.ival) = -(yysemantic_stack_[(2) - (2)].ival); } - break; - - case 149: - -/* Line 677 of lalr1.cc */ -#line 294 "easymesh/easymesh-parser.y" - { (yyval.ival) = (int)(yysemantic_stack_[(1) - (1)].fval); } - break; - - case 150: - -/* Line 677 of lalr1.cc */ -#line 295 "easymesh/easymesh-parser.y" - { (yyval.ival) = -(int)(yysemantic_stack_[(2) - (2)].fval); } - break; - - case 151: - -/* Line 677 of lalr1.cc */ -#line 300 "easymesh/easymesh-parser.y" - { (yyval.vval)[0] = (yysemantic_stack_[(3) - (2)].fval); (yyval.vval)[1] = (yysemantic_stack_[(3) - (2)].fval); } - break; - - case 152: - -/* Line 677 of lalr1.cc */ -#line 301 "easymesh/easymesh-parser.y" - { (yyval.vval)[0] = (yysemantic_stack_[(4) - (2)].fval); (yyval.vval)[1] = (yysemantic_stack_[(4) - (3)].fval); } - break; - - case 153: - -/* Line 677 of lalr1.cc */ -#line 305 "easymesh/easymesh-parser.y" - { (yyval.vval)[0] = (yysemantic_stack_[(3) - (2)].fval); (yyval.vval)[1] = (yysemantic_stack_[(3) - (2)].fval); (yyval.vval)[2] = (yysemantic_stack_[(3) - (2)].fval); } - break; - - case 154: - -/* Line 677 of lalr1.cc */ -#line 306 "easymesh/easymesh-parser.y" - { (yyval.vval)[0] = (yysemantic_stack_[(5) - (2)].fval); (yyval.vval)[1] = (yysemantic_stack_[(5) - (3)].fval); (yyval.vval)[2] = (yysemantic_stack_[(5) - (4)].fval); } - break; - - case 155: - -/* Line 677 of lalr1.cc */ -#line 310 "easymesh/easymesh-parser.y" - { (yyval.vval)[0] = (yysemantic_stack_[(3) - (2)].fval); (yyval.vval)[1] = (yysemantic_stack_[(3) - (2)].fval); (yyval.vval)[2] = (yysemantic_stack_[(3) - (2)].fval); (yyval.vval)[3] = (yysemantic_stack_[(3) - (2)].fval); } - break; - - case 156: - -/* Line 677 of lalr1.cc */ -#line 311 "easymesh/easymesh-parser.y" - { (yyval.vval)[0] = (yysemantic_stack_[(6) - (2)].fval); (yyval.vval)[1] = (yysemantic_stack_[(6) - (3)].fval); (yyval.vval)[2] = (yysemantic_stack_[(6) - (4)].fval); (yyval.vval)[3] = (yysemantic_stack_[(6) - (5)].fval); } - break; - - case 157: - -/* Line 677 of lalr1.cc */ -#line 316 "easymesh/easymesh-parser.y" - { (yyval.bval) = (yysemantic_stack_[(1) - (1)].bval); } - break; - - case 158: - -/* Line 677 of lalr1.cc */ -#line 317 "easymesh/easymesh-parser.y" - { (yyval.bval) = !!(yysemantic_stack_[(1) - (1)].ival); } - break; - - case 159: - -/* Line 677 of lalr1.cc */ -#line 318 "easymesh/easymesh-parser.y" - { (yyval.bval) = !!(yysemantic_stack_[(1) - (1)].fval); } - break; - - - -/* Line 677 of lalr1.cc */ -#line 1474 "generated/easymesh-parser.cpp" - default: - break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc); - - yypop_ (yylen); - yylen = 0; - YY_STACK_PRINT (); - - yysemantic_stack_.push (yyval); - yylocation_stack_.push (yyloc); - - /* Shift the result of the reduction. */ - yyn = yyr1_[yyn]; - yystate = yypgoto_[yyn - yyntokens_] + yystate_stack_[0]; - if (0 <= yystate && yystate <= yylast_ - && yycheck_[yystate] == yystate_stack_[0]) - yystate = yytable_[yystate]; - else - yystate = yydefgoto_[yyn - yyntokens_]; - goto yynewstate; - - /*------------------------------------. - | yyerrlab -- here on detecting error | - `------------------------------------*/ - yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus_) - { - ++yynerrs_; - error (yylloc, yysyntax_error_ (yystate, yytoken)); - } - - yyerror_range[0] = yylloc; - if (yyerrstatus_ == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= yyeof_) - { - /* Return failure if at end of input. */ - if (yychar == yyeof_) - YYABORT; - } - else - { - yydestruct_ ("Error: discarding", yytoken, &yylval, &yylloc); - yychar = yyempty_; - } - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab1; - - - /*---------------------------------------------------. - | yyerrorlab -- error raised explicitly by YYERROR. | - `---------------------------------------------------*/ - yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (false) - goto yyerrorlab; - - yyerror_range[0] = yylocation_stack_[yylen - 1]; - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - yypop_ (yylen); - yylen = 0; - yystate = yystate_stack_[0]; - goto yyerrlab1; - - /*-------------------------------------------------------------. - | yyerrlab1 -- common code for both syntax error and YYERROR. | - `-------------------------------------------------------------*/ - yyerrlab1: - yyerrstatus_ = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact_[yystate]; - if (yyn != yypact_ninf_) - { - yyn += yyterror_; - if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_) - { - yyn = yytable_[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yystate_stack_.height () == 1) - YYABORT; - - yyerror_range[0] = yylocation_stack_[0]; - yydestruct_ ("Error: popping", - yystos_[yystate], - &yysemantic_stack_[0], &yylocation_stack_[0]); - yypop_ (); - yystate = yystate_stack_[0]; - YY_STACK_PRINT (); - } - - yyerror_range[1] = yylloc; - // Using YYLLOC is tempting, but would change the location of - // the lookahead. YYLOC is available though. - YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yyloc); - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos_[yyn], - &yysemantic_stack_[0], &yylocation_stack_[0]); - - yystate = yyn; - goto yynewstate; - - /* Accept. */ - yyacceptlab: - yyresult = 0; - goto yyreturn; - - /* Abort. */ - yyabortlab: - yyresult = 1; - goto yyreturn; - - yyreturn: - if (yychar != yyempty_) - yydestruct_ ("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc); - - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - yypop_ (yylen); - while (yystate_stack_.height () != 1) - { - yydestruct_ ("Cleanup: popping", - yystos_[yystate_stack_[0]], - &yysemantic_stack_[0], - &yylocation_stack_[0]); - yypop_ (); - } - - return yyresult; - } - - // Generate an error message. - std::string - EasyMeshParser::yysyntax_error_ (int yystate, int tok) - { - std::string res; - YYUSE (yystate); -#if YYERROR_VERBOSE - int yyn = yypact_[yystate]; - if (yypact_ninf_ < yyn && yyn <= yylast_) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = yylast_ - yyn + 1; - int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_; - int count = 0; - for (int x = yyxbegin; x < yyxend; ++x) - if (yycheck_[x + yyn] == x && x != yyterror_) - ++count; - - // FIXME: This method of building the message is not compatible - // with internationalization. It should work like yacc.c does it. - // That is, first build a string that looks like this: - // "syntax error, unexpected %s or %s or %s" - // Then, invoke YY_ on this string. - // Finally, use the string as a format to output - // yytname_[tok], etc. - // Until this gets fixed, this message appears in English only. - res = "syntax error, unexpected "; - res += yytnamerr_ (yytname_[tok]); - if (count < 5) - { - count = 0; - for (int x = yyxbegin; x < yyxend; ++x) - if (yycheck_[x + yyn] == x && x != yyterror_) - { - res += (!count++) ? ", expecting " : " or "; - res += yytnamerr_ (yytname_[x]); - } - } - } - else -#endif - res = YY_("syntax error"); - return res; - } - - - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ - const short int EasyMeshParser::yypact_ninf_ = -266; - const short int - EasyMeshParser::yypact_[] = - { - 412, -14, 17, 89, 108, 146, -266, -266, -266, -266, - -266, -266, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -266, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -266, 87, 87, 87, 87, 87, 87, 87, 87, - 87, -266, 164, 87, 164, 87, -14, -14, -266, -57, - -57, -57, -57, -57, 87, -14, 164, 164, 164, -14, - -14, -14, -14, -14, 87, 87, -14, -14, -266, 38, - 43, 412, -266, 485, -266, -26, -19, 412, -266, -266, - -266, -266, -266, 129, -266, -266, -266, -266, 129, 87, - 87, -266, -266, 87, -266, -266, 87, -266, -266, 87, - -266, -266, -266, 87, 87, 87, 87, 87, 87, -266, - -266, -266, 87, 87, 87, 87, 87, 87, -266, -266, - -266, 87, 87, 87, 87, 87, 87, -266, 87, 87, - -266, 164, 87, -266, -266, -266, -14, 412, 412, 412, - 412, 412, -266, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, -25, -25, 87, 87, -266, - -266, -266, -266, 412, 412, -17, -266, -266, 129, -266, - -266, -266, -266, -27, 87, 87, 87, 87, 87, -266, - 87, 87, -266, -266, 87, -266, 87, 87, -266, -266, - 87, -266, 87, 87, -266, -266, -5, 87, 87, -266, - 87, -14, -16, -8, 6, 8, 16, 87, 87, -266, - 87, -266, 87, -266, -266, 87, 87, 87, -25, -266, - -266, -266, -266, -266, 166, 87, 30, -17, -266, -266, - -266, -266, -266, 87, 87, 87, 87, 87, -25, -25, - -266, -25, -25, -266, -25, -25, -266, -266, 87, -266, - 87, -266, -266, -266, -266, -266, -266, -266, 87, 87, - 87, 87, -266, -25, 87, -266, 87, 87, -9, -266, - -266, -266, 87, -266, -266, -266, -266, -266, -266, -266, - -266, -266, -266, -6, -266, -25, -266, -266, -266, -25, - -266, 4, 87, -9, 28, -266, -25, -266, -266, 29, - 87, 87, -266, -25, -266, 87, -25, -266, 87, -266, - 87, -25, -266 - }; - - /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE - doesn't specify something else to do. Zero means the default is an - error. */ - const unsigned char - EasyMeshParser::yydefact_[] = - { - 0, 0, 0, 0, 0, 0, 101, 102, 103, 104, - 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 97, 0, 0, 0, 0, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, - 0, 3, 5, 7, 12, 0, 0, 0, 9, 10, - 11, 149, 147, 0, 20, 143, 145, 26, 0, 0, - 0, 25, 29, 0, 28, 32, 0, 31, 35, 0, - 34, 36, 41, 0, 57, 0, 0, 78, 80, 89, - 37, 42, 0, 59, 0, 0, 82, 84, 90, 38, - 43, 0, 61, 0, 0, 86, 88, 91, 0, 0, - 40, 0, 94, 93, 46, 99, 0, 0, 0, 0, - 0, 0, 98, 0, 117, 119, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 134, 136, 0, 0, 1, - 2, 4, 8, 0, 0, 0, 143, 145, 0, 150, - 148, 144, 146, 0, 0, 0, 0, 0, 49, 56, - 64, 72, 77, 79, 52, 58, 67, 74, 81, 83, - 55, 60, 70, 76, 85, 87, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, - 121, 122, 124, 125, 112, 0, 0, 0, 132, 159, - 158, 157, 133, 135, 0, 0, 0, 0, 23, 6, - 144, 146, 155, 0, 0, 0, 0, 0, 48, 63, - 71, 51, 66, 73, 54, 69, 75, 153, 0, 39, - 0, 92, 100, 15, 16, 17, 18, 19, 111, 116, - 0, 0, 113, 128, 130, 131, 0, 0, 0, 114, - 14, 13, 0, 24, 27, 30, 33, 47, 62, 50, - 65, 53, 68, 0, 44, 110, 115, 120, 123, 127, - 129, 0, 0, 0, 0, 154, 109, 126, 151, 0, - 0, 142, 156, 108, 152, 0, 141, 107, 0, 140, - 139, 138, 137 - }; - - /* YYPGOTO[NTERM-NUM]. */ - const short int - EasyMeshParser::yypgoto_[] = - { - -266, -266, -7, -266, -2, -266, -266, -266, -266, -45, - -112, -266, -266, -266, -3, 213, -265, 21, 94, 72 - }; - - /* YYDEFGOTO[NTERM-NUM]. */ - const short int - EasyMeshParser::yydefgoto_[] = - { - -1, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 229, 78, 79, 80, 90, 84, 268, 130, 91, 222 - }; - - /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. */ - const signed char EasyMeshParser::yytable_ninf_ = -1; - const unsigned short int - EasyMeshParser::yytable_[] = - { - 93, 96, 99, 293, 137, 138, 139, 140, 141, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 68, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 301, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 159, 129, - 131, 132, 134, 160, 85, 86, 219, 220, 221, 163, - 88, 142, 232, 144, 146, 148, 164, 81, 82, 228, - 253, 155, 156, 83, 161, 133, 85, 86, 254, 266, - 165, 162, 88, 295, 247, 85, 86, 145, 147, 149, - 169, 88, 255, 298, 256, 171, 173, 174, 85, 86, - 175, 87, 257, 176, 88, 89, 177, 94, 97, 100, - 178, 179, 180, 181, 182, 183, 270, 302, 304, 184, - 185, 186, 187, 188, 189, 271, 0, 0, 190, 191, - 192, 193, 194, 195, 0, 196, 197, 0, 198, 200, - 202, 203, 204, 205, 206, 0, 0, 0, 0, 0, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 199, 0, 224, 225, 226, 227, 85, 86, - 85, 86, 0, 92, 88, 230, 88, 89, 0, 0, - 233, 234, 235, 236, 237, 238, 0, 239, 240, 85, - 86, 241, 95, 242, 243, 88, 89, 244, 0, 245, - 246, 0, 0, 248, 249, 250, 0, 251, 0, 0, - 166, 167, 0, 0, 258, 259, 168, 260, 0, 261, - 0, 0, 262, 263, 264, 0, 0, 85, 86, 0, - 98, 267, 269, 88, 89, 0, 0, 0, 223, 0, - 272, 273, 274, 275, 276, 85, 86, 85, 86, 0, - 0, 88, 128, 88, 266, 283, 0, 284, 0, 0, - 0, 0, 0, 0, 0, 285, 286, 287, 288, 135, - 136, 290, 0, 291, 292, 0, 0, 0, 143, 294, - 0, 0, 150, 151, 152, 153, 154, 0, 0, 157, - 158, 0, 0, 0, 0, 0, 0, 0, 299, 300, - 265, 0, 0, 0, 0, 0, 170, 305, 306, 0, - 0, 172, 308, 0, 0, 310, 0, 311, 0, 0, - 277, 278, 0, 279, 280, 0, 281, 282, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, - 0, 0, 0, 0, 0, 0, 0, 296, 0, 0, - 0, 297, 0, 0, 0, 0, 0, 0, 303, 0, - 0, 0, 0, 0, 0, 307, 0, 0, 309, 0, - 0, 231, 0, 312, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 252, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 0, 0, 0, 0, 0, 68, 1, 2, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67 - }; - - /* YYCHECK. */ - const short int - EasyMeshParser::yycheck_[] = - { - 3, 4, 5, 268, 49, 50, 51, 52, 53, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 75, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 293, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 0, 42, - 43, 44, 45, 0, 71, 72, 71, 72, 73, 75, - 77, 54, 79, 56, 57, 58, 75, 71, 72, 76, - 76, 64, 65, 77, 71, 44, 71, 72, 76, 78, - 77, 73, 77, 79, 79, 71, 72, 56, 57, 58, - 83, 77, 76, 79, 76, 88, 89, 90, 71, 72, - 93, 74, 76, 96, 77, 78, 99, 3, 4, 5, - 103, 104, 105, 106, 107, 108, 76, 79, 79, 112, - 113, 114, 115, 116, 117, 227, -1, -1, 121, 122, - 123, 124, 125, 126, -1, 128, 129, -1, 131, 132, - 137, 138, 139, 140, 141, -1, -1, -1, -1, -1, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 131, -1, 157, 158, 163, 164, 71, 72, - 71, 72, -1, 74, 77, 168, 77, 78, -1, -1, - 173, 174, 175, 176, 177, 178, -1, 180, 181, 71, - 72, 184, 74, 186, 187, 77, 78, 190, -1, 192, - 193, -1, -1, 196, 197, 198, -1, 200, -1, -1, - 71, 72, -1, -1, 207, 208, 77, 210, -1, 212, - -1, -1, 215, 216, 217, -1, -1, 71, 72, -1, - 74, 224, 225, 77, 78, -1, -1, -1, 156, -1, - 233, 234, 235, 236, 237, 71, 72, 71, 72, -1, - -1, 77, 78, 77, 78, 248, -1, 250, -1, -1, - -1, -1, -1, -1, -1, 258, 259, 260, 261, 46, - 47, 264, -1, 266, 267, -1, -1, -1, 55, 272, - -1, -1, 59, 60, 61, 62, 63, -1, -1, 66, - 67, -1, -1, -1, -1, -1, -1, -1, 291, 292, - 218, -1, -1, -1, -1, -1, 83, 300, 301, -1, - -1, 88, 305, -1, -1, 308, -1, 310, -1, -1, - 238, 239, -1, 241, 242, -1, 244, 245, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 263, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, - -1, -1, -1, -1, -1, -1, -1, 285, -1, -1, - -1, 289, -1, -1, -1, -1, -1, -1, 296, -1, - -1, -1, -1, -1, -1, 303, -1, -1, 306, -1, - -1, 168, -1, 311, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 201, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, -1, -1, -1, -1, -1, 75, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69 - }; - - /* STOS_[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ - const unsigned char - EasyMeshParser::yystos_[] = - { - 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 75, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, - 93, 71, 72, 77, 95, 71, 72, 74, 77, 78, - 94, 98, 74, 94, 98, 74, 94, 98, 74, 94, - 98, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 78, 94, - 97, 94, 94, 97, 94, 95, 95, 89, 89, 89, - 89, 89, 94, 95, 94, 97, 94, 97, 94, 97, - 95, 95, 95, 95, 95, 94, 94, 95, 95, 0, - 0, 82, 84, 75, 75, 82, 71, 72, 77, 94, - 95, 94, 95, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 97, - 94, 95, 82, 82, 82, 82, 82, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 71, - 72, 73, 99, 99, 94, 94, 82, 82, 76, 90, - 94, 95, 79, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 79, 94, 94, - 94, 94, 95, 76, 76, 76, 76, 76, 94, 94, - 94, 94, 94, 94, 94, 99, 78, 94, 96, 94, - 76, 90, 94, 94, 94, 94, 94, 99, 99, 99, - 99, 99, 99, 94, 94, 94, 94, 94, 94, 99, - 94, 94, 94, 96, 94, 79, 99, 99, 79, 94, - 94, 96, 79, 99, 79, 94, 94, 99, 94, 99, - 94, 94, 99 - }; - -#if YYDEBUG - /* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding - to YYLEX-NUM. */ - const unsigned short int - EasyMeshParser::yytoken_number_[] = - { - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 91, 93, 45, 40, 41 - }; -#endif - - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ - const unsigned char - EasyMeshParser::yyr1_[] = - { - 0, 80, 81, 82, 82, 83, 83, 84, 84, 85, - 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, - 87, 88, 89, 90, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, - 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, - 95, 96, 96, 97, 97, 98, 98, 99, 99, 99 - }; - - /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ - const unsigned char - EasyMeshParser::yyr2_[] = - { - 0, 2, 2, 1, 2, 1, 3, 1, 2, 1, - 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, - 2, 1, 1, 1, 5, 2, 2, 5, 2, 2, - 5, 2, 2, 5, 2, 2, 2, 2, 2, 4, - 2, 2, 2, 2, 5, 3, 2, 5, 4, 3, - 5, 4, 3, 5, 4, 3, 3, 2, 3, 2, - 3, 2, 5, 4, 3, 5, 4, 3, 5, 4, - 3, 4, 3, 4, 3, 4, 3, 3, 2, 3, - 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, - 2, 2, 4, 2, 2, 1, 1, 1, 2, 2, - 4, 1, 1, 1, 1, 1, 1, 8, 7, 6, - 5, 4, 3, 4, 4, 5, 4, 2, 3, 2, - 5, 3, 3, 5, 3, 3, 6, 5, 4, 5, - 4, 4, 3, 3, 2, 3, 2, 11, 10, 9, - 8, 7, 6, 1, 2, 1, 2, 1, 2, 1, - 2, 3, 4, 3, 5, 3, 6, 1, 1, 1 - }; - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at \a yyntokens_, nonterminals. */ - const char* - const EasyMeshParser::yytname_[] = - { - "T_END", "error", "$undefined", "T_LOOP", "T_COLOR", "T_ACOLOR", - "T_BCOLOR", "T_VCOLOR", "T_TOGGLESCALEWINDING", "T_TOGGLEQUADWEIGHTING", - "T_TOGGLEPOSTBUILDNORMAL", "T_TOGGLEVERTNOCLEANUP", "T_VERTMERGE", - "T_VERTSEPARATE", "T_TRANSLATEX", "T_ROTATEX", "T_TAPERX", "T_TWISTX", - "T_SHEARX", "T_STRETCHX", "T_BENDXY", "T_BENDXZ", "T_SCALEX", - "T_MIRRORX", "T_TRANSLATEY", "T_ROTATEY", "T_TAPERY", "T_TWISTY", - "T_SHEARY", "T_STRETCHY", "T_BENDYX", "T_BENDYZ", "T_SCALEY", - "T_MIRRORY", "T_TRANSLATEZ", "T_ROTATEZ", "T_TAPERZ", "T_TWISTZ", - "T_SHEARZ", "T_STRETCHZ", "T_BENDZX", "T_BENDZY", "T_SCALEZ", - "T_MIRRORZ", "T_TRANSLATE", "T_ROTATE", "T_SCALE", "T_RADIALJITTER", - "T_SPLITTRIANGLE", "T_SMOOTHMESH", "T_DUPLICATE", "T_CSGUNION", - "T_CSGSUBSTRACT", "T_CSGSUBSTRACTLOSS", "T_CSGAND", "T_CSGXOR", - "T_CHAMFER", "T_CYLINDER", "T_BOX", "T_SMOOTHCHAMFBOX", "T_FLATCHAMFBOX", - "T_SPHERE", "T_CAPSULE", "T_STAR", "T_EXPANDEDSTAR", "T_DISC", - "T_TRIANGLE", "T_QUAD", "T_COG", "T_TORUS", "T_ERROR", "F_NUMBER", - "I_NUMBER", "BOOLEAN", "COLOR", "'['", "']'", "'-'", "'('", "')'", - "$accept", "mesh_description", "mesh_expression_list", "mesh_expression", - "mesh_command_list", "mesh_command", "post_brace_command", "doloop", - "pre_brace_command", "mesh_open", "mesh_close", "color_command", - "transform_command", "primitive_command", "fv", "iv", "v2", "v3", "v4", - "bv", 0 - }; -#endif - -#if YYDEBUG - /* YYRHS -- A `-1'-separated list of the rules' RHS. */ - const EasyMeshParser::rhs_number_type - EasyMeshParser::yyrhs_[] = - { - 81, 0, -1, 82, 0, -1, 83, -1, 83, 82, - -1, 84, -1, 89, 82, 90, -1, 85, -1, 85, - 84, -1, 91, -1, 92, -1, 93, -1, 86, -1, - 88, 75, 82, 90, -1, 87, 75, 82, 76, -1, - 51, 89, 82, 76, -1, 52, 89, 82, 76, -1, - 53, 89, 82, 76, -1, 54, 89, 82, 76, -1, - 55, 89, 82, 76, -1, 3, 95, -1, 50, -1, - 75, -1, 76, -1, 4, 94, 94, 94, 94, -1, - 4, 98, -1, 4, 74, -1, 5, 94, 94, 94, - 94, -1, 5, 98, -1, 5, 74, -1, 6, 94, - 94, 94, 94, -1, 6, 98, -1, 6, 74, -1, - 7, 94, 94, 94, 94, -1, 7, 98, -1, 7, - 74, -1, 14, 94, -1, 24, 94, -1, 34, 94, - -1, 44, 94, 94, 94, -1, 44, 97, -1, 15, - 94, -1, 25, 94, -1, 35, 94, -1, 45, 94, - 94, 94, 94, -1, 45, 94, 97, -1, 47, 94, - -1, 16, 94, 94, 94, 99, -1, 16, 94, 94, - 94, -1, 16, 94, 94, -1, 26, 94, 94, 94, - 99, -1, 26, 94, 94, 94, -1, 26, 94, 94, - -1, 36, 94, 94, 94, 99, -1, 36, 94, 94, - 94, -1, 36, 94, 94, -1, 17, 94, 94, -1, - 17, 94, -1, 27, 94, 94, -1, 27, 94, -1, - 37, 94, 94, -1, 37, 94, -1, 18, 94, 94, - 94, 99, -1, 18, 94, 94, 94, -1, 18, 94, - 94, -1, 28, 94, 94, 94, 99, -1, 28, 94, - 94, 94, -1, 28, 94, 94, -1, 38, 94, 94, - 94, 99, -1, 38, 94, 94, 94, -1, 38, 94, - 94, -1, 19, 94, 94, 94, -1, 19, 94, 94, - -1, 29, 94, 94, 94, -1, 29, 94, 94, -1, - 39, 94, 94, 94, -1, 39, 94, 94, -1, 20, - 94, 94, -1, 20, 94, -1, 21, 94, 94, -1, - 21, 94, -1, 30, 94, 94, -1, 30, 94, -1, - 31, 94, 94, -1, 31, 94, -1, 40, 94, 94, - -1, 40, 94, -1, 41, 94, 94, -1, 41, 94, - -1, 22, 94, -1, 32, 94, -1, 42, 94, -1, - 46, 94, 94, 94, -1, 46, 97, -1, 46, 94, - -1, 23, -1, 33, -1, 43, -1, 56, 94, -1, - 48, 95, -1, 49, 95, 95, 95, -1, 8, -1, - 9, -1, 10, -1, 11, -1, 12, -1, 13, -1, - 57, 95, 94, 94, 94, 99, 99, 99, -1, 57, - 95, 94, 94, 94, 99, 99, -1, 57, 95, 94, - 94, 94, 99, -1, 57, 95, 94, 94, 94, -1, - 57, 95, 94, 94, -1, 61, 95, 94, -1, 62, - 95, 94, 94, -1, 69, 95, 94, 94, -1, 58, - 94, 94, 94, 94, -1, 58, 94, 94, 94, -1, - 58, 94, -1, 58, 97, 94, -1, 58, 97, -1, - 59, 94, 94, 94, 94, -1, 59, 94, 94, -1, - 59, 97, 94, -1, 60, 94, 94, 94, 94, -1, - 60, 94, 94, -1, 60, 97, 94, -1, 63, 95, - 94, 94, 99, 99, -1, 63, 95, 94, 94, 99, - -1, 63, 95, 94, 94, -1, 64, 95, 94, 94, - 94, -1, 64, 95, 94, 94, -1, 65, 95, 94, - 99, -1, 65, 95, 94, -1, 66, 94, 99, -1, - 66, 94, -1, 67, 94, 99, -1, 67, 94, -1, - 68, 95, 94, 94, 94, 94, 94, 94, 94, 94, - 99, -1, 68, 95, 94, 94, 94, 94, 94, 94, - 94, 94, -1, 68, 95, 94, 94, 94, 94, 94, - 94, 94, -1, 68, 95, 94, 96, 96, 96, 94, - 99, -1, 68, 95, 94, 96, 96, 96, 94, -1, - 68, 95, 94, 96, 96, 96, -1, 71, -1, 77, - 94, -1, 72, -1, 77, 95, -1, 72, -1, 77, - 95, -1, 71, -1, 77, 94, -1, 78, 94, 79, - -1, 78, 94, 94, 79, -1, 78, 94, 79, -1, - 78, 94, 94, 94, 79, -1, 78, 94, 79, -1, - 78, 94, 94, 94, 94, 79, -1, 73, -1, 72, - -1, 71, -1 - }; - - /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ - const unsigned short int - EasyMeshParser::yyprhs_[] = - { - 0, 0, 3, 6, 8, 11, 13, 17, 19, 22, - 24, 26, 28, 30, 35, 40, 45, 50, 55, 60, - 65, 68, 70, 72, 74, 80, 83, 86, 92, 95, - 98, 104, 107, 110, 116, 119, 122, 125, 128, 131, - 136, 139, 142, 145, 148, 154, 158, 161, 167, 172, - 176, 182, 187, 191, 197, 202, 206, 210, 213, 217, - 220, 224, 227, 233, 238, 242, 248, 253, 257, 263, - 268, 272, 277, 281, 286, 290, 295, 299, 303, 306, - 310, 313, 317, 320, 324, 327, 331, 334, 338, 341, - 344, 347, 350, 355, 358, 361, 363, 365, 367, 370, - 373, 378, 380, 382, 384, 386, 388, 390, 399, 407, - 414, 420, 425, 429, 434, 439, 445, 450, 453, 457, - 460, 466, 470, 474, 480, 484, 488, 495, 501, 506, - 512, 517, 522, 526, 530, 533, 537, 540, 552, 563, - 573, 582, 590, 597, 599, 602, 604, 607, 609, 612, - 614, 617, 621, 626, 630, 636, 640, 647, 649, 651 - }; - - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ - const unsigned short int - EasyMeshParser::yyrline_[] = - { - 0, 96, 96, 100, 101, 105, 106, 110, 111, 115, - 116, 117, 118, 119, 120, 124, 125, 126, 127, 128, - 132, 136, 140, 144, 148, 149, 150, 153, 154, 155, - 158, 159, 160, 163, 164, 165, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 285, 286, 287, 288, 292, 293, 294, - 295, 300, 301, 305, 306, 310, 311, 316, 317, 318 - }; - - // Print the state stack on the debug stream. - void - EasyMeshParser::yystack_print_ () - { - *yycdebug_ << "Stack now"; - for (state_stack_type::const_iterator i = yystate_stack_.begin (); - i != yystate_stack_.end (); ++i) - *yycdebug_ << ' ' << *i; - *yycdebug_ << std::endl; - } - - // Report on the debug stream that the rule \a yyrule is going to be reduced. - void - EasyMeshParser::yy_reduce_print_ (int yyrule) - { - unsigned int yylno = yyrline_[yyrule]; - int yynrhs = yyr2_[yyrule]; - /* Print the symbols being reduced, and their result. */ - *yycdebug_ << "Reducing stack by rule " << yyrule - 1 - << " (line " << yylno << "):" << std::endl; - /* The symbols being reduced. */ - for (int yyi = 0; yyi < yynrhs; yyi++) - YY_SYMBOL_PRINT (" $" << yyi + 1 << " =", - yyrhs_[yyprhs_[yyrule] + yyi], - &(yysemantic_stack_[(yynrhs) - (yyi + 1)]), - &(yylocation_stack_[(yynrhs) - (yyi + 1)])); - } -#endif // YYDEBUG - - /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ - EasyMeshParser::token_number_type - EasyMeshParser::yytranslate_ (int t) - { - static - const token_number_type - translate_table[] = - { - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 78, 79, 2, 2, 2, 77, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 75, 2, 76, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 - }; - if ((unsigned int) t <= yyuser_token_number_max_) - return translate_table[t]; - else - return yyundef_token_; - } - - const int EasyMeshParser::yyeof_ = 0; - const int EasyMeshParser::yylast_ = 554; - const int EasyMeshParser::yynnts_ = 20; - const int EasyMeshParser::yyempty_ = -2; - const int EasyMeshParser::yyfinal_ = 159; - const int EasyMeshParser::yyterror_ = 1; - const int EasyMeshParser::yyerrcode_ = 256; - const int EasyMeshParser::yyntokens_ = 80; - - const unsigned int EasyMeshParser::yyuser_token_number_max_ = 329; - const EasyMeshParser::token_number_type EasyMeshParser::yyundef_token_ = 2; - - -} // lol - -/* Line 1053 of lalr1.cc */ -#line 2241 "generated/easymesh-parser.cpp" - - -/* Line 1055 of lalr1.cc */ -#line 321 "easymesh/easymesh-parser.y" - - -void lol::EasyMeshParser::error(const EasyMeshParser::location_type& l, - const std::string& m) -{ - mc.Error(l, m); -} - - diff --git a/src/generated/easymesh-parser.h b/src/generated/easymesh-parser.h deleted file mode 100644 index 8143348a..00000000 --- a/src/generated/easymesh-parser.h +++ /dev/null @@ -1,388 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Skeleton interface for Bison LALR(1) parsers in C++ - - Copyright (C) 2002-2010 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 . */ - -/* 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. */ - -/* C++ LALR(1) parser skeleton written by Akim Demaille. */ - -#ifndef PARSER_HEADER_H -# define PARSER_HEADER_H - - - -#include -#include -#include "stack.hh" - - -namespace lol { - -/* Line 34 of lalr1.cc */ -#line 49 "generated/easymesh-parser.h" - class position; - class location; - -} // lol - -/* Line 34 of lalr1.cc */ -#line 56 "generated/easymesh-parser.h" - -#include "location.hh" - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 1 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ -do { \ - if (N) \ - { \ - (Current).begin = (Rhs)[1].begin; \ - (Current).end = (Rhs)[N].end; \ - } \ - else \ - { \ - (Current).begin = (Current).end = (Rhs)[0].end; \ - } \ -} while (false) -#endif - - -namespace lol { - -/* Line 34 of lalr1.cc */ -#line 101 "generated/easymesh-parser.h" - - /// A Bison parser. - class EasyMeshParser - { - public: - /// Symbol semantic values. -#ifndef YYSTYPE - union semantic_type - { - -/* Line 34 of lalr1.cc */ -#line 35 "easymesh/easymesh-parser.y" - - float fval; - int ival; - bool bval; - float vval[4]; - int ivval[4]; - char* lval; - /* Can't use uin32_t here for some reason */ - unsigned u32val; - - - -/* Line 34 of lalr1.cc */ -#line 127 "generated/easymesh-parser.h" - }; -#else - typedef YYSTYPE semantic_type; -#endif - /// Symbol locations. - typedef location location_type; - /// Tokens. - struct token - { - /* Tokens. */ - enum yytokentype { - T_END = 0, - T_LOOP = 258, - T_COLOR = 259, - T_ACOLOR = 260, - T_BCOLOR = 261, - T_VCOLOR = 262, - T_TOGGLESCALEWINDING = 263, - T_TOGGLEQUADWEIGHTING = 264, - T_TOGGLEPOSTBUILDNORMAL = 265, - T_TOGGLEVERTNOCLEANUP = 266, - T_VERTMERGE = 267, - T_VERTSEPARATE = 268, - T_TRANSLATEX = 269, - T_ROTATEX = 270, - T_TAPERX = 271, - T_TWISTX = 272, - T_SHEARX = 273, - T_STRETCHX = 274, - T_BENDXY = 275, - T_BENDXZ = 276, - T_SCALEX = 277, - T_MIRRORX = 278, - T_TRANSLATEY = 279, - T_ROTATEY = 280, - T_TAPERY = 281, - T_TWISTY = 282, - T_SHEARY = 283, - T_STRETCHY = 284, - T_BENDYX = 285, - T_BENDYZ = 286, - T_SCALEY = 287, - T_MIRRORY = 288, - T_TRANSLATEZ = 289, - T_ROTATEZ = 290, - T_TAPERZ = 291, - T_TWISTZ = 292, - T_SHEARZ = 293, - T_STRETCHZ = 294, - T_BENDZX = 295, - T_BENDZY = 296, - T_SCALEZ = 297, - T_MIRRORZ = 298, - T_TRANSLATE = 299, - T_ROTATE = 300, - T_SCALE = 301, - T_RADIALJITTER = 302, - T_SPLITTRIANGLE = 303, - T_SMOOTHMESH = 304, - T_DUPLICATE = 305, - T_CSGUNION = 306, - T_CSGSUBSTRACT = 307, - T_CSGSUBSTRACTLOSS = 308, - T_CSGAND = 309, - T_CSGXOR = 310, - T_CHAMFER = 311, - T_CYLINDER = 312, - T_BOX = 313, - T_SMOOTHCHAMFBOX = 314, - T_FLATCHAMFBOX = 315, - T_SPHERE = 316, - T_CAPSULE = 317, - T_STAR = 318, - T_EXPANDEDSTAR = 319, - T_DISC = 320, - T_TRIANGLE = 321, - T_QUAD = 322, - T_COG = 323, - T_TORUS = 324, - T_ERROR = 325, - F_NUMBER = 326, - I_NUMBER = 327, - BOOLEAN = 328, - COLOR = 329 - }; - - }; - /// Token type. - typedef token::yytokentype token_type; - - /// Build a parser object. - EasyMeshParser (class EasyMeshCompiler& mc_yyarg); - virtual ~EasyMeshParser (); - - /// Parse. - /// \returns 0 iff parsing succeeded. - virtual int parse (); - -#if YYDEBUG - /// The current debugging stream. - std::ostream& debug_stream () const; - /// Set the current debugging stream. - void set_debug_stream (std::ostream &); - - /// Type for debugging levels. - typedef int debug_level_type; - /// The current debugging level. - debug_level_type debug_level () const; - /// Set the current debugging level. - void set_debug_level (debug_level_type l); -#endif - - private: - /// Report a syntax error. - /// \param loc where the syntax error is found. - /// \param msg a description of the syntax error. - virtual void error (const location_type& loc, const std::string& msg); - - /// Generate an error message. - /// \param state the state where the error occurred. - /// \param tok the lookahead token. - virtual std::string yysyntax_error_ (int yystate, int tok); - -#if YYDEBUG - /// \brief Report a symbol value on the debug stream. - /// \param yytype The token type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - virtual void yy_symbol_value_print_ (int yytype, - const semantic_type* yyvaluep, - const location_type* yylocationp); - /// \brief Report a symbol on the debug stream. - /// \param yytype The token type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - virtual void yy_symbol_print_ (int yytype, - const semantic_type* yyvaluep, - const location_type* yylocationp); -#endif - - - /// State numbers. - typedef int state_type; - /// State stack type. - typedef stack state_stack_type; - /// Semantic value stack type. - typedef stack semantic_stack_type; - /// location stack type. - typedef stack location_stack_type; - - /// The state stack. - state_stack_type yystate_stack_; - /// The semantic value stack. - semantic_stack_type yysemantic_stack_; - /// The location stack. - location_stack_type yylocation_stack_; - - /// Internal symbol numbers. - typedef unsigned char token_number_type; - /* Tables. */ - /// For a state, the index in \a yytable_ of its portion. - static const short int yypact_[]; - static const short int yypact_ninf_; - - /// For a state, default rule to reduce. - /// Unless\a yytable_ specifies something else to do. - /// Zero means the default is an error. - static const unsigned char yydefact_[]; - - static const short int yypgoto_[]; - static const short int yydefgoto_[]; - - /// What to do in a state. - /// \a yytable_[yypact_[s]]: what to do in state \a s. - /// - if positive, shift that token. - /// - if negative, reduce the rule which number is the opposite. - /// - if zero, do what YYDEFACT says. - static const unsigned short int yytable_[]; - static const signed char yytable_ninf_; - - static const short int yycheck_[]; - - /// For a state, its accessing symbol. - static const unsigned char yystos_[]; - - /// For a rule, its LHS. - static const unsigned char yyr1_[]; - /// For a rule, its RHS length. - static const unsigned char yyr2_[]; - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /// For a symbol, its name in clear. - static const char* const yytname_[]; -#endif - -#if YYERROR_VERBOSE - /// Convert the symbol name \a n to a form suitable for a diagnostic. - virtual std::string yytnamerr_ (const char *n); -#endif - -#if YYDEBUG - /// A type to store symbol numbers and -1. - typedef signed char rhs_number_type; - /// A `-1'-separated list of the rules' RHS. - static const rhs_number_type yyrhs_[]; - /// For each rule, the index of the first RHS symbol in \a yyrhs_. - static const unsigned short int yyprhs_[]; - /// For each rule, its source line number. - static const unsigned short int yyrline_[]; - /// For each scanner token number, its symbol number. - static const unsigned short int yytoken_number_[]; - /// Report on the debug stream that the rule \a r is going to be reduced. - virtual void yy_reduce_print_ (int r); - /// Print the state stack on the debug stream. - virtual void yystack_print_ (); - - /* Debugging. */ - int yydebug_; - std::ostream* yycdebug_; -#endif - - /// Convert a scanner token number \a t to a symbol number. - token_number_type yytranslate_ (int t); - - /// \brief Reclaim the memory associated to a symbol. - /// \param yymsg Why this token is reclaimed. - /// \param yytype The symbol type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - inline void yydestruct_ (const char* yymsg, - int yytype, - semantic_type* yyvaluep, - location_type* yylocationp); - - /// Pop \a n symbols the three stacks. - inline void yypop_ (unsigned int n = 1); - - /* Constants. */ - static const int yyeof_; - /* LAST_ -- Last index in TABLE_. */ - static const int yylast_; - static const int yynnts_; - static const int yyempty_; - static const int yyfinal_; - static const int yyterror_; - static const int yyerrcode_; - static const int yyntokens_; - static const unsigned int yyuser_token_number_max_; - static const token_number_type yyundef_token_; - - /* User arguments. */ - class EasyMeshCompiler& mc; - }; - -} // lol - -/* Line 34 of lalr1.cc */ -#line 385 "generated/easymesh-parser.h" - - - -#endif /* ! defined PARSER_HEADER_H */ diff --git a/src/generated/easymesh-scanner.cpp b/src/generated/easymesh-scanner.cpp deleted file mode 100644 index 34f8af95..00000000 --- a/src/generated/easymesh-scanner.cpp +++ /dev/null @@ -1,2276 +0,0 @@ -#line 2 "generated/easymesh-scanner.cpp" - -#line 4 "generated/easymesh-scanner.cpp" - -#define YY_INT_ALIGNED short int - -/* A lexical scanner generated by flex */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif - - /* The c++ scanner is a mess. The FlexLexer.h header file relies on the - * following macro. This is required in order to pass the c++-multiple-scanners - * test in the regression suite. We get reports that it breaks inheritance. - * We will address this in a future release of flex, or omit the C++ scanner - * altogether. - */ - #define yyFlexLexer EasyMeshFlexLexer - -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ - -/* end standard C headers. */ - -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif - -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -typedef int16_t flex_int16_t; -typedef uint16_t flex_uint16_t; -typedef int32_t flex_int32_t; -typedef uint32_t flex_uint32_t; -#else -typedef signed char flex_int8_t; -typedef short int flex_int16_t; -typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; -typedef unsigned short int flex_uint16_t; -typedef unsigned int flex_uint32_t; - -/* Limits of integral types. */ -#ifndef INT8_MIN -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) -#endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) -#endif - -#endif /* ! C99 */ - -#endif /* ! FLEXINT_H */ - -/* begin standard C++ headers. */ -#include -#include -#include -#include -#include -/* end standard C++ headers. */ - -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN (yy_start) = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START (((yy_start) - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else -#define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) - -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE -typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif - -extern int yyleng; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - - #define YY_LESS_LINENO(n) - -/* Return all but the first "n" matched characters back to the input stream. */ -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = (yy_hold_char); \ - YY_RESTORE_YY_MORE_OFFSET \ - (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, (yytext_ptr) ) - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE -struct yy_buffer_state - { - - std::istream* yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - int yy_bs_lineno; /**< The line count. */ - int yy_bs_column; /**< The column count. */ - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; - -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - * - * Returns the top of the stack, or NULL. - */ -#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ - ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ - : NULL) - -/* Same as previous macro, but useful when we know that the buffer stack is not - * NULL or when we need an lvalue. For internal use only. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] - -void *EasyMeshalloc (yy_size_t ); -void *EasyMeshrealloc (void *,yy_size_t ); -void EasyMeshfree (void * ); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! YY_CURRENT_BUFFER ){\ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - -/* Begin user sect3 */ - -typedef unsigned char YY_CHAR; - -#define yytext_ptr yytext - -#include - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ - (yy_hold_char) = *yy_cp; \ - *yy_cp = '\0'; \ - (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 87 -#define YY_END_OF_BUFFER 88 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_accept[376] = - { 0, - 0, 0, 88, 86, 85, 84, 86, 78, 79, 86, - 77, 86, 86, 75, 86, 82, 83, 86, 86, 86, - 86, 86, 86, 86, 24, 47, 20, 86, 80, 81, - 0, 0, 75, 74, 76, 0, 59, 55, 64, 0, - 0, 66, 62, 65, 0, 0, 51, 0, 0, 0, - 0, 6, 0, 48, 49, 50, 0, 25, 0, 21, - 22, 23, 7, 0, 0, 0, 0, 0, 44, 45, - 46, 0, 0, 0, 0, 0, 0, 0, 0, 17, - 18, 19, 0, 15, 16, 0, 0, 76, 0, 0, - 67, 0, 63, 0, 0, 0, 58, 0, 0, 0, - - 0, 0, 0, 54, 0, 0, 0, 0, 0, 8, - 9, 10, 0, 0, 32, 33, 34, 0, 0, 0, - 0, 35, 36, 37, 0, 26, 27, 28, 0, 0, - 12, 0, 0, 11, 0, 0, 29, 30, 31, 0, - 68, 0, 74, 0, 57, 0, 0, 0, 0, 0, - 0, 0, 0, 61, 60, 56, 38, 39, 40, 41, - 42, 43, 0, 0, 4, 2, 1, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 53, 0, 52, - 0, 0, 0, 0, 0, 0, 13, 0, 72, 14, - 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, 73, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, - 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 0, 0, 64, - 0, 0, 0, 0, 62, 0, 0, 51, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - - 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, - 0, 71, 0, 0, 0, 0, 0, 0, 54, 0, - 8, 0, 0, 0, 0, 0, 20, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 55, 0, 0, 0, 65, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0 - } ; - -static yyconst flex_int32_t yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 1, 4, 1, 1, 1, 1, 5, - 6, 1, 7, 3, 8, 9, 10, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 1, 1, 1, - 1, 1, 1, 1, 12, 12, 13, 12, 14, 12, - 1, 1, 1, 1, 1, 15, 1, 1, 1, 1, - 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, - 17, 1, 18, 1, 1, 1, 19, 20, 21, 22, - - 23, 24, 25, 26, 27, 28, 1, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 1, 45, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst flex_int32_t yy_meta[46] = - { 0, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, - 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst flex_int16_t yy_base[385] = - { 0, - 0, 0, 455, 456, 456, 456, 0, 456, 456, 37, - 38, 443, 443, 41, 416, 456, 456, 33, 36, 25, - 413, 431, 30, 33, 45, 68, 93, 42, 456, 456, - 0, 438, 57, 69, 0, 423, 456, 60, 425, 410, - 424, 456, 60, 412, 54, 412, 423, 416, 407, 410, - 406, 456, 402, 456, 456, 456, 414, 456, 398, 456, - 456, 456, 80, 397, 61, 76, 404, 79, 456, 456, - 456, 74, 403, 411, 390, 52, 389, 397, 96, 456, - 456, 456, 392, 456, 456, 0, 133, 0, 410, 392, - 456, 125, 456, 404, 403, 396, 456, 82, 109, 89, - - 399, 390, 132, 390, 382, 384, 381, 388, 395, 384, - 456, 456, 391, 392, 456, 456, 456, 378, 383, 116, - 385, 456, 456, 456, 384, 456, 456, 456, 121, 375, - 456, 374, 381, 456, 382, 366, 456, 456, 456, 364, - 0, 389, 388, 360, 456, 365, 137, 369, 354, 365, - 355, 134, 131, 456, 456, 456, 456, 456, 456, 456, - 456, 456, 133, 368, 360, 361, 358, 356, 360, 363, - 353, 365, 346, 359, 349, 345, 342, 456, 341, 456, - 340, 341, 339, 336, 352, 349, 456, 335, 456, 456, - 333, 142, 0, 349, 327, 334, 341, 336, 328, 330, - - 343, 342, 328, 333, 339, 322, 329, 138, 141, 144, - 332, 332, 456, 326, 317, 330, 456, 315, 320, 325, - 146, 318, 149, 320, 308, 323, 152, 306, 323, 322, - 305, 310, 155, 315, 314, 0, 321, 299, 307, 312, - 313, 294, 308, 297, 305, 292, 288, 306, 289, 456, - 291, 456, 303, 158, 293, 161, 288, 284, 292, 297, - 294, 286, 277, 294, 277, 278, 0, 272, 278, 456, - 277, 286, 269, 270, 456, 268, 272, 456, 271, 264, - 273, 264, 271, 164, 259, 256, 272, 263, 256, 267, - 272, 0, 261, 267, 266, 261, 260, 262, 259, 456, - - 260, 245, 189, 262, 253, 256, 238, 245, 253, 252, - 239, 456, 250, 249, 248, 251, 248, 239, 456, 230, - 456, 235, 236, 237, 236, 241, 169, 242, 225, 237, - 228, 231, 233, 232, 229, 231, 227, 220, 221, 212, - 456, 212, 223, 227, 456, 210, 215, 212, 216, 219, - 217, 216, 201, 217, 206, 212, 202, 196, 213, 211, - 195, 202, 190, 193, 188, 181, 201, 190, 181, 186, - 198, 183, 174, 185, 456, 210, 180, 228, 174, 162, - 155, 139, 103, 79 - } ; - -static yyconst flex_int16_t yy_def[385] = - { 0, - 375, 1, 375, 375, 375, 375, 376, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 377, 375, 375, 375, 378, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 379, 375, 378, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 380, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 381, 375, 375, 375, 375, 375, 375, 375, - - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 382, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 383, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 384, 375, 375, 375, 375, 375, 375, 375, 375, - - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 0, 375, 375, 375, 375, 375, - 375, 375, 375, 375 - } ; - -static yyconst flex_int16_t yy_nxt[502] = - { 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 4, 15, 4, 4, 4, 16, 17, 18, 19, - 20, 21, 4, 22, 4, 4, 4, 4, 23, 24, - 4, 4, 4, 4, 25, 26, 27, 4, 28, 4, - 4, 4, 4, 29, 30, 32, 32, 33, 33, 32, - 47, 33, 37, 38, 39, 40, 41, 45, 46, 53, - 48, 51, 52, 57, 83, 32, 42, 33, 43, 44, - 132, 84, 58, 54, 55, 56, 59, 85, 90, 34, - 95, 312, 87, 114, 91, 60, 61, 62, 63, 133, - 64, 87, 96, 65, 98, 99, 100, 66, 110, 111, - - 67, 115, 116, 117, 68, 292, 125, 118, 69, 70, - 71, 72, 119, 121, 126, 127, 128, 73, 112, 122, - 123, 124, 136, 157, 158, 74, 75, 76, 77, 161, - 162, 78, 79, 80, 81, 82, 137, 138, 139, 142, - 142, 267, 179, 143, 146, 147, 148, 149, 150, 159, - 165, 160, 180, 183, 184, 196, 185, 236, 151, 186, - 152, 153, 206, 203, 193, 207, 204, 166, 197, 167, - 205, 234, 168, 208, 209, 210, 141, 235, 198, 157, - 158, 159, 86, 160, 161, 162, 69, 70, 71, 115, - 116, 117, 126, 127, 128, 137, 138, 139, 54, 55, - - 56, 60, 61, 62, 122, 123, 124, 321, 111, 80, - 81, 82, 31, 187, 155, 190, 374, 373, 372, 371, - 370, 154, 93, 369, 368, 367, 366, 112, 88, 365, - 88, 364, 131, 363, 180, 362, 361, 360, 85, 359, - 134, 358, 357, 356, 58, 355, 354, 353, 352, 351, - 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, - 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, - 330, 329, 145, 328, 84, 327, 326, 325, 324, 323, - 322, 320, 319, 318, 156, 317, 316, 315, 314, 313, - 311, 310, 309, 308, 307, 306, 305, 304, 303, 302, - - 301, 300, 299, 97, 298, 297, 296, 295, 294, 293, - 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, - 281, 280, 279, 278, 277, 276, 275, 274, 273, 42, - 272, 271, 270, 269, 268, 213, 266, 265, 264, 263, - 262, 261, 260, 259, 258, 178, 257, 256, 255, 254, - 253, 252, 251, 250, 249, 248, 247, 246, 245, 244, - 243, 242, 241, 240, 239, 91, 238, 37, 237, 233, - 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, - 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, - 212, 211, 202, 201, 200, 199, 195, 194, 143, 143, - - 192, 191, 190, 189, 188, 187, 182, 181, 178, 177, - 176, 175, 174, 173, 172, 171, 52, 170, 169, 164, - 163, 156, 155, 154, 145, 144, 140, 135, 134, 131, - 130, 129, 120, 113, 109, 108, 107, 106, 105, 104, - 103, 102, 101, 97, 94, 93, 92, 89, 34, 50, - 49, 36, 35, 34, 375, 3, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - - 375 - } ; - -static yyconst flex_int16_t yy_chk[502] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 10, 11, 10, 11, 14, - 20, 14, 18, 18, 18, 18, 18, 19, 19, 24, - 20, 23, 23, 25, 28, 33, 18, 33, 18, 18, - 76, 28, 25, 24, 24, 24, 25, 28, 38, 34, - 43, 384, 34, 65, 38, 25, 25, 25, 26, 76, - 26, 34, 43, 26, 45, 45, 45, 26, 63, 63, - - 26, 65, 65, 65, 26, 383, 72, 66, 26, 26, - 26, 27, 66, 68, 72, 72, 72, 27, 63, 68, - 68, 68, 79, 98, 98, 27, 27, 27, 27, 100, - 100, 27, 27, 27, 27, 27, 79, 79, 79, 87, - 87, 382, 120, 87, 92, 92, 92, 92, 92, 99, - 103, 99, 120, 129, 129, 147, 129, 381, 92, 129, - 92, 92, 153, 152, 380, 153, 152, 103, 147, 103, - 152, 192, 103, 163, 163, 163, 379, 192, 147, 208, - 208, 209, 377, 209, 210, 210, 221, 221, 221, 223, - 223, 223, 227, 227, 227, 233, 233, 233, 254, 254, - - 254, 256, 256, 256, 284, 284, 284, 303, 303, 327, - 327, 327, 376, 374, 373, 372, 371, 370, 369, 368, - 367, 366, 365, 364, 363, 362, 361, 303, 378, 360, - 378, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 350, 349, 348, 347, 346, 344, 343, 342, 340, 339, - 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, - 328, 326, 325, 324, 323, 322, 320, 318, 317, 316, - 315, 314, 313, 311, 310, 309, 308, 307, 306, 305, - 304, 302, 301, 299, 298, 297, 296, 295, 294, 293, - 291, 290, 289, 288, 287, 286, 285, 283, 282, 281, - - 280, 279, 277, 276, 274, 273, 272, 271, 269, 268, - 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, - 255, 253, 251, 249, 248, 247, 246, 245, 244, 243, - 242, 241, 240, 239, 238, 237, 235, 234, 232, 231, - 230, 229, 228, 226, 225, 224, 222, 220, 219, 218, - 216, 215, 214, 212, 211, 207, 206, 205, 204, 203, - 202, 201, 200, 199, 198, 197, 196, 195, 194, 191, - 188, 186, 185, 184, 183, 182, 181, 179, 177, 176, - 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, - 165, 164, 151, 150, 149, 148, 146, 144, 143, 142, - - 140, 136, 135, 133, 132, 130, 125, 121, 119, 118, - 114, 113, 110, 109, 108, 107, 106, 105, 104, 102, - 101, 96, 95, 94, 90, 89, 83, 78, 77, 75, - 74, 73, 67, 64, 59, 57, 53, 51, 50, 49, - 48, 47, 46, 44, 41, 40, 39, 36, 32, 22, - 21, 15, 13, 12, 3, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, - - 375 - } ; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -#line 1 "easymesh/easymesh-scanner.l" -#line 2 "easymesh/easymesh-scanner.l" -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// (c) 2009-2013 Cédric Lecacheur -// (c) 2009-2013 Benjamin "Touky" Huet -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#include - -#include -using std::exit; -using std::malloc; -using std::realloc; -using std::free; - -#include "easymesh/easymesh-compiler.h" - -typedef lol::EasyMeshParser::token token; -typedef lol::EasyMeshParser::token_type token_type; - -#ifndef YY_DECL -# define YY_DECL lol::EasyMeshParser::token_type \ - lol::EasyMeshScanner::lex(lol::EasyMeshParser::semantic_type* yylval, \ - lol::EasyMeshParser::location_type* yylloc) -#endif - -#define yyterminate() return token::T_END -#define YY_NO_UNISTD_H -#define YY_USER_ACTION yylloc->columns(yyleng); -#line 687 "generated/easymesh-scanner.cpp" - -#define INITIAL 0 - -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -#include -#endif - -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); -#endif - -#ifndef YY_NO_INPUT - -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else -#define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ -#endif - -/* Copy whatever the last rule matched to the standard output. */ -#ifndef ECHO -#define ECHO LexerOutput( yytext, yyleng ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ -\ - if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); - -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) LexerError( msg ) -#endif - -/* end tables serialization structures and prototypes */ - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL_IS_OURS 1 -#define YY_DECL int yyFlexLexer::yylex() -#endif /* !YY_DECL */ - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -/** The main scanner function which does all the work. - */ -YY_DECL -{ - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 44 "easymesh/easymesh-scanner.l" - - - /* reset location at the beginning of yylex() */ - yylloc->step(); - - -#line 799 "generated/easymesh-scanner.cpp" - - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! yyin ) - yyin = & std::cin; - - if ( ! yyout ) - yyout = & std::cout; - - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); - } - - yy_load_buffer_state( ); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = (yy_c_buf_p); - - /* Support of yytext. */ - *yy_cp = (yy_hold_char); - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = (yy_start); -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 376 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_current_state != 375 ); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - - YY_DO_BEFORE_ACTION; - -do_action: /* This label is used only to access EOF actions. */ - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - -case 1: -YY_RULE_SETUP -#line 50 "easymesh/easymesh-scanner.l" -{ return token::T_CSGUNION; } - YY_BREAK -case 2: -YY_RULE_SETUP -#line 51 "easymesh/easymesh-scanner.l" -{ return token::T_CSGSUBSTRACT; } - YY_BREAK -case 3: -YY_RULE_SETUP -#line 52 "easymesh/easymesh-scanner.l" -{ return token::T_CSGSUBSTRACTLOSS; } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 53 "easymesh/easymesh-scanner.l" -{ return token::T_CSGAND; } - YY_BREAK -case 5: -YY_RULE_SETUP -#line 54 "easymesh/easymesh-scanner.l" -{ return token::T_CSGXOR; } - YY_BREAK -case 6: -YY_RULE_SETUP -#line 56 "easymesh/easymesh-scanner.l" -{ return token::T_LOOP; } - YY_BREAK -case 7: -YY_RULE_SETUP -#line 57 "easymesh/easymesh-scanner.l" -{ return token::T_COLOR; } - YY_BREAK -case 8: -YY_RULE_SETUP -#line 58 "easymesh/easymesh-scanner.l" -{ return token::T_ACOLOR; } - YY_BREAK -case 9: -YY_RULE_SETUP -#line 59 "easymesh/easymesh-scanner.l" -{ return token::T_BCOLOR; } - YY_BREAK -case 10: -YY_RULE_SETUP -#line 60 "easymesh/easymesh-scanner.l" -{ return token::T_VCOLOR; } - YY_BREAK -case 11: -YY_RULE_SETUP -#line 62 "easymesh/easymesh-scanner.l" -{ return token::T_TOGGLESCALEWINDING; } - YY_BREAK -case 12: -YY_RULE_SETUP -#line 63 "easymesh/easymesh-scanner.l" -{ return token::T_TOGGLEQUADWEIGHTING; } - YY_BREAK -case 13: -YY_RULE_SETUP -#line 64 "easymesh/easymesh-scanner.l" -{ return token::T_TOGGLEPOSTBUILDNORMAL; } - YY_BREAK -case 14: -YY_RULE_SETUP -#line 65 "easymesh/easymesh-scanner.l" -{ return token::T_TOGGLEVERTNOCLEANUP; } - YY_BREAK -case 15: -YY_RULE_SETUP -#line 67 "easymesh/easymesh-scanner.l" -{ return token::T_VERTMERGE; } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 68 "easymesh/easymesh-scanner.l" -{ return token::T_VERTSEPARATE; } - YY_BREAK -case 17: -YY_RULE_SETUP -#line 70 "easymesh/easymesh-scanner.l" -{ return token::T_TRANSLATEX; } - YY_BREAK -case 18: -YY_RULE_SETUP -#line 71 "easymesh/easymesh-scanner.l" -{ return token::T_TRANSLATEY; } - YY_BREAK -case 19: -YY_RULE_SETUP -#line 72 "easymesh/easymesh-scanner.l" -{ return token::T_TRANSLATEZ; } - YY_BREAK -case 20: -YY_RULE_SETUP -#line 73 "easymesh/easymesh-scanner.l" -{ return token::T_TRANSLATE; } - YY_BREAK -case 21: -YY_RULE_SETUP -#line 74 "easymesh/easymesh-scanner.l" -{ return token::T_ROTATEX; } - YY_BREAK -case 22: -YY_RULE_SETUP -#line 75 "easymesh/easymesh-scanner.l" -{ return token::T_ROTATEY; } - YY_BREAK -case 23: -YY_RULE_SETUP -#line 76 "easymesh/easymesh-scanner.l" -{ return token::T_ROTATEZ; } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 77 "easymesh/easymesh-scanner.l" -{ return token::T_ROTATE; } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 78 "easymesh/easymesh-scanner.l" -{ return token::T_RADIALJITTER; } - YY_BREAK -case 26: -YY_RULE_SETUP -#line 79 "easymesh/easymesh-scanner.l" -{ return token::T_TAPERX; } - YY_BREAK -case 27: -YY_RULE_SETUP -#line 80 "easymesh/easymesh-scanner.l" -{ return token::T_TAPERY; } - YY_BREAK -case 28: -YY_RULE_SETUP -#line 81 "easymesh/easymesh-scanner.l" -{ return token::T_TAPERZ; } - YY_BREAK -case 29: -YY_RULE_SETUP -#line 82 "easymesh/easymesh-scanner.l" -{ return token::T_TWISTX; } - YY_BREAK -case 30: -YY_RULE_SETUP -#line 83 "easymesh/easymesh-scanner.l" -{ return token::T_TWISTY; } - YY_BREAK -case 31: -YY_RULE_SETUP -#line 84 "easymesh/easymesh-scanner.l" -{ return token::T_TWISTZ; } - YY_BREAK -case 32: -YY_RULE_SETUP -#line 85 "easymesh/easymesh-scanner.l" -{ return token::T_SHEARX; } - YY_BREAK -case 33: -YY_RULE_SETUP -#line 86 "easymesh/easymesh-scanner.l" -{ return token::T_SHEARY; } - YY_BREAK -case 34: -YY_RULE_SETUP -#line 87 "easymesh/easymesh-scanner.l" -{ return token::T_SHEARZ; } - YY_BREAK -case 35: -YY_RULE_SETUP -#line 88 "easymesh/easymesh-scanner.l" -{ return token::T_STRETCHX; } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 89 "easymesh/easymesh-scanner.l" -{ return token::T_STRETCHY; } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 90 "easymesh/easymesh-scanner.l" -{ return token::T_STRETCHZ; } - YY_BREAK -case 38: -YY_RULE_SETUP -#line 91 "easymesh/easymesh-scanner.l" -{ return token::T_BENDXY; } - YY_BREAK -case 39: -YY_RULE_SETUP -#line 92 "easymesh/easymesh-scanner.l" -{ return token::T_BENDXZ; } - YY_BREAK -case 40: -YY_RULE_SETUP -#line 93 "easymesh/easymesh-scanner.l" -{ return token::T_BENDYX; } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 94 "easymesh/easymesh-scanner.l" -{ return token::T_BENDYZ; } - YY_BREAK -case 42: -YY_RULE_SETUP -#line 95 "easymesh/easymesh-scanner.l" -{ return token::T_BENDZX; } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 96 "easymesh/easymesh-scanner.l" -{ return token::T_BENDZY; } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 97 "easymesh/easymesh-scanner.l" -{ return token::T_SCALEX; } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 98 "easymesh/easymesh-scanner.l" -{ return token::T_SCALEY; } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 99 "easymesh/easymesh-scanner.l" -{ return token::T_SCALEZ; } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 100 "easymesh/easymesh-scanner.l" -{ return token::T_SCALE; } - YY_BREAK -case 48: -YY_RULE_SETUP -#line 101 "easymesh/easymesh-scanner.l" -{ return token::T_MIRRORX; } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 102 "easymesh/easymesh-scanner.l" -{ return token::T_MIRRORY; } - YY_BREAK -case 50: -YY_RULE_SETUP -#line 103 "easymesh/easymesh-scanner.l" -{ return token::T_MIRRORZ; } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 104 "easymesh/easymesh-scanner.l" -{ return token::T_CHAMFER; } - YY_BREAK -case 52: -YY_RULE_SETUP -#line 105 "easymesh/easymesh-scanner.l" -{ return token::T_SPLITTRIANGLE; } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 106 "easymesh/easymesh-scanner.l" -{ return token::T_SMOOTHMESH; } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 107 "easymesh/easymesh-scanner.l" -{ return token::T_DUPLICATE; } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 109 "easymesh/easymesh-scanner.l" -{ return token::T_CYLINDER; } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 110 "easymesh/easymesh-scanner.l" -{ return token::T_SPHERE; } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 111 "easymesh/easymesh-scanner.l" -{ return token::T_CAPSULE; } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 112 "easymesh/easymesh-scanner.l" -{ return token::T_TORUS; } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 113 "easymesh/easymesh-scanner.l" -{ return token::T_BOX; } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 114 "easymesh/easymesh-scanner.l" -{ return token::T_SMOOTHCHAMFBOX; } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 115 "easymesh/easymesh-scanner.l" -{ return token::T_FLATCHAMFBOX; } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 116 "easymesh/easymesh-scanner.l" -{ return token::T_STAR; } - YY_BREAK -case 63: -YY_RULE_SETUP -#line 117 "easymesh/easymesh-scanner.l" -{ return token::T_EXPANDEDSTAR; } - YY_BREAK -case 64: -YY_RULE_SETUP -#line 118 "easymesh/easymesh-scanner.l" -{ return token::T_DISC; } - YY_BREAK -case 65: -YY_RULE_SETUP -#line 119 "easymesh/easymesh-scanner.l" -{ return token::T_TRIANGLE; } - YY_BREAK -case 66: -YY_RULE_SETUP -#line 120 "easymesh/easymesh-scanner.l" -{ return token::T_QUAD; } - YY_BREAK -case 67: -YY_RULE_SETUP -#line 121 "easymesh/easymesh-scanner.l" -{ return token::T_COG; } - YY_BREAK - /* ======= BASE COLOR TYPES ========================================= */ - /* COLOR */ -case 68: -YY_RULE_SETUP -#line 125 "easymesh/easymesh-scanner.l" -{ - uint32_t tmp = std::strtol(yytext + 1, nullptr, 16); - yylval->u32val = 0x11000000u * (tmp >> 8) - | 0x00110000u * ((tmp >> 4) & 0xf) - | 0x00001100u * (tmp & 0xf) - | 0x000000ffu; - return token::COLOR; } - YY_BREAK -case 69: -YY_RULE_SETUP -#line 132 "easymesh/easymesh-scanner.l" -{ - uint32_t tmp = std::strtol(yytext + 1, nullptr, 16); - yylval->u32val = 0x11000000u * (tmp >> 12) - | 0x00110000u * ((tmp >> 8) & 0xf) - | 0x00001100u * ((tmp >> 4) & 0xf) - | 0x00000011u * (tmp & 0xf); - return token::COLOR; } - YY_BREAK -case 70: -YY_RULE_SETUP -#line 139 "easymesh/easymesh-scanner.l" -{ - yylval->u32val = 0xffu - | 0x100u * (uint32_t)std::strtol(yytext + 1, nullptr, 16); - return token::COLOR; } - YY_BREAK -case 71: -YY_RULE_SETUP -#line 143 "easymesh/easymesh-scanner.l" -{ - yylval->u32val = (uint32_t)std::strtol(yytext + 1, nullptr, 16); - return token::COLOR; } - YY_BREAK - /* ======= BASE DATA TYPES ========================================= */ - /* BOOL */ -case 72: -YY_RULE_SETUP -#line 149 "easymesh/easymesh-scanner.l" -{ yylval->bval = true; return token::BOOLEAN; } - YY_BREAK -case 73: -YY_RULE_SETUP -#line 150 "easymesh/easymesh-scanner.l" -{ yylval->bval = false; return token::BOOLEAN; } - YY_BREAK - /* FLOAT */ -case 74: -YY_RULE_SETUP -#line 152 "easymesh/easymesh-scanner.l" -{ - yylval->fval = (float)std::atof(yytext); return token::F_NUMBER; } - YY_BREAK - /* INT */ -case 75: -YY_RULE_SETUP -#line 155 "easymesh/easymesh-scanner.l" -{ - yylval->ival = std::atoi(yytext); return token::I_NUMBER; } - YY_BREAK - /* ======= COMMENTS ======= */ -case 76: -YY_RULE_SETUP -#line 159 "easymesh/easymesh-scanner.l" -{ /* ignore this */ } - YY_BREAK - /* Semantics tokens */ -case 77: -YY_RULE_SETUP -#line 162 "easymesh/easymesh-scanner.l" -{ return token_type('-'); } - YY_BREAK -case 78: -YY_RULE_SETUP -#line 163 "easymesh/easymesh-scanner.l" -{ return token_type('('); } - YY_BREAK -case 79: -YY_RULE_SETUP -#line 164 "easymesh/easymesh-scanner.l" -{ return token_type(')'); } - YY_BREAK -case 80: -YY_RULE_SETUP -#line 165 "easymesh/easymesh-scanner.l" -{ return token_type('{'); } - YY_BREAK -case 81: -YY_RULE_SETUP -#line 166 "easymesh/easymesh-scanner.l" -{ return token_type('}'); } - YY_BREAK -case 82: -YY_RULE_SETUP -#line 167 "easymesh/easymesh-scanner.l" -{ return token_type('['); } - YY_BREAK -case 83: -YY_RULE_SETUP -#line 168 "easymesh/easymesh-scanner.l" -{ return token_type(']'); } - YY_BREAK -case 84: -YY_RULE_SETUP -#line 169 "easymesh/easymesh-scanner.l" -{ /* ignore this */ } - YY_BREAK -case 85: -/* rule 85 can match eol */ -YY_RULE_SETUP -#line 170 "easymesh/easymesh-scanner.l" -{ /* ignore this */ } - YY_BREAK -case 86: -YY_RULE_SETUP -#line 171 "easymesh/easymesh-scanner.l" -{ return token::T_ERROR; } - YY_BREAK -case 87: -YY_RULE_SETUP -#line 173 "easymesh/easymesh-scanner.l" -ECHO; - YY_BREAK -#line 1341 "generated/easymesh-scanner.cpp" -case YY_STATE_EOF(INITIAL): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); - YY_RESTORE_YY_MORE_OFFSET - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_END_OF_FILE: - { - (yy_did_buffer_switch_on_eof) = 0; - - if ( yywrap( ) ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -} /* end of yylex */ - -/* The contents of this function are C++ specific, so the () macro is not used. - */ -yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) -{ - yyin = arg_yyin; - yyout = arg_yyout; - yy_c_buf_p = 0; - yy_init = 0; - yy_start = 0; - yy_flex_debug = 0; - yylineno = 1; // this will only get updated if %option yylineno - - yy_did_buffer_switch_on_eof = 0; - - yy_looking_for_trail_begin = 0; - yy_more_flag = 0; - yy_more_len = 0; - yy_more_offset = yy_prev_more_offset = 0; - - yy_start_stack_ptr = yy_start_stack_depth = 0; - yy_start_stack = NULL; - - yy_buffer_stack = 0; - yy_buffer_stack_top = 0; - yy_buffer_stack_max = 0; - - yy_state_buf = 0; - -} - -/* The contents of this function are C++ specific, so the () macro is not used. - */ -yyFlexLexer::~yyFlexLexer() -{ - delete [] yy_state_buf; - EasyMeshfree(yy_start_stack ); - yy_delete_buffer( YY_CURRENT_BUFFER ); - EasyMeshfree(yy_buffer_stack ); -} - -/* The contents of this function are C++ specific, so the () macro is not used. - */ -void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out ) -{ - if ( new_in ) - { - yy_delete_buffer( YY_CURRENT_BUFFER ); - yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) ); - } - - if ( new_out ) - yyout = new_out; -} - -#ifdef YY_INTERACTIVE -int yyFlexLexer::LexerInput( char* buf, int /* max_size */ ) -#else -int yyFlexLexer::LexerInput( char* buf, int max_size ) -#endif -{ - if ( yyin->eof() || yyin->fail() ) - return 0; - -#ifdef YY_INTERACTIVE - yyin->get( buf[0] ); - - if ( yyin->eof() ) - return 0; - - if ( yyin->bad() ) - return -1; - - return 1; - -#else - (void) yyin->read( buf, max_size ); - - if ( yyin->bad() ) - return -1; - else - return yyin->gcount(); -#endif -} - -void yyFlexLexer::LexerOutput( const char* buf, int size ) -{ - (void) yyout->write( buf, size ); -} - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ -int yyFlexLexer::yy_get_next_buffer() -{ - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; - int ret_val; - - if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; - - else - { - int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; - - int yy_c_buf_p_offset = - (int) ((yy_c_buf_p) - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - EasyMeshrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - - number_to_move - 1; - - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - if ( (yy_n_chars) == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { - /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) EasyMeshrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; - - return ret_val; -} - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - - yy_state_type yyFlexLexer::yy_get_previous_state() -{ - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = (yy_start); - - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 376 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; -} - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state ) -{ - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); - - register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 376 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 375); - - return yy_is_jam ? 0 : yy_current_state; -} - - void yyFlexLexer::yyunput( int c, register char* yy_bp) -{ - register char *yy_cp; - - yy_cp = (yy_c_buf_p); - - /* undo effects of setting up yytext */ - *yy_cp = (yy_hold_char); - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; - - while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - (yytext_ptr) = yy_bp; - (yy_hold_char) = *yy_cp; - (yy_c_buf_p) = yy_cp; -} - - int yyFlexLexer::yyinput() -{ - int c; - - *(yy_c_buf_p) = (yy_hold_char); - - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; - - else - { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); - - switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /*FALLTHROUGH*/ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap( ) ) - return EOF; - - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; - break; - } - } - } - - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ - (yy_hold_char) = *++(yy_c_buf_p); - - return c; -} - -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ - void yyFlexLexer::yyrestart( std::istream* input_file ) -{ - - if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); - } - - yy_init_buffer( YY_CURRENT_BUFFER, input_file ); - yy_load_buffer_state( ); -} - -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ - void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -{ - - /* TODO. We should be able to replace this entire function body - * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); - */ - yyensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) - return; - - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - (yy_did_buffer_switch_on_eof) = 1; -} - - void yyFlexLexer::yy_load_buffer_state() -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} - -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ - YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size ) -{ - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) EasyMeshalloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) EasyMeshalloc(b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; -} - -/** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() - * - */ - void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b ) -{ - - if ( ! b ) - return; - - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - EasyMeshfree((void *) b->yy_ch_buf ); - - EasyMeshfree((void *) b ); -} - -extern "C" int isatty (int ); - -/* Initializes or reinitializes a buffer. - * This function is sometimes called more than once on the same buffer, - * such as during a yyrestart() or at EOF. - */ - void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file ) - -{ - int oerrno = errno; - - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - - /* If b is the current buffer, then yy_init_buffer was _probably_ - * called from yyrestart() or through yy_get_next_buffer. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } - - b->yy_is_interactive = 0; - errno = oerrno; -} - -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ - void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b ) -{ - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); -} - -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer) -{ - if (new_buffer == NULL) - return; - - yyensure_buffer_stack(); - - /* This block is copied from yy_switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} - -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -void yyFlexLexer::yypop_buffer_state (void) -{ - if (!YY_CURRENT_BUFFER) - return; - - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - if ((yy_buffer_stack_top) > 0) - --(yy_buffer_stack_top); - - if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; - } -} - -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -void yyFlexLexer::yyensure_buffer_stack(void) -{ - int num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * scanner will even need a stack. We use 2 instead of 1 to avoid an - * immediate realloc on the next call. - */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)EasyMeshalloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; - (yy_buffer_stack_top) = 0; - return; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; - - num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)EasyMeshrealloc - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} - - void yyFlexLexer::yy_push_state( int new_state ) -{ - if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) - { - yy_size_t new_size; - - (yy_start_stack_depth) += YY_START_STACK_INCR; - new_size = (yy_start_stack_depth) * sizeof( int ); - - if ( ! (yy_start_stack) ) - (yy_start_stack) = (int *) EasyMeshalloc(new_size ); - - else - (yy_start_stack) = (int *) EasyMeshrealloc((void *) (yy_start_stack),new_size ); - - if ( ! (yy_start_stack) ) - YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); - } - - (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; - - BEGIN(new_state); -} - - void yyFlexLexer::yy_pop_state() -{ - if ( --(yy_start_stack_ptr) < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); -} - - int yyFlexLexer::yy_top_state() -{ - return (yy_start_stack)[(yy_start_stack_ptr) - 1]; -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -void yyFlexLexer::LexerError( yyconst char msg[] ) -{ - std::cerr << msg << std::endl; - exit( YY_EXIT_FAILURE ); -} - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ - } \ - while ( 0 ) - -/* Accessor methods (get/set functions) to struct members. */ - -/* - * Internal utility routines. - */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; -} -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; -} -#endif - -void *EasyMeshalloc (yy_size_t size ) -{ - return (void *) malloc( size ); -} - -void *EasyMeshrealloc (void * ptr, yy_size_t size ) -{ - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); -} - -void EasyMeshfree (void * ptr ) -{ - free( (char *) ptr ); /* see EasyMeshrealloc() for (char *) cast */ -} - -#define YYTABLES_NAME "yytables" - -#line 173 "easymesh/easymesh-scanner.l" - - - -lol::EasyMeshScanner::EasyMeshScanner(char const *command) - : EasyMeshFlexLexer(0, 0), - m_input(command) -{ -} - -lol::EasyMeshScanner::~EasyMeshScanner() -{ -} - -int lol::EasyMeshScanner::LexerInput(char* buf, int max_size) -{ - (void)max_size; /* unused for now */ - - buf[0] = m_input[0]; - if (buf[0]) - ++m_input; - return buf[0] ? 1 : 0; -} - -#ifdef yylex -#undef yylex -#endif -int EasyMeshFlexLexer::yylex() -{ - std::cerr << "in EasyMeshFlexLexer::yylex() !" << std::endl; - return 0; -} - -int EasyMeshFlexLexer::yywrap() -{ - return 1; -} - - diff --git a/src/generated/location.hh b/src/generated/location.hh deleted file mode 100644 index 0b3d1b94..00000000 --- a/src/generated/location.hh +++ /dev/null @@ -1,164 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Locations for Bison parsers in C++ - - Copyright (C) 2002-2007, 2009-2010 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 . */ - -/* 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. */ - -/** - ** \file location.hh - ** Define the lol::location class. - */ - -#ifndef BISON_LOCATION_HH -# define BISON_LOCATION_HH - -# include -# include -# include "position.hh" - - -namespace lol { - -/* Line 162 of location.cc */ -#line 50 "generated/location.hh" - - /// Abstract a location. - class location - { - public: - - /// Construct a location. - location () - : begin (), end () - { - } - - - /// Initialization. - inline void initialize (std::string* fn) - { - begin.initialize (fn); - end = begin; - } - - /** \name Line and Column related manipulators - ** \{ */ - public: - /// Reset initial location to final location. - inline void step () - { - begin = end; - } - - /// Extend the current location to the COUNT next columns. - inline void columns (unsigned int count = 1) - { - end += count; - } - - /// Extend the current location to the COUNT next lines. - inline void lines (unsigned int count = 1) - { - end.lines (count); - } - /** \} */ - - - public: - /// Beginning of the located region. - position begin; - /// End of the located region. - position end; - }; - - /// Join two location objects to create a location. - inline const location operator+ (const location& begin, const location& end) - { - location res = begin; - res.end = end.end; - return res; - } - - /// Add two location objects. - inline const location operator+ (const location& begin, unsigned int width) - { - location res = begin; - res.columns (width); - return res; - } - - /// Add and assign a location. - inline location& operator+= (location& res, unsigned int width) - { - res.columns (width); - return res; - } - - /// Compare two location objects. - inline bool - operator== (const location& loc1, const location& loc2) - { - return loc1.begin == loc2.begin && loc1.end == loc2.end; - } - - /// Compare two location objects. - inline bool - operator!= (const location& loc1, const location& loc2) - { - return !(loc1 == loc2); - } - - /** \brief Intercept output stream redirection. - ** \param ostr the destination output stream - ** \param loc a reference to the location to redirect - ** - ** Avoid duplicate information. - */ - inline std::ostream& operator<< (std::ostream& ostr, const location& loc) - { - position last = loc.end - 1; - ostr << loc.begin; - if (last.filename - && (!loc.begin.filename - || *loc.begin.filename != *last.filename)) - ostr << '-' << last; - else if (loc.begin.line != last.line) - ostr << '-' << last.line << '.' << last.column; - else if (loc.begin.column != last.column) - ostr << '-' << last.column; - return ostr; - } - - -} // lol - -/* Line 271 of location.cc */ -#line 163 "generated/location.hh" - -#endif // not BISON_LOCATION_HH diff --git a/src/generated/lolfx-parser.cpp b/src/generated/lolfx-parser.cpp deleted file mode 100644 index 1bb4e847..00000000 --- a/src/generated/lolfx-parser.cpp +++ /dev/null @@ -1,3906 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Skeleton implementation for Bison LALR(1) parsers in C++ - - Copyright (C) 2002-2010 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 . */ - -/* 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. */ - -// Take the name prefix into account. -#define yylex lollex - -/* First part of user declarations. */ - -/* Line 310 of lalr1.cc */ -#line 1 "gpu/lolfx-parser.y" - -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#include - -#include - - - -/* Line 310 of lalr1.cc */ -#line 63 "generated/lolfx-parser.cpp" - - -#include "lolfx-parser.h" - -/* User implementation prologue. */ - -/* Line 316 of lalr1.cc */ -#line 241 "gpu/lolfx-parser.y" - -#include "gpu/lolfx-compiler.h" - -#undef yylex -#define yylex mc.m_lexer->lex - -/* HACK: workaround for Bison who insists on using exceptions */ -#define try if (true) -#define catch(...) if (false) -#define throw (void)0 - - -/* Line 316 of lalr1.cc */ -#line 85 "generated/lolfx-parser.cpp" - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include /* FIXME: INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#define YYUSE(e) ((void) (e)) - -/* Enable debugging if requested. */ -#if YYDEBUG - -/* A pseudo ostream that takes yydebug_ into account. */ -# define YYCDEBUG if (yydebug_) (*yycdebug_) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug_) \ - { \ - *yycdebug_ << Title << ' '; \ - yy_symbol_print_ ((Type), (Value), (Location)); \ - *yycdebug_ << std::endl; \ - } \ -} while (false) - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug_) \ - yy_reduce_print_ (Rule); \ -} while (false) - -# define YY_STACK_PRINT() \ -do { \ - if (yydebug_) \ - yystack_print_ (); \ -} while (false) - -#else /* !YYDEBUG */ - -# define YYCDEBUG if (false) std::cerr -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_REDUCE_PRINT(Rule) -# define YY_STACK_PRINT() - -#endif /* !YYDEBUG */ - -#define yyerrok (yyerrstatus_ = 0) -#define yyclearin (yychar = yyempty_) - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab -#define YYRECOVERING() (!!yyerrstatus_) - - -namespace lol { - -/* Line 379 of lalr1.cc */ -#line 151 "generated/lolfx-parser.cpp" -#if YYERROR_VERBOSE - - /* Return YYSTR after stripping away unnecessary quotes and - backslashes, so that it's suitable for yyerror. The heuristic is - that double-quoting is unnecessary unless the string contains an - apostrophe, a comma, or backslash (other than backslash-backslash). - YYSTR is taken from yytname. */ - std::string - LolFxParser::yytnamerr_ (const char *yystr) - { - if (*yystr == '"') - { - std::string yyr = ""; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - yyr += *yyp; - break; - - case '"': - return yyr; - } - do_not_strip_quotes: ; - } - - return yystr; - } - -#endif - - /// Build a parser object. - LolFxParser::LolFxParser (class LolFxCompiler& mc_yyarg) - : -#if YYDEBUG - yydebug_ (false), - yycdebug_ (&std::cerr), -#endif - mc (mc_yyarg) - { - } - - LolFxParser::~LolFxParser () - { - } - -#if YYDEBUG - /*--------------------------------. - | Print this symbol on YYOUTPUT. | - `--------------------------------*/ - - inline void - LolFxParser::yy_symbol_value_print_ (int yytype, - const semantic_type* yyvaluep, const location_type* yylocationp) - { - YYUSE (yylocationp); - YYUSE (yyvaluep); - switch (yytype) - { - default: - break; - } - } - - - void - LolFxParser::yy_symbol_print_ (int yytype, - const semantic_type* yyvaluep, const location_type* yylocationp) - { - *yycdebug_ << (yytype < yyntokens_ ? "token" : "nterm") - << ' ' << yytname_[yytype] << " (" - << *yylocationp << ": "; - yy_symbol_value_print_ (yytype, yyvaluep, yylocationp); - *yycdebug_ << ')'; - } -#endif - - void - LolFxParser::yydestruct_ (const char* yymsg, - int yytype, semantic_type* yyvaluep, location_type* yylocationp) - { - YYUSE (yylocationp); - YYUSE (yymsg); - YYUSE (yyvaluep); - - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } - } - - void - LolFxParser::yypop_ (unsigned int n) - { - yystate_stack_.pop (n); - yysemantic_stack_.pop (n); - yylocation_stack_.pop (n); - } - -#if YYDEBUG - std::ostream& - LolFxParser::debug_stream () const - { - return *yycdebug_; - } - - void - LolFxParser::set_debug_stream (std::ostream& o) - { - yycdebug_ = &o; - } - - - LolFxParser::debug_level_type - LolFxParser::debug_level () const - { - return yydebug_; - } - - void - LolFxParser::set_debug_level (debug_level_type l) - { - yydebug_ = l; - } -#endif - - int - LolFxParser::parse () - { - /// Lookahead and lookahead in internal form. - int yychar = yyempty_; - int yytoken = 0; - - /* State. */ - int yyn; - int yylen = 0; - int yystate = 0; - - /* Error handling. */ - int yynerrs_ = 0; - int yyerrstatus_ = 0; - - /// Semantic value of the lookahead. - semantic_type yylval; - /// Location of the lookahead. - location_type yylloc; - /// The locations where the error started and ended. - location_type yyerror_range[2]; - - /// $$. - semantic_type yyval; - /// @$. - location_type yyloc; - - int yyresult; - - YYCDEBUG << "Starting parse" << std::endl; - - - /* Initialize the stacks. The initial state will be pushed in - yynewstate, since the latter expects the semantical and the - location values to have been already stored, initialize these - stacks with a primary value. */ - yystate_stack_ = state_stack_type (0); - yysemantic_stack_ = semantic_stack_type (0); - yylocation_stack_ = location_stack_type (0); - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yylloc); - - /* New state. */ - yynewstate: - yystate_stack_.push (yystate); - YYCDEBUG << "Entering state " << yystate << std::endl; - - /* Accept? */ - if (yystate == yyfinal_) - goto yyacceptlab; - - goto yybackup; - - /* Backup. */ - yybackup: - - /* Try to take a decision without lookahead. */ - yyn = yypact_[yystate]; - if (yyn == yypact_ninf_) - goto yydefault; - - /* Read a lookahead token. */ - if (yychar == yyempty_) - { - YYCDEBUG << "Reading a token: "; - yychar = yylex (&yylval, &yylloc); - } - - - /* Convert token to internal form. */ - if (yychar <= yyeof_) - { - yychar = yytoken = yyeof_; - YYCDEBUG << "Now at end of input." << std::endl; - } - else - { - yytoken = yytranslate_ (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yytoken) - goto yydefault; - - /* Reduce or error. */ - yyn = yytable_[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == yytable_ninf_) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the token being shifted. */ - yychar = yyempty_; - - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yylloc); - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus_) - --yyerrstatus_; - - yystate = yyn; - goto yynewstate; - - /*-----------------------------------------------------------. - | yydefault -- do the default action for the current state. | - `-----------------------------------------------------------*/ - yydefault: - yyn = yydefact_[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - /*-----------------------------. - | yyreduce -- Do a reduction. | - `-----------------------------*/ - yyreduce: - yylen = yyr2_[yyn]; - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. Otherwise, use the top of the stack. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. */ - if (yylen) - yyval = yysemantic_stack_[yylen - 1]; - else - yyval = yysemantic_stack_[0]; - - { - slice slice (yylocation_stack_, yylen); - YYLLOC_DEFAULT (yyloc, slice, yylen); - } - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 206: - -/* Line 677 of lalr1.cc */ -#line 734 "gpu/lolfx-parser.y" - { std::cout << "New tech " << std::endl; } - break; - - case 207: - -/* Line 677 of lalr1.cc */ -#line 742 "gpu/lolfx-parser.y" - { std::cout << "New name " << (yysemantic_stack_[(1) - (1)].sval) << std::endl; } - break; - - case 208: - -/* Line 677 of lalr1.cc */ -#line 743 "gpu/lolfx-parser.y" - { std::cout << "New name " << (yysemantic_stack_[(1) - (1)].sval) << std::endl; } - break; - - case 211: - -/* Line 677 of lalr1.cc */ -#line 756 "gpu/lolfx-parser.y" - { std::cout << "New pass " << std::endl; } - break; - - case 230: - -/* Line 677 of lalr1.cc */ -#line 792 "gpu/lolfx-parser.y" - { std::cout << "new shader" << std::endl; } - break; - - - -/* Line 677 of lalr1.cc */ -#line 477 "generated/lolfx-parser.cpp" - default: - break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc); - - yypop_ (yylen); - yylen = 0; - YY_STACK_PRINT (); - - yysemantic_stack_.push (yyval); - yylocation_stack_.push (yyloc); - - /* Shift the result of the reduction. */ - yyn = yyr1_[yyn]; - yystate = yypgoto_[yyn - yyntokens_] + yystate_stack_[0]; - if (0 <= yystate && yystate <= yylast_ - && yycheck_[yystate] == yystate_stack_[0]) - yystate = yytable_[yystate]; - else - yystate = yydefgoto_[yyn - yyntokens_]; - goto yynewstate; - - /*------------------------------------. - | yyerrlab -- here on detecting error | - `------------------------------------*/ - yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus_) - { - ++yynerrs_; - error (yylloc, yysyntax_error_ (yystate, yytoken)); - } - - yyerror_range[0] = yylloc; - if (yyerrstatus_ == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= yyeof_) - { - /* Return failure if at end of input. */ - if (yychar == yyeof_) - YYABORT; - } - else - { - yydestruct_ ("Error: discarding", yytoken, &yylval, &yylloc); - yychar = yyempty_; - } - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab1; - - - /*---------------------------------------------------. - | yyerrorlab -- error raised explicitly by YYERROR. | - `---------------------------------------------------*/ - yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (false) - goto yyerrorlab; - - yyerror_range[0] = yylocation_stack_[yylen - 1]; - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - yypop_ (yylen); - yylen = 0; - yystate = yystate_stack_[0]; - goto yyerrlab1; - - /*-------------------------------------------------------------. - | yyerrlab1 -- common code for both syntax error and YYERROR. | - `-------------------------------------------------------------*/ - yyerrlab1: - yyerrstatus_ = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact_[yystate]; - if (yyn != yypact_ninf_) - { - yyn += yyterror_; - if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_) - { - yyn = yytable_[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yystate_stack_.height () == 1) - YYABORT; - - yyerror_range[0] = yylocation_stack_[0]; - yydestruct_ ("Error: popping", - yystos_[yystate], - &yysemantic_stack_[0], &yylocation_stack_[0]); - yypop_ (); - yystate = yystate_stack_[0]; - YY_STACK_PRINT (); - } - - yyerror_range[1] = yylloc; - // Using YYLLOC is tempting, but would change the location of - // the lookahead. YYLOC is available though. - YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2); - yysemantic_stack_.push (yylval); - yylocation_stack_.push (yyloc); - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos_[yyn], - &yysemantic_stack_[0], &yylocation_stack_[0]); - - yystate = yyn; - goto yynewstate; - - /* Accept. */ - yyacceptlab: - yyresult = 0; - goto yyreturn; - - /* Abort. */ - yyabortlab: - yyresult = 1; - goto yyreturn; - - yyreturn: - if (yychar != yyempty_) - yydestruct_ ("Cleanup: discarding lookahead", yytoken, &yylval, &yylloc); - - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - yypop_ (yylen); - while (yystate_stack_.height () != 1) - { - yydestruct_ ("Cleanup: popping", - yystos_[yystate_stack_[0]], - &yysemantic_stack_[0], - &yylocation_stack_[0]); - yypop_ (); - } - - return yyresult; - } - - // Generate an error message. - std::string - LolFxParser::yysyntax_error_ (int yystate, int tok) - { - std::string res; - YYUSE (yystate); -#if YYERROR_VERBOSE - int yyn = yypact_[yystate]; - if (yypact_ninf_ < yyn && yyn <= yylast_) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = yylast_ - yyn + 1; - int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_; - int count = 0; - for (int x = yyxbegin; x < yyxend; ++x) - if (yycheck_[x + yyn] == x && x != yyterror_) - ++count; - - // FIXME: This method of building the message is not compatible - // with internationalization. It should work like yacc.c does it. - // That is, first build a string that looks like this: - // "syntax error, unexpected %s or %s or %s" - // Then, invoke YY_ on this string. - // Finally, use the string as a format to output - // yytname_[tok], etc. - // Until this gets fixed, this message appears in English only. - res = "syntax error, unexpected "; - res += yytnamerr_ (yytname_[tok]); - if (count < 5) - { - count = 0; - for (int x = yyxbegin; x < yyxend; ++x) - if (yycheck_[x + yyn] == x && x != yyterror_) - { - res += (!count++) ? ", expecting " : " or "; - res += yytnamerr_ (yytname_[x]); - } - } - } - else -#endif - res = YY_("syntax error"); - return res; - } - - - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ - const short int LolFxParser::yypact_ninf_ = -557; - const short int - LolFxParser::yypact_[] = - { - -213, 105, 105, 50, 98, -213, -557, -557, 9802, -557, - -557, -323, -557, -319, -314, -557, -557, -557, -557, -60, - -54, -557, -557, -302, 105, -557, -557, -557, 110, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -37, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, 2, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, -557, -557, -557, -557, - -401, -298, -292, -16, -393, -557, 105, 56, 226, 226, - 7768, -557, -557, -557, -280, -557, 10879, -557, 9802, -557, - -557, -25, -557, 105, -557, -557, -557, -557, 105, -557, - 10879, -557, -557, 10161, -265, 626, -557, -557, -557, 21, - -557, -557, -557, -557, -557, -557, -557, -557, -286, 10520, - -557, 38, -557, 105, -339, 226, -557, -557, -557, -557, - -260, -557, 4204, -557, -557, 105, -211, -25, -557, -251, - -328, -557, -248, -557, 10520, 105, 8188, -557, 10161, -557, - -557, -557, -557, -212, -210, -204, 6898, -200, -220, -197, - 2422, -191, -190, 4653, -189, -188, 6898, 6898, 1075, -557, - -557, 6898, -557, -557, -557, -557, -557, -557, -557, -391, - -557, -557, -557, -201, -308, 7333, -187, -72, 6898, -293, - -307, -267, -371, -252, -198, -194, -192, -160, -158, -394, - -557, -557, -366, -557, -172, -175, -557, -557, -557, -557, - 1524, -557, -557, -557, -557, -557, -557, -557, 105, -557, - -557, 105, 10520, -262, 6898, 5102, -557, -557, 10161, -557, - -557, -557, -165, -557, -157, -557, -557, 278, -557, 105, - -557, 105, -159, -364, -557, -557, -557, 8607, -557, -406, - -557, -557, -557, 158, 3320, 6898, -557, -360, 6898, 3769, - -557, -557, -557, 1973, -264, -557, -557, 6898, 9443, -557, - -557, 6898, -156, -557, -557, -557, -557, -557, -557, -557, - -557, -557, -557, -557, -557, -557, 6898, -557, 6898, 6898, - 6898, 6898, 6898, 6898, 6898, 6898, 6898, 6898, 6898, 6898, - 6898, 6898, 6898, 6898, 6898, 6898, 6898, 6898, -557, 6898, - -557, -557, -557, -155, -557, -557, 6898, 5551, -557, -557, - -153, -154, 9026, -557, -4, -557, -557, -352, 6000, -557, - 105, -557, -557, -152, -557, -557, 3769, -261, -557, -259, - -161, 105, 10520, -151, -557, -557, -149, -161, -212, -557, - -557, -557, -557, -557, -557, -557, -293, -293, -307, -307, - -267, -267, -267, -267, -371, -371, -252, -198, -194, -192, - -160, -158, -390, -557, 6898, -557, -145, -146, 6898, -143, - -6, -225, -142, -141, -139, -138, -150, -137, -557, -134, - -4, -557, -557, -135, -557, 6898, -557, -130, -133, 2422, - -127, -129, 2871, -557, 6898, -128, 6898, -124, -557, 6898, - -557, -335, 13, 310, 311, 314, 315, 316, 321, 318, - -557, -557, -557, -227, 6898, 2871, 221, -557, 2422, 6898, - -557, -557, -557, -557, -557, -557, 6898, -557, -557, 6449, - -110, -107, -106, -105, -103, -104, -99, -97, -96, -94, - -95, -93, -91, -161, -557, 2422, 2422, -89, -557, -557, - -78, -80, -557, -557, -557, -557, -557, -77, -557, -557, - -557, -557, -76, -557, -557, -557, -557, -557, -74, 100, - 23, -557, -73, -70, -69, -68, -557, -557, -557, -557 - }; - - /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE - doesn't specify something else to do. Zero means the default is an - error. */ - const unsigned short int - LolFxParser::yydefact_[] = - { - 0, 0, 0, 0, 0, 202, 204, 205, 0, 208, - 207, 0, 233, 0, 232, 1, 201, 203, 414, 0, - 0, 367, 366, 0, 365, 415, 416, 417, 0, 393, - 394, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 407, 0, 383, 404, - 403, 384, 405, 368, 385, 409, 410, 411, 412, 0, - 406, 392, 402, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 408, 401, 477, - 0, 0, 327, 341, 0, 348, 355, 382, 379, 376, - 0, 375, 363, 395, 397, 400, 0, 413, 229, 474, - 476, 0, 230, 0, 388, 389, 390, 391, 0, 362, - 0, 386, 387, 0, 0, 0, 317, 478, 325, 341, - 345, 346, 374, 342, 344, 343, 340, 328, 334, 0, - 339, 341, 318, 0, 356, 0, 380, 378, 377, 324, - 0, 364, 0, 396, 475, 0, 0, 209, 231, 372, - 0, 370, 0, 365, 0, 0, 0, 420, 0, 239, - 236, 237, 238, 208, 207, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, - 448, 0, 265, 266, 267, 268, 234, 235, 241, 261, - 243, 248, 249, 0, 0, 254, 0, 269, 0, 273, - 276, 279, 284, 287, 289, 291, 293, 295, 297, 299, - 301, 314, 0, 430, 0, 363, 433, 446, 432, 431, - 0, 434, 435, 436, 437, 438, 439, 329, 0, 336, - 338, 347, 0, 349, 0, 0, 330, 381, 0, 398, - 269, 316, 0, 258, 0, 206, 210, 0, 369, 0, - 319, 0, 426, 0, 424, 419, 421, 0, 470, 0, - 469, 459, 473, 0, 0, 0, 471, 0, 0, 0, - 262, 263, 440, 0, 0, 245, 246, 0, 0, 252, - 251, 0, 402, 255, 257, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 303, 0, 264, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 449, 0, - 445, 447, 333, 331, 335, 337, 0, 0, 429, 361, - 357, 0, 0, 399, 0, 373, 371, 0, 0, 422, - 0, 418, 458, 0, 464, 463, 466, 0, 472, 0, - 453, 0, 0, 0, 441, 240, 0, 247, 244, 259, - 250, 256, 302, 270, 271, 272, 274, 275, 277, 278, - 282, 283, 280, 281, 285, 286, 288, 290, 292, 294, - 296, 298, 0, 315, 0, 354, 350, 0, 0, 358, - 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, - 212, 423, 427, 0, 425, 0, 465, 0, 0, 0, - 0, 0, 0, 242, 0, 0, 0, 351, 359, 0, - 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 211, 213, 428, 0, 467, 0, 452, 450, 456, 0, - 443, 460, 442, 300, 332, 352, 0, 360, 321, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 468, 462, 0, 457, 0, 454, 353, - 0, 0, 217, 216, 215, 218, 219, 0, 224, 225, - 226, 227, 0, 228, 461, 451, 455, 322, 0, 0, - 0, 323, 0, 0, 0, 0, 221, 220, 222, 223 - }; - - /* YYPGOTO[NTERM-NUM]. */ - const short int - LolFxParser::yypgoto_[] = - { - -557, -557, -557, -557, 363, -557, -557, 6, 57, -557, - -195, -557, -557, -557, 103, -557, -557, -557, -557, -557, - -557, -557, -75, -557, -557, -557, -557, -274, -557, -250, - -247, -385, -249, -102, -101, -100, -98, -108, -90, -557, - -283, -340, -557, -303, -387, -5, 5, -557, -557, -557, - -24, 91, -557, 83, -557, -17, -557, -557, -415, -557, - 130, -557, -557, -31, -557, -263, -223, -8, -234, -557, - -557, 361, -557, -309, -311, -30, -120, -469, -42, -329, - -556, -557, -208, 143, -334, -39, -557, -557, -118, -557, - -557, -557, -557, -557, -557, -557, -557, -557, 131, -557 - }; - - /* YYDEFGOTO[NTERM-NUM]. */ - const short int - LolFxParser::yydefgoto_[] = - { - -1, 247, 248, 3, 4, 5, 6, 356, 316, 317, - 569, 570, 7, 8, 13, 14, 357, 358, 359, 526, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 466, 382, 412, 383, 384, 251, 252, 253, - 399, 297, 298, 299, 300, 400, 254, 255, 256, 257, - 258, 259, 320, 321, 301, 260, 261, 413, 263, 264, - 265, 266, 267, 326, 327, 423, 424, 499, 386, 387, - 388, 389, 611, 612, 390, 391, 392, 607, 523, 393, - 637, 394, 395, 516, 577, 578, 396, 268, 269, 270 - }; - - /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. */ - const short int LolFxParser::yytable_ninf_ = -327; - const short int - LolFxParser::yytable_[] = - { - 262, 9, 10, 249, 561, 290, 291, 11, 12, 9, - 10, 433, 1, 250, 443, 426, 620, 621, 501, 427, - 324, 622, 445, 446, 521, 453, 610, 555, 486, 411, - 279, 664, 313, 429, 306, 307, 308, 285, 410, 286, - 437, 489, 290, 291, 475, 476, 322, 302, 444, 610, - 15, 447, 274, 448, 303, 512, 275, 489, 276, 290, - 291, 491, 277, 324, 498, 324, 487, 19, 20, 21, - 22, 584, 440, 441, 488, 281, 509, 29, 30, 282, - 518, 489, 407, 510, 477, 478, 292, 489, 571, 588, - 540, 541, 542, 543, 467, 510, 293, 294, 16, 502, - 295, 521, 404, 405, 662, 618, 406, 619, 663, 296, - 557, 531, 9, 10, 491, 271, 426, 615, 418, 419, - 617, 573, 411, 292, 272, 284, 532, 25, 26, 27, - 273, 410, 517, 293, 294, 519, 520, 295, 450, 451, - 638, 471, 472, 278, 527, 324, 296, 639, 288, 553, - 293, 294, 473, 474, 295, 289, 498, 107, 108, 468, - 469, 470, 312, 296, 324, 479, 480, 585, 111, 562, - 315, 113, 114, 328, 563, 398, 522, 564, 408, 496, - 497, 121, 525, 489, 552, 579, 489, 580, 489, 623, - 417, 426, 420, 565, 533, 534, 535, 410, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, 410, - 410, 410, 410, 520, 411, 665, 592, 593, 498, 632, - 489, 536, 537, 410, 566, 411, 538, 539, 415, 2, - 544, 545, 641, -260, 410, -259, 428, 19, 20, 324, - 430, 431, 567, 432, 613, 449, 498, 29, 30, 498, - 606, 624, 311, 522, 434, 435, 438, 439, 454, 481, - 262, 484, 304, 249, 482, 485, 310, 483, 286, 498, - -258, 411, 603, 250, 636, 325, 498, 385, 503, 12, - 410, 504, 505, 508, 319, 513, 489, 554, 558, 559, - -253, 401, 598, 575, 583, 582, 586, 587, 589, 594, - 595, 633, 596, 597, 599, 600, 655, 491, 602, 403, - 604, 608, 609, 605, 625, 614, 421, 616, 325, 626, - 325, 414, 627, 628, 629, 630, 631, 107, 108, 635, - 642, 422, 385, 643, 644, 645, 411, 646, 111, 647, - 385, 648, 114, 649, 650, 410, 651, 653, 652, 654, - 656, 121, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 657, 658, 659, 660, 661, 666, 17, 465, - 667, 668, 669, 530, 416, 601, 318, 550, 494, 546, - 397, 547, 385, 548, 402, 495, 549, 305, 506, 280, - 574, 507, 514, 287, 401, 515, 551, 634, 576, 314, - 325, 0, 0, 0, 492, 0, 0, 493, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 325, - 0, 0, 0, 0, 0, 319, 385, 422, 0, 0, - -326, 385, 0, 0, 590, 385, 568, 0, 0, 0, - 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 325, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 385, 0, - 0, 0, 0, 0, 311, 0, 422, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 581, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 591, 0, 0, 0, - 0, 385, 0, 0, 385, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 385, 0, 0, - 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 385, 385, 329, - 330, 331, 332, 333, 334, 18, 0, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 335, 336, 107, 108, 337, - 338, 339, 340, 109, 0, 110, 341, 342, 111, 0, - 112, 113, 114, 343, 115, 116, 117, 118, 119, 344, - 120, 121, 122, 345, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 346, - 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 348, 349, 350, 0, 0, 0, - 0, 351, 0, 0, 352, 353, 354, 355, 329, 330, - 331, 332, 333, 334, 18, 0, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 335, 336, 107, 108, 337, 338, - 339, 340, 109, 0, 110, 341, 342, 111, 0, 112, - 113, 114, 343, 115, 116, 117, 118, 119, 344, 120, - 121, 122, 345, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 123, 124, 125, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 346, 347, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 348, 442, 350, 0, 0, 0, 0, - 351, 0, 0, 352, 353, 354, 355, 329, 330, 331, - 332, 333, 334, 18, 0, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 335, 336, 107, 108, 337, 338, 339, - 340, 109, 0, 110, 341, 342, 111, 0, 112, 113, - 114, 343, 115, 116, 117, 118, 119, 344, 120, 121, - 122, 345, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 346, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 348, 490, 350, 0, 0, 0, 0, 351, - 0, 0, 352, 353, 354, 355, 329, 330, 331, 332, - 333, 334, 18, 0, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 335, 336, 107, 108, 337, 338, 339, 340, - 109, 0, 110, 341, 342, 111, 0, 112, 113, 114, - 343, 115, 116, 117, 118, 119, 344, 120, 121, 122, - 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 346, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 348, 524, 350, 0, 0, 0, 0, 351, 0, - 0, 352, 353, 354, 355, 329, 330, 331, 332, 333, - 334, 18, 0, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 335, 336, 107, 108, 337, 338, 339, 340, 109, - 0, 110, 341, 342, 111, 0, 112, 113, 114, 343, - 115, 116, 117, 118, 119, 344, 120, 121, 122, 345, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 346, 347, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 348, 0, 350, 0, 0, 0, 0, 351, 0, 0, - 352, 353, 354, 355, 329, 330, 331, 332, 333, 334, - 18, 0, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 335, 336, 107, 108, 337, 338, 339, 340, 109, 0, - 110, 341, 342, 111, 0, 112, 113, 114, 343, 115, - 116, 117, 118, 119, 344, 120, 121, 122, 345, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 346, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, - 0, 350, 0, 0, 0, 0, 351, 0, 0, 352, - 353, 354, 355, 329, 330, 331, 332, 333, 334, 18, - 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, - 0, 107, 108, 0, 0, 0, 0, 109, 0, 110, - 0, 0, 111, 0, 112, 113, 114, 0, 115, 116, - 117, 118, 119, 0, 120, 121, 122, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, - 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 346, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 350, 0, 0, 0, 0, 351, 0, 0, 352, 353, - 354, 355, 329, 330, 331, 332, 333, 334, 18, 0, - 19, 20, 21, 22, 23, 323, 25, 26, 27, 0, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, - 107, 108, 0, 0, 0, 0, 109, 0, 110, 0, - 0, 111, 0, 112, 113, 114, 0, 115, 116, 117, - 118, 119, 0, 120, 121, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 123, 124, 125, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 346, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 329, 330, 331, - 332, 333, 334, 18, 351, 0, 0, 352, 353, 354, - 355, 25, 26, 27, 0, 0, 0, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 0, 0, 0, 0, 0, 0, 0, - 0, 109, 0, 110, 0, 0, 0, 0, 112, 0, - 0, 0, 115, 116, 117, 118, 119, 0, 120, 0, - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 123, 124, 125, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 346, 347, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 409, 0, 351, - 0, 0, 352, 353, 354, 355, 329, 330, 331, 332, - 333, 334, 18, 0, 0, 0, 0, 0, 0, 0, - 25, 26, 27, 0, 0, 0, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 109, 0, 110, 0, 0, 0, 0, 112, 0, 0, - 0, 115, 116, 117, 118, 119, 0, 120, 0, 122, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 346, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 436, 0, 0, 0, 0, 351, 0, - 0, 352, 353, 354, 355, 329, 330, 331, 332, 333, - 334, 18, 0, 0, 0, 0, 0, 0, 0, 25, - 26, 27, 0, 0, 0, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 109, - 0, 110, 0, 0, 0, 0, 112, 0, 0, 0, - 115, 116, 117, 118, 119, 0, 120, 0, 122, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 346, 347, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 500, 0, 351, 0, 0, - 352, 353, 354, 355, 329, 330, 331, 332, 333, 334, - 18, 0, 0, 0, 0, 0, 0, 0, 25, 26, - 27, 0, 0, 0, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, - 110, 0, 0, 0, 0, 112, 0, 0, 0, 115, - 116, 117, 118, 119, 0, 120, 0, 122, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 346, 347, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 556, 0, 351, 0, 0, 352, - 353, 354, 355, 329, 330, 331, 332, 333, 334, 18, - 0, 0, 0, 0, 0, 0, 0, 25, 26, 27, - 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 110, - 0, 0, 0, 0, 112, 0, 0, 0, 115, 116, - 117, 118, 119, 0, 120, 0, 122, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, - 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 346, 347, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 572, 0, 351, 0, 0, 352, 353, - 354, 355, 329, 330, 331, 332, 333, 334, 18, 0, - 0, 0, 0, 0, 0, 0, 25, 26, 27, 0, - 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, - 0, 0, 0, 0, 0, 0, 109, 0, 110, 0, - 0, 0, 0, 112, 0, 0, 0, 115, 116, 117, - 118, 119, 0, 120, 0, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 123, 124, 125, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 346, 347, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 640, 0, 351, 0, 0, 352, 353, 354, - 355, 329, 330, 331, 332, 333, 334, 18, 0, 0, - 0, 0, 0, 0, 0, 25, 26, 27, 0, 0, - 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, - 0, 0, 0, 0, 0, 109, 0, 110, 0, 0, - 0, 0, 112, 0, 0, 0, 115, 116, 117, 118, - 119, 0, 120, 0, 122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 346, 347, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 329, 330, 331, 332, - 333, 334, 18, 351, 0, 0, 352, 353, 354, 355, - 25, 26, 27, 0, 0, 0, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 109, 0, 110, 0, 0, 0, 0, 112, 0, 0, - 0, 115, 116, 117, 118, 119, 0, 120, 0, 452, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 346, 347, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 10, 18, 351, 0, - 0, 352, 353, 354, 355, 25, 26, 27, 0, 0, - 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 0, 0, 0, - 0, 0, 0, 0, 0, 109, 0, 110, 0, 0, - 0, 0, 112, 0, 0, 0, 115, 116, 117, 118, - 119, 0, 120, 0, 122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 18, 0, 19, - 20, 21, 22, 23, 323, 25, 26, 27, 309, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, 0, 0, 107, - 108, 0, 0, 0, 0, 109, 0, 110, 0, 0, - 111, 0, 112, 113, 114, 0, 115, 116, 117, 118, - 119, 0, 120, 121, 122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 123, 124, 125, 126, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 18, 0, 19, 20, - 21, 22, 23, 323, 25, 26, 27, 425, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 0, 0, 107, 108, - 0, 0, 0, 0, 109, 0, 110, 0, 0, 111, - 0, 112, 113, 114, 0, 115, 116, 117, 118, 119, - 0, 120, 121, 122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 123, 124, 125, 126, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, - 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 18, 0, 19, 20, 21, - 22, 23, 323, 25, 26, 27, 511, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 0, 0, 107, 108, 0, - 0, 0, 0, 109, 0, 110, 0, 0, 111, 0, - 112, 113, 114, 0, 115, 116, 117, 118, 119, 0, - 120, 121, 122, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 123, 124, 125, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 528, 529, 18, 0, 0, 0, 0, 0, 0, 0, - 25, 26, 27, 0, 0, 560, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 109, 0, 110, 0, 0, 0, 0, 112, 0, 0, - 0, 115, 116, 117, 118, 119, 0, 120, 0, 122, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 123, 124, 125, 126, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, - 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 18, 0, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 0, 0, 107, 108, 0, 0, 0, 0, 109, - 0, 110, 0, 0, 111, 0, 112, 113, 114, 0, - 115, 116, 117, 118, 119, 0, 120, 121, 122, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 123, 124, 125, 126, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 18, 0, 19, 20, 21, 22, 23, 323, 25, 26, - 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 0, 0, 107, 108, 0, 0, 0, 0, 109, 0, - 110, 0, 0, 111, 0, 112, 113, 114, 0, 115, - 116, 117, 118, 119, 0, 120, 121, 122, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, - 124, 125, 126, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 18, - 0, 0, 0, 0, 0, 0, 0, 25, 26, 27, - 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 110, - 0, 0, 0, 0, 112, 0, 0, 0, 115, 116, - 117, 118, 119, 0, 120, 0, 122, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 123, 124, - 125, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, - 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 18, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, - 0, 0, 0, 0, 0, 0, 109, 0, 110, 0, - 0, 0, 0, 112, 0, 0, 0, 115, 116, 117, - 118, 119, 0, 120, 0, 122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 123, 124, 125, - 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 127, 128, 129, - 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, - 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246 - }; - - /* YYCHECK. */ - const short int - LolFxParser::yycheck_[] = - { - 8, 7, 8, 8, 8, 21, 22, 1, 2, 7, - 8, 340, 225, 8, 348, 326, 3, 4, 405, 328, - 283, 8, 413, 414, 439, 365, 582, 496, 422, 312, - 24, 8, 266, 336, 257, 258, 259, 438, 312, 440, - 343, 447, 21, 22, 415, 416, 280, 440, 351, 605, - 0, 442, 112, 444, 447, 461, 116, 447, 112, 21, - 22, 390, 116, 326, 404, 328, 460, 11, 12, 13, - 14, 461, 346, 347, 440, 112, 440, 21, 22, 116, - 440, 447, 305, 447, 455, 456, 102, 447, 440, 558, - 475, 476, 477, 478, 368, 447, 112, 113, 0, 408, - 116, 516, 441, 442, 4, 440, 445, 442, 8, 125, - 497, 451, 7, 8, 443, 438, 427, 586, 446, 447, - 589, 508, 405, 102, 443, 119, 466, 17, 18, 19, - 444, 405, 435, 112, 113, 438, 439, 116, 446, 447, - 609, 448, 449, 445, 447, 408, 125, 616, 446, 489, - 112, 113, 419, 420, 116, 447, 496, 101, 102, 452, - 453, 454, 442, 125, 427, 417, 418, 554, 112, 173, - 195, 115, 116, 438, 178, 461, 439, 181, 438, 441, - 442, 125, 446, 447, 487, 446, 447, 446, 447, 176, - 441, 502, 440, 197, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 516, 497, 192, 441, 442, 558, 446, - 447, 471, 472, 497, 228, 508, 473, 474, 439, 442, - 479, 480, 619, 445, 508, 445, 440, 11, 12, 502, - 440, 461, 246, 440, 584, 446, 586, 21, 22, 589, - 579, 238, 260, 516, 445, 445, 445, 445, 445, 457, - 268, 421, 256, 268, 458, 423, 260, 459, 440, 609, - 445, 554, 575, 268, 608, 283, 616, 285, 443, 273, - 554, 438, 4, 442, 278, 127, 447, 442, 441, 443, - 446, 299, 442, 445, 443, 446, 441, 443, 441, 441, - 441, 604, 441, 441, 441, 439, 635, 636, 443, 303, - 440, 438, 441, 446, 4, 443, 324, 441, 326, 8, - 328, 315, 8, 8, 8, 4, 8, 101, 102, 108, - 440, 325, 340, 440, 440, 440, 619, 440, 112, 443, - 348, 440, 116, 440, 440, 619, 440, 440, 443, 440, - 439, 125, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 440, 443, 441, 441, 440, 440, 5, 441, - 440, 440, 440, 448, 317, 570, 273, 485, 402, 481, - 289, 482, 390, 483, 301, 402, 484, 257, 419, 28, - 510, 421, 434, 250, 402, 434, 486, 605, 516, 268, - 408, -1, -1, -1, 398, -1, -1, 401, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 427, - -1, -1, -1, -1, -1, 419, 434, 421, -1, -1, - 446, 439, -1, -1, 440, 443, 440, -1, -1, -1, - 438, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 502, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 516, -1, - -1, -1, -1, -1, 522, -1, 510, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 521, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 560, -1, -1, -1, - -1, 579, -1, -1, 582, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 605, -1, -1, - 608, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 635, 636, 3, - 4, 5, 6, 7, 8, 9, -1, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, -1, 109, 110, 111, 112, -1, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 148, 149, 150, 151, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 413, - 414, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 438, 439, 440, -1, -1, -1, - -1, 445, -1, -1, 448, 449, 450, 451, 3, 4, - 5, 6, 7, 8, 9, -1, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, -1, 109, 110, 111, 112, -1, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 148, 149, 150, 151, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 413, 414, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 438, 439, 440, -1, -1, -1, -1, - 445, -1, -1, 448, 449, 450, 451, 3, 4, 5, - 6, 7, 8, 9, -1, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, -1, 109, 110, 111, 112, -1, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 148, 149, 150, 151, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 413, 414, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 438, 439, 440, -1, -1, -1, -1, 445, - -1, -1, 448, 449, 450, 451, 3, 4, 5, 6, - 7, 8, 9, -1, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, -1, 109, 110, 111, 112, -1, 114, 115, 116, - 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, - 127, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 148, 149, 150, 151, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 413, 414, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 438, 439, 440, -1, -1, -1, -1, 445, -1, - -1, 448, 449, 450, 451, 3, 4, 5, 6, 7, - 8, 9, -1, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - -1, 109, 110, 111, 112, -1, 114, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 148, 149, 150, 151, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 413, 414, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 438, -1, 440, -1, -1, -1, -1, 445, -1, -1, - 448, 449, 450, 451, 3, 4, 5, 6, 7, 8, - 9, -1, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, - 109, 110, 111, 112, -1, 114, 115, 116, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 126, 127, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, - 149, 150, 151, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 413, 414, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 438, - -1, 440, -1, -1, -1, -1, 445, -1, -1, 448, - 449, 450, 451, 3, 4, 5, 6, 7, 8, 9, - -1, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, -1, -1, -1, -1, 107, -1, 109, - -1, -1, 112, -1, 114, 115, 116, -1, 118, 119, - 120, 121, 122, -1, 124, 125, 126, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 148, 149, - 150, 151, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 413, 414, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 440, -1, -1, -1, -1, 445, -1, -1, 448, 449, - 450, 451, 3, 4, 5, 6, 7, 8, 9, -1, - 11, 12, 13, 14, 15, 16, 17, 18, 19, -1, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, -1, -1, -1, -1, 107, -1, 109, -1, - -1, 112, -1, 114, 115, 116, -1, 118, 119, 120, - 121, 122, -1, 124, 125, 126, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 148, 149, 150, - 151, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 413, 414, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 445, -1, -1, 448, 449, 450, - 451, 17, 18, 19, -1, -1, -1, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, -1, -1, -1, -1, -1, -1, -1, - -1, 107, -1, 109, -1, -1, -1, -1, 114, -1, - -1, -1, 118, 119, 120, 121, 122, -1, 124, -1, - 126, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 148, 149, 150, 151, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, - 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 413, 414, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 443, -1, 445, - -1, -1, 448, 449, 450, 451, 3, 4, 5, 6, - 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, - 17, 18, 19, -1, -1, -1, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, -1, -1, -1, -1, -1, -1, -1, -1, - 107, -1, 109, -1, -1, -1, -1, 114, -1, -1, - -1, 118, 119, 120, 121, 122, -1, 124, -1, 126, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 148, 149, 150, 151, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 413, 414, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 440, -1, -1, -1, -1, 445, -1, - -1, 448, 449, 450, 451, 3, 4, 5, 6, 7, - 8, 9, -1, -1, -1, -1, -1, -1, -1, 17, - 18, 19, -1, -1, -1, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, -1, -1, -1, -1, -1, -1, -1, -1, 107, - -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, - 118, 119, 120, 121, 122, -1, 124, -1, 126, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 148, 149, 150, 151, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 413, 414, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 443, -1, 445, -1, -1, - 448, 449, 450, 451, 3, 4, 5, 6, 7, 8, - 9, -1, -1, -1, -1, -1, -1, -1, 17, 18, - 19, -1, -1, -1, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - -1, -1, -1, -1, -1, -1, -1, -1, 107, -1, - 109, -1, -1, -1, -1, 114, -1, -1, -1, 118, - 119, 120, 121, 122, -1, 124, -1, 126, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, - 149, 150, 151, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 413, 414, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 443, -1, 445, -1, -1, 448, - 449, 450, 451, 3, 4, 5, 6, 7, 8, 9, - -1, -1, -1, -1, -1, -1, -1, 17, 18, 19, - -1, -1, -1, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, - -1, -1, -1, -1, -1, -1, -1, 107, -1, 109, - -1, -1, -1, -1, 114, -1, -1, -1, 118, 119, - 120, 121, 122, -1, 124, -1, 126, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 148, 149, - 150, 151, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 413, 414, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 443, -1, 445, -1, -1, 448, 449, - 450, 451, 3, 4, 5, 6, 7, 8, 9, -1, - -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, - -1, -1, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, -1, -1, - -1, -1, -1, -1, -1, -1, 107, -1, 109, -1, - -1, -1, -1, 114, -1, -1, -1, 118, 119, 120, - 121, 122, -1, 124, -1, 126, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 148, 149, 150, - 151, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 413, 414, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 443, -1, 445, -1, -1, 448, 449, 450, - 451, 3, 4, 5, 6, 7, 8, 9, -1, -1, - -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, - -1, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, - -1, -1, -1, -1, -1, 107, -1, 109, -1, -1, - -1, -1, 114, -1, -1, -1, 118, 119, 120, 121, - 122, -1, 124, -1, 126, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 148, 149, 150, 151, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 413, 414, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 445, -1, -1, 448, 449, 450, 451, - 17, 18, 19, -1, -1, -1, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, -1, -1, -1, -1, -1, -1, -1, -1, - 107, -1, 109, -1, -1, -1, -1, 114, -1, -1, - -1, 118, 119, 120, 121, 122, -1, 124, -1, 126, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 148, 149, 150, 151, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 413, 414, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 7, 8, 9, 445, -1, - -1, 448, 449, 450, 451, 17, 18, 19, -1, -1, - -1, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, -1, -1, -1, - -1, -1, -1, -1, -1, 107, -1, 109, -1, -1, - -1, -1, 114, -1, -1, -1, 118, 119, 120, 121, - 122, -1, 124, -1, 126, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 148, 149, 150, 151, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 9, -1, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 440, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, -1, -1, -1, -1, 107, -1, 109, -1, -1, - 112, -1, 114, 115, 116, -1, 118, 119, 120, 121, - 122, -1, 124, 125, 126, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 148, 149, 150, 151, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, - 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 9, -1, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 439, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - -1, -1, -1, -1, 107, -1, 109, -1, -1, 112, - -1, 114, 115, 116, -1, 118, 119, 120, 121, 122, - -1, 124, 125, 126, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 148, 149, 150, 151, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 9, -1, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 439, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, -1, - -1, -1, -1, 107, -1, 109, -1, -1, 112, -1, - 114, 115, 116, -1, 118, 119, 120, 121, 122, -1, - 124, 125, 126, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 148, 149, 150, 151, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 7, 8, 9, -1, -1, -1, -1, -1, -1, -1, - 17, 18, 19, -1, -1, 439, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, -1, -1, -1, -1, -1, -1, -1, -1, - 107, -1, 109, -1, -1, -1, -1, 114, -1, -1, - -1, 118, 119, 120, 121, 122, -1, 124, -1, 126, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 148, 149, 150, 151, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, - 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 9, -1, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, -1, -1, -1, -1, 107, - -1, 109, -1, -1, 112, -1, 114, 115, 116, -1, - 118, 119, 120, 121, 122, -1, 124, 125, 126, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 148, 149, 150, 151, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 9, -1, 11, 12, 13, 14, 15, 16, 17, 18, - 19, -1, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, -1, -1, -1, -1, 107, -1, - 109, -1, -1, 112, -1, 114, 115, 116, -1, 118, - 119, 120, 121, 122, -1, 124, 125, 126, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, - 149, 150, 151, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 9, - -1, -1, -1, -1, -1, -1, -1, 17, 18, 19, - -1, -1, -1, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, -1, - -1, -1, -1, -1, -1, -1, -1, 107, -1, 109, - -1, -1, -1, -1, 114, -1, -1, -1, 118, 119, - 120, 121, 122, -1, 124, -1, 126, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 148, 149, - 150, 151, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, - 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 9, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, -1, -1, - -1, -1, -1, -1, -1, -1, 107, -1, 109, -1, - -1, -1, -1, 114, -1, -1, -1, 118, 119, 120, - 121, 122, -1, 124, -1, 126, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 148, 149, 150, - 151, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367 - }; - - /* STOS_[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ - const unsigned short int - LolFxParser::yystos_[] = - { - 0, 225, 442, 465, 466, 467, 468, 474, 475, 7, - 8, 469, 469, 476, 477, 0, 0, 466, 9, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 101, 102, 107, - 109, 112, 114, 115, 116, 118, 119, 120, 121, 122, - 124, 125, 126, 148, 149, 150, 151, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 463, 464, 507, - 508, 509, 510, 511, 518, 519, 520, 521, 522, 523, - 527, 528, 529, 530, 531, 532, 533, 534, 559, 560, - 561, 438, 443, 444, 112, 116, 112, 116, 445, 469, - 533, 112, 116, 438, 469, 438, 440, 545, 446, 447, - 21, 22, 102, 112, 113, 116, 125, 513, 514, 515, - 516, 526, 440, 447, 469, 522, 528, 528, 528, 440, - 469, 529, 442, 530, 560, 195, 470, 471, 476, 469, - 524, 525, 530, 16, 527, 529, 535, 536, 438, 3, - 4, 5, 6, 7, 8, 99, 100, 103, 104, 105, - 106, 110, 111, 117, 123, 127, 413, 414, 438, 439, - 440, 445, 448, 449, 450, 451, 469, 478, 479, 480, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 505, 507, 508, 529, 540, 541, 542, 543, - 546, 547, 548, 551, 553, 554, 558, 513, 461, 512, - 517, 529, 515, 469, 441, 442, 445, 528, 438, 443, - 489, 502, 506, 529, 469, 439, 470, 441, 446, 447, - 440, 529, 469, 537, 538, 439, 536, 535, 440, 505, - 440, 461, 440, 541, 445, 445, 440, 505, 445, 445, - 489, 489, 439, 546, 505, 413, 414, 442, 444, 446, - 446, 447, 126, 503, 445, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 441, 504, 489, 452, 453, - 454, 448, 449, 419, 420, 415, 416, 455, 456, 417, - 418, 457, 458, 459, 421, 423, 422, 460, 440, 447, - 439, 541, 469, 469, 512, 517, 441, 442, 503, 539, - 443, 506, 535, 443, 438, 4, 525, 537, 442, 440, - 447, 439, 461, 127, 540, 547, 555, 505, 440, 505, - 505, 520, 527, 550, 439, 446, 481, 505, 7, 8, - 484, 503, 503, 489, 489, 489, 491, 491, 492, 492, - 493, 493, 493, 493, 494, 494, 495, 496, 497, 498, - 499, 500, 505, 503, 442, 539, 443, 506, 441, 443, - 439, 8, 173, 178, 181, 197, 228, 246, 440, 472, - 473, 440, 443, 506, 538, 445, 550, 556, 557, 446, - 446, 469, 446, 443, 461, 506, 441, 443, 539, 441, - 440, 469, 441, 442, 441, 441, 441, 441, 442, 441, - 439, 472, 443, 505, 440, 446, 541, 549, 438, 441, - 542, 544, 545, 503, 443, 539, 441, 539, 440, 442, - 3, 4, 8, 176, 238, 4, 8, 8, 8, 8, - 4, 8, 446, 505, 544, 108, 546, 552, 539, 539, - 443, 506, 440, 440, 440, 440, 440, 443, 440, 440, - 440, 440, 443, 440, 440, 541, 439, 440, 443, 441, - 441, 440, 4, 8, 8, 192, 440, 440, 440, 440 - }; - -#if YYDEBUG - /* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding - to YYLEX-NUM. */ - const unsigned short int - LolFxParser::yytoken_number_[] = - { - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, - 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, - 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, - 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, - 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, - 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, - 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, - 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, - 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, - 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, - 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, - 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, - 685, 686, 687, 688, 689, 690, 691, 692, 123, 125, - 59, 61, 91, 93, 46, 40, 41, 44, 43, 45, - 33, 126, 42, 47, 37, 60, 62, 38, 94, 124, - 63, 58 - }; -#endif - - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ - const unsigned short int - LolFxParser::yyr1_[] = - { - 0, 462, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 463, 463, 463, 463, 463, 463, 463, 463, 463, - 463, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, - 464, 465, 466, 466, 467, 467, 468, 469, 469, 470, - 470, 471, 472, 472, 473, 473, 473, 473, 473, 473, - 473, 473, 473, 473, 473, 473, 473, 473, 473, 474, - 475, 476, 476, 477, 478, 479, 479, 479, 479, 479, - 479, 480, 480, 480, 480, 480, 480, 481, 482, 483, - 483, 484, 484, 485, 485, 486, 486, 487, 488, 488, - 488, 489, 489, 489, 489, 490, 490, 490, 490, 491, - 491, 491, 491, 492, 492, 492, 493, 493, 493, 494, - 494, 494, 494, 494, 495, 495, 495, 496, 496, 497, - 497, 498, 498, 499, 499, 500, 500, 501, 501, 502, - 502, 503, 503, 504, 504, 504, 504, 504, 504, 504, - 504, 504, 504, 504, 505, 505, 506, 507, 507, 507, - 507, 507, 507, 507, 507, 508, 509, 509, 510, 510, - 511, 512, 512, 513, 513, 514, 514, 514, 514, 515, - 515, 516, 516, 516, 516, 516, 516, 517, 518, 518, - 518, 518, 518, 518, 518, 519, 519, 519, 519, 519, - 519, 519, 519, 520, 520, 521, 522, 522, 522, 523, - 524, 524, 525, 525, 526, 527, 527, 527, 527, 527, - 527, 527, 527, 528, 528, 528, 528, 528, 528, 528, - 528, 528, 528, 528, 528, 529, 529, 530, 530, 530, - 531, 531, 532, 532, 532, 532, 532, 532, 532, 532, - 532, 532, 532, 532, 532, 533, 533, 533, 534, 534, - 535, 535, 536, 536, 537, 537, 538, 538, 538, 539, - 540, 541, 541, 542, 542, 542, 542, 542, 542, 542, - 543, 543, 544, 544, 545, 545, 546, 546, 547, 547, - 548, 549, 549, 550, 550, 551, 552, 552, 553, 553, - 554, 554, 554, 555, 555, 556, 556, 557, 557, 558, - 558, 558, 558, 558, 559, 559, 560, 560, 561 - }; - - /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ - const unsigned char - LolFxParser::yyr2_[] = - { - 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 2, 1, 1, 5, 1, 1, 1, - 2, 5, 1, 2, 1, 4, 4, 4, 4, 4, - 7, 7, 7, 7, 4, 4, 4, 4, 4, 2, - 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 1, 4, 1, 3, 2, 2, 1, 1, 1, - 3, 2, 2, 2, 1, 2, 3, 2, 1, 1, - 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, - 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, - 3, 3, 3, 3, 1, 3, 3, 1, 3, 1, - 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, - 5, 1, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 2, 2, 4, - 6, 7, 9, 10, 2, 2, 1, 1, 2, 3, - 3, 2, 5, 3, 1, 3, 2, 3, 2, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 3, - 5, 6, 7, 8, 5, 1, 2, 4, 5, 6, - 7, 4, 2, 1, 2, 1, 1, 1, 1, 4, - 1, 3, 1, 3, 1, 1, 1, 2, 2, 1, - 2, 3, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 1, 1, 1, 1, 2, 1, 3, 4, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, - 1, 2, 3, 4, 1, 3, 1, 3, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 3, 1, 1, 2, 3, 1, 2, 1, 2, - 5, 3, 1, 1, 4, 7, 0, 1, 3, 2, - 5, 7, 6, 1, 1, 1, 0, 2, 3, 2, - 2, 2, 3, 2, 1, 2, 1, 1, 2 - }; - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at \a yyntokens_, nonterminals. */ - const char* - const LolFxParser::yytname_[] = - { - "T_END", "error", "$undefined", "BOOLCONSTANT", "INTCONSTANT", - "UINTCONSTANT", "FLOATCONSTANT", "FIELDSELECTION", "IDENTIFIER", - "TYPENAME", "GT_SUBROUTINE", "GT_PATCH", "GT_SAMPLE", "GT_FLAT", - "GT_SMOOTH", "GT_LAYOUT", "GT_INVARIANT", "GT_HIGHP", "GT_MEDIUMP", - "GT_LOWP", "GT_PRECISION", "GT_ATTRIBUTE", "GT_VARYING", "GT_VEC2", - "GT_VEC3", "GT_VEC4", "GT_BVEC2", "GT_BVEC3", "GT_BVEC4", "GT_DVEC2", - "GT_DVEC3", "GT_DVEC4", "GT_IVEC2", "GT_IVEC3", "GT_IVEC4", "GT_UVEC2", - "GT_UVEC3", "GT_UVEC4", "GT_MAT2", "GT_MAT2X2", "GT_MAT2X3", "GT_MAT2X4", - "GT_MAT3", "GT_MAT3X2", "GT_MAT3X3", "GT_MAT3X4", "GT_MAT4", "GT_MAT4X2", - "GT_MAT4X3", "GT_MAT4X4", "GT_DMAT2", "GT_DMAT2X2", "GT_DMAT2X3", - "GT_DMAT2X4", "GT_DMAT3", "GT_DMAT3X2", "GT_DMAT3X3", "GT_DMAT3X4", - "GT_DMAT4", "GT_DMAT4X2", "GT_DMAT4X3", "GT_DMAT4X4", - "GT_SAMPLER1DSHADOW", "GT_SAMPLER1DARRAY", "GT_SAMPLER1DARRAYSHADOW", - "GT_SAMPLER2DSHADOW", "GT_SAMPLER2DARRAY", "GT_SAMPLER2DARRAYSHADOW", - "GT_SAMPLER2DRECT", "GT_SAMPLER2DRECTSHADOW", "GT_SAMPLER2DMS", - "GT_SAMPLER2DMSARRAY", "GT_SAMPLERCUBESHADOW", "GT_SAMPLERCUBEARRAY", - "GT_SAMPLERCUBEARRAYSHADOW", "GT_SAMPLERBUFFER", "GT_ISAMPLER1D", - "GT_ISAMPLER1DARRAY", "GT_ISAMPLER2D", "GT_ISAMPLER2DARRAY", - "GT_ISAMPLER2DRECT", "GT_ISAMPLER2DMS", "GT_ISAMPLER2DMSARRAY", - "GT_ISAMPLER3D", "GT_ISAMPLERCUBE", "GT_ISAMPLERCUBEARRAY", - "GT_ISAMPLERBUFFER", "GT_USAMPLER1D", "GT_USAMPLER1DARRAY", - "GT_USAMPLER2D", "GT_USAMPLER2DARRAY", "GT_USAMPLER2DRECT", - "GT_USAMPLER2DMS", "GT_USAMPLER2DMSARRAY", "GT_USAMPLER3D", - "GT_USAMPLERCUBE", "GT_USAMPLERCUBEARRAY", "GT_USAMPLERBUFFER", - "GHT_BOOL", "GHT_BREAK", "GHT_CASE", "GHT_CENTROID", "GHT_CONST", - "GHT_CONTINUE", "GHT_DEFAULT", "GHT_DISCARD", "GHT_DO", "GHT_DOUBLE", - "GHT_ELSE", "GHT_FLOAT", "GHT_FOR", "GHT_IF", "GHT_IN", "GHT_INOUT", - "GHT_INT", "GHT_NOPERSPECTIVE", "GHT_OUT", "GHT_RETURN", "GHT_SAMPLER1D", - "GHT_SAMPLER2D", "GHT_SAMPLER3D", "GHT_SAMPLERCUBE", "GHT_STRUCT", - "GHT_SWITCH", "GHT_UINT", "GHT_UNIFORM", "GHT_VOID", "GHT_WHILE", - "HGT_BOOL", "HGT_BREAK", "HGT_CASE", "HGT_CENTROID", "HGT_CONST", - "HGT_CONTINUE", "HGT_DEFAULT", "HGT_DISCARD", "HGT_DO", "HGT_DOUBLE", - "HGT_ELSE", "HGT_FLOAT", "HGT_FOR", "HGT_IF", "HGT_IN", "HGT_INOUT", - "HGT_INT", "HGT_NOPERSPECTIVE", "HGT_OUT", "HGT_RETURN", "HGT_SAMPLER1D", - "HGT_SAMPLER2D", "HGT_SAMPLER3D", "HGT_SAMPLERCUBE", "HGT_STRUCT", - "HGT_SWITCH", "HGT_UINT", "HGT_UNIFORM", "HGT_VOID", "HGT_WHILE", - "HT_APPENDSTRUCTUREDBUFFER", "HT_ASM", "HT_ASM_FRAGMENT", - "HT_BLENDSTATE", "HT_BUFFER", "HT_BYTEADDRESSBUFFER", "HT_CBUFFER", - "HT_COLUMN_MAJOR", "HT_COMPILE", "HT_COMPILE_FRAGMENT", - "HT_COMPILESHADER", "HT_COMPUTESHADER", "HT_CONSUMESTRUCTUREDBUFFER", - "HT_DEPTHSTENCILSTATE", "HT_DEPTHSTENCILVIEW", "HT_DOMAINSHADER", - "HT_DWORD", "HT_EXTERN", "HT_FALSE", "HT_FXGROUP", "HT_GEOMETRYSHADER", - "HT_GROUPSHARED", "HT_HALF", "HT_HULLSHADER", "HT_INLINE", - "HT_INPUTPATCH", "HT_INTERFACE", "HT_LINE", "HT_LINEADJ", "HT_LINEAR", - "HT_LINESTREAM", "HT_MATRIX", "HT_NAMESPACE", "HT_NOINTERPOLATION", - "HT_NULL", "HT_OUTPUTPATCH", "HT_PACKOFFSET", "HT_PASS", - "HT_PIXELFRAGMENT", "HT_PIXELSHADER", "HT_POINT", "HT_POINTSTREAM", - "HT_PRECISE", "HT_RASTERIZERSTATE", "HT_RENDERTARGETVIEW", "HT_REGISTER", - "HT_ROW_MAJOR", "HT_RWBUFFER", "HT_RWBYTEADDRESSBUFFER", - "HT_RWSTRUCTUREDBUFFER", "HT_RWTEXTURE1D", "HT_RWTEXTURE1DARRAY", - "HT_RWTEXTURE2D", "HT_RWTEXTURE2DARRAY", "HT_RWTEXTURE3D", "HT_SAMPLER", - "HT_SAMPLER_STATE", "HT_SAMPLERSTATE", "HT_SAMPLERCOMPARISONSTATE", - "HT_SHARED", "HT_SNORM", "HT_STATEBLOCK", "HT_STATEBLOCK_STATE", - "HT_STATIC", "HT_STRING", "HT_STRUCTUREDBUFFER", "HT_TBUFFER", - "HT_TECHNIQUE", "HT_TECHNIQUE10", "HT_TECHNIQUE11XZ", "HT_TEXTURE", - "HT_TEXTURE1D", "HT_TEXTURE1DARRAY", "HT_TEXTURE2D", "HT_TEXTURE2DARRAY", - "HT_TEXTURE2DMS", "HT_TEXTURE2DMSARRAY", "HT_TEXTURE3D", - "HT_TEXTURECUBE", "HT_TEXTURECUBEARRAY", "HT_TRUE", "HT_TYPEDEF", - "HT_TRIANGLE", "HT_TRIANGLEADJ", "HT_TRIANGLESTREAM", "HT_UNORM", - "HT_VECTOR", "HT_VERTEXFRAGMENT", "HT_VERTEXSHADER", "HT_VOLATILE", - "HT_BOOL1", "HT_BOOL1x1", "HT_BOOL2x1", "HT_BOOL3x1", "HT_BOOL4x1", - "HT_BOOL2", "HT_BOOL1x2", "HT_BOOL2x2", "HT_BOOL3x2", "HT_BOOL4x2", - "HT_BOOL3", "HT_BOOL1x3", "HT_BOOL2x3", "HT_BOOL3x3", "HT_BOOL4x3", - "HT_BOOL4", "HT_BOOL1x4", "HT_BOOL2x4", "HT_BOOL3x4", "HT_BOOL4x4", - "HT_FLOAT1", "HT_FLOAT1x1", "HT_FLOAT2x1", "HT_FLOAT3x1", "HT_FLOAT4x1", - "HT_FLOAT2", "HT_FLOAT1x2", "HT_FLOAT2x2", "HT_FLOAT3x2", "HT_FLOAT4x2", - "HT_FLOAT3", "HT_FLOAT1x3", "HT_FLOAT2x3", "HT_FLOAT3x3", "HT_FLOAT4x3", - "HT_FLOAT4", "HT_FLOAT1x4", "HT_FLOAT2x4", "HT_FLOAT3x4", "HT_FLOAT4x4", - "HT_DOUBLE1", "HT_DOUBLE1x1", "HT_DOUBLE2x1", "HT_DOUBLE3x1", - "HT_DOUBLE4x1", "HT_DOUBLE2", "HT_DOUBLE1x2", "HT_DOUBLE2x2", - "HT_DOUBLE3x2", "HT_DOUBLE4x2", "HT_DOUBLE3", "HT_DOUBLE1x3", - "HT_DOUBLE2x3", "HT_DOUBLE3x3", "HT_DOUBLE4x3", "HT_DOUBLE4", - "HT_DOUBLE1x4", "HT_DOUBLE2x4", "HT_DOUBLE3x4", "HT_DOUBLE4x4", - "HT_DWORD1", "HT_DWORD1x1", "HT_DWORD2x1", "HT_DWORD3x1", "HT_DWORD4x1", - "HT_DWORD2", "HT_DWORD1x2", "HT_DWORD2x2", "HT_DWORD3x2", "HT_DWORD4x2", - "HT_DWORD3", "HT_DWORD1x3", "HT_DWORD2x3", "HT_DWORD3x3", "HT_DWORD4x3", - "HT_DWORD4", "HT_DWORD1x4", "HT_DWORD2x4", "HT_DWORD3x4", "HT_DWORD4x4", - "HT_INT1", "HT_INT1x1", "HT_INT2x1", "HT_INT3x1", "HT_INT4x1", "HT_INT2", - "HT_INT1x2", "HT_INT2x2", "HT_INT3x2", "HT_INT4x2", "HT_INT3", - "HT_INT1x3", "HT_INT2x3", "HT_INT3x3", "HT_INT4x3", "HT_INT4", - "HT_INT1x4", "HT_INT2x4", "HT_INT3x4", "HT_INT4x4", "HT_UINT1", - "HT_UINT1x1", "HT_UINT2x1", "HT_UINT3x1", "HT_UINT4x1", "HT_UINT2", - "HT_UINT1x2", "HT_UINT2x2", "HT_UINT3x2", "HT_UINT4x2", "HT_UINT3", - "HT_UINT1x3", "HT_UINT2x3", "HT_UINT3x3", "HT_UINT4x3", "HT_UINT4", - "HT_UINT1x4", "HT_UINT2x4", "HT_UINT3x4", "HT_UINT4x4", - "PREPROCESSOR_DEFINE", "PREPROCESSOR_ELIF", "PREPROCESSOR_ELSE", - "PREPROCESSOR_ENDIF", "PREPROCESSOR_ERROR", "PREPROCESSOR_IF", - "PREPROCESSOR_IFDEF", "PREPROCESSOR_IFNDEF", "PREPROCESSOR_INCLUDE", - "PREPROCESSOR_LINE", "PREPROCESSOR_PRAGMA", "PREPROCESSOR_UNDEF", - "PREPROCESSOR_REGION", "HT_AUTO", "HT_CATCH", "HT_CHAR", "HT_CLASS", - "HT_CONST_CAST", "HT_DELETE", "HT_DYNAMIC_CAST", "HT_ENUM", - "HT_EXPLICIT", "HT_FRIEND", "HT_GOTO", "HT_LONG", "HT_MUTABLE", "HT_NEW", - "HT_OPERATOR", "HT_PRIVATE", "HT_PROTECTED", "HT_PUBLIC", - "HT_REINTERPRET_CAST", "HT_SHORT", "HT_SIGNED", "HT_SIZEOF", - "HT_STATIC_CAST", "HT_TEMPLATE", "HT_THIS", "HT_THROW", "HT_TRY", - "HT_TYPENAME", "HT_UNION", "HT_UNSIGNED", "HT_USING", "HT_VIRTUAL", - "T_INC", "T_DEC", "T_LE", "T_GE", "T_EQ", "T_NE", "T_LEFT", "T_RIGHT", - "T_AND", "T_OR", "T_XOR", "T_MULEQ", "T_DIVEQ", "T_MODEQ", "T_ADDEQ", - "T_SUBEQ", "T_LEFTEQ", "T_RIGHTEQ", "T_ANDEQ", "T_XOREQ", "T_OREQ", - "FLOAT", "STRING", "NAME", "T_ERROR", "'{'", "'}'", "';'", "'='", "'['", - "']'", "'.'", "'('", "')'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", - "'/'", "'%'", "'<'", "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "$accept", - "group_glsl_type", "group_hlsl_type", "lolfx_file", "lolfx_section_list", - "lolfx_section", "lolfx_technique", "lolfx_identifier", "pass_list", - "pass", "pass_stmt_list", "pass_stmt", "lolfx_shader", - "lolfx_shader_declaration", "lolfx_shader_name_list", - "lolfx_shader_name", "glsl_variable_identifier", - "glsl_primary_expression", "glsl_postfix_expression", - "glsl_integer_expression", "glsl_function_call", - "glsl_function_call_or_method", "glsl_function_call_generic", - "glsl_function_call_header_no_parameters", - "glsl_function_call_header_with_parameters", "glsl_function_call_header", - "glsl_function_identifier", "glsl_unary_expression", - "glsl_unary_operator", "glsl_multiplicative_expression", - "glsl_additive_expression", "glsl_shift_expression", - "glsl_relational_expression", "glsl_equality_expression", - "glsl_and_expression", "glsl_exclusive_or_expression", - "glsl_inclusive_or_expression", "glsl_logical_and_expression", - "glsl_logical_xor_expression", "glsl_logical_or_expression", - "glsl_conditional_expression", "glsl_assignment_expression", - "glsl_assignment_operator", "glsl_expression", - "glsl_constant_expression", "glsl_declaration", - "glsl_function_prototype", "glsl_function_declarator", - "glsl_function_header_with_parameters", "glsl_function_header", - "glsl_parameter_declarator", "lolfx_parameter_declaration", - "glsl_parameter_declaration", "lolfx_parameter_qualifier", - "glsl_parameter_qualifier", "glsl_parameter_type_specifier", - "glsl_init_declarator_list", "glsl_single_declaration", - "glsl_fully_specified_type", "glsl_invariant_qualifier", - "glsl_interpolation_qualifier", "glsl_layout_qualifier", - "glsl_layout_qualifier_id_list", "glsl_layout_qualifier_id", - "glsl_parameter_type_qualifier", "glsl_type_qualifier", - "glsl_storage_qualifier", "glsl_type_specifier", - "glsl_type_specifier_no_prec", "lolfx_type_specifier_nonarray", - "glsl_type_specifier_nonarray", "glsl_precision_qualifier", - "glsl_struct_specifier", "glsl_struct_declaration_list", - "glsl_struct_declaration", "glsl_struct_declarator_list", - "glsl_struct_declarator", "glsl_initializer", - "glsl_declaration_statement", "glsl_statement", "glsl_simple_statement", - "glsl_compound_statement", "glsl_statement_no_new_scope", - "glsl_compound_statement_no_new_scope", "glsl_statement_list", - "glsl_expression_statement", "glsl_selection_statement", - "glsl_selection_rest_statement", "glsl_condition", - "glsl_switch_statement", "glsl_switch_statement_list", "glsl_case_label", - "glsl_iteration_statement", "glsl_for_init_statement", - "glsl_conditionopt", "glsl_for_rest_statement", "glsl_jump_statement", - "glsl_translation_unit", "glsl_external_declaration", - "glsl_function_definition", 0 - }; -#endif - -#if YYDEBUG - /* YYRHS -- A `-1'-separated list of the rules' RHS. */ - const LolFxParser::rhs_number_type - LolFxParser::yyrhs_[] = - { - 465, 0, -1, 23, -1, 24, -1, 25, -1, 26, - -1, 27, -1, 28, -1, 29, -1, 30, -1, 31, - -1, 32, -1, 33, -1, 34, -1, 35, -1, 36, - -1, 37, -1, 38, -1, 39, -1, 40, -1, 41, - -1, 42, -1, 43, -1, 44, -1, 45, -1, 46, - -1, 47, -1, 48, -1, 49, -1, 50, -1, 51, - -1, 52, -1, 53, -1, 54, -1, 55, -1, 56, - -1, 57, -1, 58, -1, 59, -1, 60, -1, 61, - -1, 62, -1, 63, -1, 64, -1, 65, -1, 66, - -1, 67, -1, 68, -1, 69, -1, 70, -1, 71, - -1, 72, -1, 73, -1, 74, -1, 75, -1, 76, - -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, - -1, 82, -1, 83, -1, 84, -1, 85, -1, 86, - -1, 87, -1, 88, -1, 89, -1, 90, -1, 91, - -1, 92, -1, 93, -1, 94, -1, 95, -1, 96, - -1, 97, -1, 148, -1, 149, -1, 150, -1, 151, - -1, 248, -1, 249, -1, 250, -1, 251, -1, 252, - -1, 253, -1, 254, -1, 255, -1, 256, -1, 257, - -1, 258, -1, 259, -1, 260, -1, 261, -1, 262, - -1, 263, -1, 264, -1, 265, -1, 266, -1, 267, - -1, 268, -1, 269, -1, 270, -1, 271, -1, 272, - -1, 273, -1, 274, -1, 275, -1, 276, -1, 277, - -1, 278, -1, 279, -1, 280, -1, 281, -1, 282, - -1, 283, -1, 284, -1, 285, -1, 286, -1, 287, - -1, 288, -1, 289, -1, 290, -1, 291, -1, 292, - -1, 293, -1, 294, -1, 295, -1, 296, -1, 297, - -1, 298, -1, 299, -1, 300, -1, 301, -1, 302, - -1, 303, -1, 304, -1, 305, -1, 306, -1, 307, - -1, 308, -1, 309, -1, 310, -1, 311, -1, 312, - -1, 313, -1, 314, -1, 315, -1, 316, -1, 317, - -1, 318, -1, 319, -1, 320, -1, 321, -1, 322, - -1, 323, -1, 324, -1, 325, -1, 326, -1, 327, - -1, 328, -1, 329, -1, 330, -1, 331, -1, 332, - -1, 333, -1, 334, -1, 335, -1, 336, -1, 337, - -1, 338, -1, 339, -1, 340, -1, 341, -1, 342, - -1, 343, -1, 344, -1, 345, -1, 346, -1, 347, - -1, 348, -1, 349, -1, 350, -1, 351, -1, 352, - -1, 353, -1, 354, -1, 355, -1, 356, -1, 357, - -1, 358, -1, 359, -1, 360, -1, 361, -1, 362, - -1, 363, -1, 364, -1, 365, -1, 366, -1, 367, - -1, 466, 0, -1, 467, -1, 467, 466, -1, 468, - -1, 474, -1, 225, 469, 438, 470, 439, -1, 8, - -1, 7, -1, 471, -1, 471, 470, -1, 195, 469, - 438, 472, 439, -1, 473, -1, 473, 472, -1, 440, - -1, 8, 441, 8, 440, -1, 8, 441, 4, 440, - -1, 8, 441, 3, 440, -1, 8, 441, 176, 440, - -1, 8, 441, 238, 440, -1, 8, 442, 4, 443, - 441, 8, 440, -1, 8, 442, 4, 443, 441, 4, - 440, -1, 228, 442, 4, 443, 441, 8, 440, -1, - 228, 442, 4, 443, 441, 192, 440, -1, 173, 441, - 8, 440, -1, 178, 441, 8, 440, -1, 181, 441, - 8, 440, -1, 197, 441, 8, 440, -1, 246, 441, - 8, 440, -1, 475, 559, -1, 442, 476, 443, -1, - 477, 444, 476, -1, 477, -1, 469, -1, 469, -1, - 478, -1, 4, -1, 5, -1, 6, -1, 3, -1, - 445, 505, 446, -1, 479, -1, 480, 442, 481, 443, - -1, 482, -1, 480, 444, 7, -1, 480, 413, -1, - 480, 414, -1, 505, -1, 483, -1, 484, -1, 480, - 444, 484, -1, 486, 446, -1, 485, 446, -1, 487, - 126, -1, 487, -1, 487, 503, -1, 486, 447, 503, - -1, 488, 445, -1, 529, -1, 8, -1, 7, -1, - 480, -1, 413, 489, -1, 414, 489, -1, 490, 489, - -1, 448, -1, 449, -1, 450, -1, 451, -1, 489, - -1, 491, 452, 489, -1, 491, 453, 489, -1, 491, - 454, 489, -1, 491, -1, 492, 448, 491, -1, 492, - 449, 491, -1, 492, -1, 493, 419, 492, -1, 493, - 420, 492, -1, 493, -1, 494, 455, 493, -1, 494, - 456, 493, -1, 494, 415, 493, -1, 494, 416, 493, - -1, 494, -1, 495, 417, 494, -1, 495, 418, 494, - -1, 495, -1, 496, 457, 495, -1, 496, -1, 497, - 458, 496, -1, 497, -1, 498, 459, 497, -1, 498, - -1, 499, 421, 498, -1, 499, -1, 500, 423, 499, - -1, 500, -1, 501, 422, 500, -1, 501, -1, 501, - 460, 505, 461, 503, -1, 502, -1, 489, 504, 503, - -1, 441, -1, 424, -1, 425, -1, 426, -1, 427, - -1, 428, -1, 429, -1, 430, -1, 431, -1, 432, - -1, 433, -1, 503, -1, 505, 447, 503, -1, 502, - -1, 508, 440, -1, 518, 440, -1, 20, 533, 530, - 440, -1, 527, 469, 438, 535, 439, 440, -1, 527, - 469, 438, 535, 439, 469, 440, -1, 527, 469, 438, - 535, 439, 469, 442, 443, 440, -1, 527, 469, 438, - 535, 439, 469, 442, 506, 443, 440, -1, 527, 440, - -1, 509, 446, -1, 511, -1, 510, -1, 511, 513, - -1, 510, 447, 513, -1, 520, 469, 445, -1, 529, - 469, -1, 529, 469, 442, 506, 443, -1, 514, 461, - 469, -1, 514, -1, 526, 515, 512, -1, 515, 512, - -1, 526, 515, 517, -1, 515, 517, -1, 516, -1, - 125, -1, -1, 112, -1, 116, -1, 113, -1, 21, - -1, 22, -1, 529, -1, 519, -1, 518, 447, 469, - -1, 518, 447, 469, 442, 443, -1, 518, 447, 469, - 442, 506, 443, -1, 518, 447, 469, 442, 443, 441, - 539, -1, 518, 447, 469, 442, 506, 443, 441, 539, - -1, 518, 447, 469, 441, 539, -1, 520, -1, 520, - 469, -1, 520, 469, 442, 443, -1, 520, 469, 442, - 506, 443, -1, 520, 469, 442, 443, 441, 539, -1, - 520, 469, 442, 506, 443, 441, 539, -1, 520, 469, - 441, 539, -1, 16, 469, -1, 529, -1, 527, 529, - -1, 16, -1, 14, -1, 13, -1, 115, -1, 15, - 445, 524, 446, -1, 525, -1, 524, 447, 525, -1, - 469, -1, 469, 441, 4, -1, 102, -1, 528, -1, - 523, -1, 523, 528, -1, 522, 528, -1, 522, -1, - 521, 528, -1, 521, 522, 528, -1, 521, -1, 102, - -1, 112, -1, 116, -1, 101, 112, -1, 101, 116, - -1, 11, 112, -1, 11, 116, -1, 12, 112, -1, - 12, 116, -1, 125, -1, 21, -1, 22, -1, 530, - -1, 533, 530, -1, 531, -1, 531, 442, 443, -1, - 531, 442, 506, 443, -1, 532, -1, 464, -1, 126, - -1, 109, -1, 107, -1, 114, -1, 124, -1, 98, - -1, 463, -1, 118, -1, 119, -1, 120, -1, 121, - -1, 534, -1, 9, -1, 17, -1, 18, -1, 19, - -1, 122, 469, 438, 535, 439, -1, 122, 438, 535, - 439, -1, 536, -1, 535, 536, -1, 529, 537, 440, - -1, 527, 529, 537, 440, -1, 538, -1, 537, 447, - 538, -1, 469, -1, 469, 442, 443, -1, 469, 442, - 506, 443, -1, 503, -1, 507, -1, 543, -1, 542, - -1, 540, -1, 547, -1, 548, -1, 551, -1, 553, - -1, 554, -1, 558, -1, 438, 439, -1, 438, 546, - 439, -1, 545, -1, 542, -1, 438, 439, -1, 438, - 546, 439, -1, 541, -1, 546, 541, -1, 440, -1, - 505, 440, -1, 111, 445, 505, 446, 549, -1, 541, - 108, 541, -1, 541, -1, 505, -1, 520, 469, 441, - 539, -1, 123, 445, 505, 446, 438, 552, 439, -1, - -1, 546, -1, 100, 505, 461, -1, 104, 461, -1, - 127, 445, 550, 446, 544, -1, 106, 541, 127, 445, - 505, 446, 440, -1, 110, 445, 555, 557, 446, 544, - -1, 547, -1, 540, -1, 550, -1, -1, 556, 440, - -1, 556, 440, 505, -1, 103, 440, -1, 99, 440, - -1, 117, 440, -1, 117, 505, 440, -1, 105, 440, - -1, 560, -1, 559, 560, -1, 561, -1, 507, -1, - 508, 545, -1 - }; - - /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ - const unsigned short int - LolFxParser::yyprhs_[] = - { - 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, - 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, - 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, - 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, - 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, - 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, - 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, - 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, - 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, - 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, - 199, 201, 203, 205, 207, 209, 211, 213, 215, 217, - 219, 221, 223, 225, 227, 229, 231, 233, 235, 237, - 239, 241, 243, 245, 247, 249, 251, 253, 255, 257, - 259, 261, 263, 265, 267, 269, 271, 273, 275, 277, - 279, 281, 283, 285, 287, 289, 291, 293, 295, 297, - 299, 301, 303, 305, 307, 309, 311, 313, 315, 317, - 319, 321, 323, 325, 327, 329, 331, 333, 335, 337, - 339, 341, 343, 345, 347, 349, 351, 353, 355, 357, - 359, 361, 363, 365, 367, 369, 371, 373, 375, 377, - 379, 381, 383, 385, 387, 389, 391, 393, 395, 397, - 399, 401, 404, 406, 409, 411, 413, 419, 421, 423, - 425, 428, 434, 436, 439, 441, 446, 451, 456, 461, - 466, 474, 482, 490, 498, 503, 508, 513, 518, 523, - 526, 530, 534, 536, 538, 540, 542, 544, 546, 548, - 550, 554, 556, 561, 563, 567, 570, 573, 575, 577, - 579, 583, 586, 589, 592, 594, 597, 601, 604, 606, - 608, 610, 612, 615, 618, 621, 623, 625, 627, 629, - 631, 635, 639, 643, 645, 649, 653, 655, 659, 663, - 665, 669, 673, 677, 681, 683, 687, 691, 693, 697, - 699, 703, 705, 709, 711, 715, 717, 721, 723, 727, - 729, 735, 737, 741, 743, 745, 747, 749, 751, 753, - 755, 757, 759, 761, 763, 765, 769, 771, 774, 777, - 782, 789, 797, 807, 818, 821, 824, 826, 828, 831, - 835, 839, 842, 848, 852, 854, 858, 861, 865, 868, - 870, 872, 873, 875, 877, 879, 881, 883, 885, 887, - 891, 897, 904, 912, 921, 927, 929, 932, 937, 943, - 950, 958, 963, 966, 968, 971, 973, 975, 977, 979, - 984, 986, 990, 992, 996, 998, 1000, 1002, 1005, 1008, - 1010, 1013, 1017, 1019, 1021, 1023, 1025, 1028, 1031, 1034, - 1037, 1040, 1043, 1045, 1047, 1049, 1051, 1054, 1056, 1060, - 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079, 1081, 1083, - 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1107, - 1112, 1114, 1117, 1121, 1126, 1128, 1132, 1134, 1138, 1143, - 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, - 1165, 1168, 1172, 1174, 1176, 1179, 1183, 1185, 1188, 1190, - 1193, 1199, 1203, 1205, 1207, 1212, 1220, 1221, 1223, 1227, - 1230, 1236, 1244, 1251, 1253, 1255, 1257, 1258, 1261, 1265, - 1268, 1271, 1274, 1278, 1281, 1283, 1286, 1288, 1290 - }; - - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ - const unsigned short int - LolFxParser::yyrline_[] = - { - 0, 260, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, - 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, - 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, - 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, - 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, - 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, - 632, 715, 720, 721, 725, 726, 734, 742, 743, 751, - 752, 756, 760, 761, 766, 767, 768, 769, 770, 771, - 772, 773, 774, 775, 776, 777, 778, 779, 780, 788, - 792, 796, 797, 801, 809, 813, 814, 815, 816, 817, - 818, 822, 823, 824, 825, 826, 827, 831, 835, 839, - 840, 844, 845, 849, 850, 854, 855, 859, 863, 864, - 865, 869, 870, 871, 872, 876, 877, 878, 879, 883, - 884, 885, 886, 890, 891, 892, 896, 897, 898, 902, - 903, 904, 905, 906, 910, 911, 912, 916, 917, 921, - 922, 926, 927, 931, 932, 936, 937, 941, 942, 946, - 947, 951, 952, 956, 957, 958, 959, 960, 961, 962, - 963, 964, 965, 966, 970, 971, 975, 979, 980, 981, - 982, 983, 984, 985, 986, 990, 994, 995, 999, 1000, - 1004, 1008, 1009, 1013, 1014, 1018, 1019, 1020, 1021, 1025, - 1026, 1029, 1031, 1032, 1033, 1034, 1035, 1039, 1043, 1044, - 1045, 1046, 1047, 1048, 1049, 1053, 1054, 1055, 1056, 1057, - 1058, 1059, 1060, 1064, 1065, 1069, 1073, 1074, 1075, 1079, - 1083, 1084, 1088, 1089, 1093, 1097, 1098, 1099, 1100, 1101, - 1102, 1103, 1104, 1108, 1109, 1110, 1111, 1112, 1113, 1114, - 1115, 1116, 1117, 1118, 1119, 1123, 1124, 1128, 1129, 1130, - 1133, 1134, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, - 1146, 1147, 1148, 1149, 1150, 1154, 1155, 1156, 1160, 1161, - 1165, 1166, 1170, 1171, 1175, 1176, 1180, 1181, 1182, 1186, - 1190, 1194, 1195, 1199, 1200, 1201, 1202, 1203, 1204, 1205, - 1209, 1210, 1214, 1215, 1219, 1220, 1224, 1225, 1229, 1230, - 1234, 1238, 1239, 1243, 1244, 1248, 1251, 1253, 1257, 1258, - 1262, 1263, 1264, 1268, 1269, 1273, 1274, 1278, 1279, 1283, - 1284, 1285, 1286, 1287, 1291, 1292, 1296, 1297, 1301 - }; - - // Print the state stack on the debug stream. - void - LolFxParser::yystack_print_ () - { - *yycdebug_ << "Stack now"; - for (state_stack_type::const_iterator i = yystate_stack_.begin (); - i != yystate_stack_.end (); ++i) - *yycdebug_ << ' ' << *i; - *yycdebug_ << std::endl; - } - - // Report on the debug stream that the rule \a yyrule is going to be reduced. - void - LolFxParser::yy_reduce_print_ (int yyrule) - { - unsigned int yylno = yyrline_[yyrule]; - int yynrhs = yyr2_[yyrule]; - /* Print the symbols being reduced, and their result. */ - *yycdebug_ << "Reducing stack by rule " << yyrule - 1 - << " (line " << yylno << "):" << std::endl; - /* The symbols being reduced. */ - for (int yyi = 0; yyi < yynrhs; yyi++) - YY_SYMBOL_PRINT (" $" << yyi + 1 << " =", - yyrhs_[yyprhs_[yyrule] + yyi], - &(yysemantic_stack_[(yynrhs) - (yyi + 1)]), - &(yylocation_stack_[(yynrhs) - (yyi + 1)])); - } -#endif // YYDEBUG - - /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ - LolFxParser::token_number_type - LolFxParser::yytranslate_ (int t) - { - static - const token_number_type - translate_table[] = - { - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 450, 2, 2, 2, 454, 457, 2, - 445, 446, 452, 448, 447, 449, 444, 453, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 461, 440, - 455, 441, 456, 460, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 442, 2, 443, 458, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 438, 459, 439, 451, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437 - }; - if ((unsigned int) t <= yyuser_token_number_max_) - return translate_table[t]; - else - return yyundef_token_; - } - - const int LolFxParser::yyeof_ = 0; - const int LolFxParser::yylast_ = 11246; - const int LolFxParser::yynnts_ = 100; - const int LolFxParser::yyempty_ = -2; - const int LolFxParser::yyfinal_ = 15; - const int LolFxParser::yyterror_ = 1; - const int LolFxParser::yyerrcode_ = 256; - const int LolFxParser::yyntokens_ = 462; - - const unsigned int LolFxParser::yyuser_token_number_max_ = 692; - const LolFxParser::token_number_type LolFxParser::yyundef_token_ = 2; - - -} // lol - -/* Line 1053 of lalr1.cc */ -#line 3898 "generated/lolfx-parser.cpp" - - -/* Line 1055 of lalr1.cc */ -#line 1304 "gpu/lolfx-parser.y" - - -void lol::LolFxParser::error(const LolFxParser::location_type& l, - const std::string& m) -{ - mc.Error(l, m); -} - - diff --git a/src/generated/lolfx-parser.h b/src/generated/lolfx-parser.h deleted file mode 100644 index f4119960..00000000 --- a/src/generated/lolfx-parser.h +++ /dev/null @@ -1,747 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Skeleton interface for Bison LALR(1) parsers in C++ - - Copyright (C) 2002-2010 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 . */ - -/* 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. */ - -/* C++ LALR(1) parser skeleton written by Akim Demaille. */ - -#ifndef PARSER_HEADER_H -# define PARSER_HEADER_H - - - -#include -#include -#include "stack.hh" - - -namespace lol { - -/* Line 34 of lalr1.cc */ -#line 49 "generated/lolfx-parser.h" - class position; - class location; - -} // lol - -/* Line 34 of lalr1.cc */ -#line 56 "generated/lolfx-parser.h" - -#include "location.hh" - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 1 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ -do { \ - if (N) \ - { \ - (Current).begin = (Rhs)[1].begin; \ - (Current).end = (Rhs)[N].end; \ - } \ - else \ - { \ - (Current).begin = (Current).end = (Rhs)[0].end; \ - } \ -} while (false) -#endif - - -namespace lol { - -/* Line 34 of lalr1.cc */ -#line 101 "generated/lolfx-parser.h" - - /// A Bison parser. - class LolFxParser - { - public: - /// Symbol semantic values. -#ifndef YYSTYPE - union semantic_type - { - -/* Line 34 of lalr1.cc */ -#line 34 "gpu/lolfx-parser.y" - - int ival; - unsigned uval; - float fval; - char *sval; - - - -/* Line 34 of lalr1.cc */ -#line 123 "generated/lolfx-parser.h" - }; -#else - typedef YYSTYPE semantic_type; -#endif - /// Symbol locations. - typedef location location_type; - /// Tokens. - struct token - { - /* Tokens. */ - enum yytokentype { - T_END = 0, - BOOLCONSTANT = 258, - INTCONSTANT = 259, - UINTCONSTANT = 260, - FLOATCONSTANT = 261, - FIELDSELECTION = 262, - IDENTIFIER = 263, - TYPENAME = 264, - GT_SUBROUTINE = 265, - GT_PATCH = 266, - GT_SAMPLE = 267, - GT_FLAT = 268, - GT_SMOOTH = 269, - GT_LAYOUT = 270, - GT_INVARIANT = 271, - GT_HIGHP = 272, - GT_MEDIUMP = 273, - GT_LOWP = 274, - GT_PRECISION = 275, - GT_ATTRIBUTE = 276, - GT_VARYING = 277, - GT_VEC2 = 278, - GT_VEC3 = 279, - GT_VEC4 = 280, - GT_BVEC2 = 281, - GT_BVEC3 = 282, - GT_BVEC4 = 283, - GT_DVEC2 = 284, - GT_DVEC3 = 285, - GT_DVEC4 = 286, - GT_IVEC2 = 287, - GT_IVEC3 = 288, - GT_IVEC4 = 289, - GT_UVEC2 = 290, - GT_UVEC3 = 291, - GT_UVEC4 = 292, - GT_MAT2 = 293, - GT_MAT2X2 = 294, - GT_MAT2X3 = 295, - GT_MAT2X4 = 296, - GT_MAT3 = 297, - GT_MAT3X2 = 298, - GT_MAT3X3 = 299, - GT_MAT3X4 = 300, - GT_MAT4 = 301, - GT_MAT4X2 = 302, - GT_MAT4X3 = 303, - GT_MAT4X4 = 304, - GT_DMAT2 = 305, - GT_DMAT2X2 = 306, - GT_DMAT2X3 = 307, - GT_DMAT2X4 = 308, - GT_DMAT3 = 309, - GT_DMAT3X2 = 310, - GT_DMAT3X3 = 311, - GT_DMAT3X4 = 312, - GT_DMAT4 = 313, - GT_DMAT4X2 = 314, - GT_DMAT4X3 = 315, - GT_DMAT4X4 = 316, - GT_SAMPLER1DSHADOW = 317, - GT_SAMPLER1DARRAY = 318, - GT_SAMPLER1DARRAYSHADOW = 319, - GT_SAMPLER2DSHADOW = 320, - GT_SAMPLER2DARRAY = 321, - GT_SAMPLER2DARRAYSHADOW = 322, - GT_SAMPLER2DRECT = 323, - GT_SAMPLER2DRECTSHADOW = 324, - GT_SAMPLER2DMS = 325, - GT_SAMPLER2DMSARRAY = 326, - GT_SAMPLERCUBESHADOW = 327, - GT_SAMPLERCUBEARRAY = 328, - GT_SAMPLERCUBEARRAYSHADOW = 329, - GT_SAMPLERBUFFER = 330, - GT_ISAMPLER1D = 331, - GT_ISAMPLER1DARRAY = 332, - GT_ISAMPLER2D = 333, - GT_ISAMPLER2DARRAY = 334, - GT_ISAMPLER2DRECT = 335, - GT_ISAMPLER2DMS = 336, - GT_ISAMPLER2DMSARRAY = 337, - GT_ISAMPLER3D = 338, - GT_ISAMPLERCUBE = 339, - GT_ISAMPLERCUBEARRAY = 340, - GT_ISAMPLERBUFFER = 341, - GT_USAMPLER1D = 342, - GT_USAMPLER1DARRAY = 343, - GT_USAMPLER2D = 344, - GT_USAMPLER2DARRAY = 345, - GT_USAMPLER2DRECT = 346, - GT_USAMPLER2DMS = 347, - GT_USAMPLER2DMSARRAY = 348, - GT_USAMPLER3D = 349, - GT_USAMPLERCUBE = 350, - GT_USAMPLERCUBEARRAY = 351, - GT_USAMPLERBUFFER = 352, - GHT_BOOL = 353, - GHT_BREAK = 354, - GHT_CASE = 355, - GHT_CENTROID = 356, - GHT_CONST = 357, - GHT_CONTINUE = 358, - GHT_DEFAULT = 359, - GHT_DISCARD = 360, - GHT_DO = 361, - GHT_DOUBLE = 362, - GHT_ELSE = 363, - GHT_FLOAT = 364, - GHT_FOR = 365, - GHT_IF = 366, - GHT_IN = 367, - GHT_INOUT = 368, - GHT_INT = 369, - GHT_NOPERSPECTIVE = 370, - GHT_OUT = 371, - GHT_RETURN = 372, - GHT_SAMPLER1D = 373, - GHT_SAMPLER2D = 374, - GHT_SAMPLER3D = 375, - GHT_SAMPLERCUBE = 376, - GHT_STRUCT = 377, - GHT_SWITCH = 378, - GHT_UINT = 379, - GHT_UNIFORM = 380, - GHT_VOID = 381, - GHT_WHILE = 382, - HGT_BOOL = 383, - HGT_BREAK = 384, - HGT_CASE = 385, - HGT_CENTROID = 386, - HGT_CONST = 387, - HGT_CONTINUE = 388, - HGT_DEFAULT = 389, - HGT_DISCARD = 390, - HGT_DO = 391, - HGT_DOUBLE = 392, - HGT_ELSE = 393, - HGT_FLOAT = 394, - HGT_FOR = 395, - HGT_IF = 396, - HGT_IN = 397, - HGT_INOUT = 398, - HGT_INT = 399, - HGT_NOPERSPECTIVE = 400, - HGT_OUT = 401, - HGT_RETURN = 402, - HGT_SAMPLER1D = 403, - HGT_SAMPLER2D = 404, - HGT_SAMPLER3D = 405, - HGT_SAMPLERCUBE = 406, - HGT_STRUCT = 407, - HGT_SWITCH = 408, - HGT_UINT = 409, - HGT_UNIFORM = 410, - HGT_VOID = 411, - HGT_WHILE = 412, - HT_APPENDSTRUCTUREDBUFFER = 413, - HT_ASM = 414, - HT_ASM_FRAGMENT = 415, - HT_BLENDSTATE = 416, - HT_BUFFER = 417, - HT_BYTEADDRESSBUFFER = 418, - HT_CBUFFER = 419, - HT_COLUMN_MAJOR = 420, - HT_COMPILE = 421, - HT_COMPILE_FRAGMENT = 422, - HT_COMPILESHADER = 423, - HT_COMPUTESHADER = 424, - HT_CONSUMESTRUCTUREDBUFFER = 425, - HT_DEPTHSTENCILSTATE = 426, - HT_DEPTHSTENCILVIEW = 427, - HT_DOMAINSHADER = 428, - HT_DWORD = 429, - HT_EXTERN = 430, - HT_FALSE = 431, - HT_FXGROUP = 432, - HT_GEOMETRYSHADER = 433, - HT_GROUPSHARED = 434, - HT_HALF = 435, - HT_HULLSHADER = 436, - HT_INLINE = 437, - HT_INPUTPATCH = 438, - HT_INTERFACE = 439, - HT_LINE = 440, - HT_LINEADJ = 441, - HT_LINEAR = 442, - HT_LINESTREAM = 443, - HT_MATRIX = 444, - HT_NAMESPACE = 445, - HT_NOINTERPOLATION = 446, - HT_NULL = 447, - HT_OUTPUTPATCH = 448, - HT_PACKOFFSET = 449, - HT_PASS = 450, - HT_PIXELFRAGMENT = 451, - HT_PIXELSHADER = 452, - HT_POINT = 453, - HT_POINTSTREAM = 454, - HT_PRECISE = 455, - HT_RASTERIZERSTATE = 456, - HT_RENDERTARGETVIEW = 457, - HT_REGISTER = 458, - HT_ROW_MAJOR = 459, - HT_RWBUFFER = 460, - HT_RWBYTEADDRESSBUFFER = 461, - HT_RWSTRUCTUREDBUFFER = 462, - HT_RWTEXTURE1D = 463, - HT_RWTEXTURE1DARRAY = 464, - HT_RWTEXTURE2D = 465, - HT_RWTEXTURE2DARRAY = 466, - HT_RWTEXTURE3D = 467, - HT_SAMPLER = 468, - HT_SAMPLER_STATE = 469, - HT_SAMPLERSTATE = 470, - HT_SAMPLERCOMPARISONSTATE = 471, - HT_SHARED = 472, - HT_SNORM = 473, - HT_STATEBLOCK = 474, - HT_STATEBLOCK_STATE = 475, - HT_STATIC = 476, - HT_STRING = 477, - HT_STRUCTUREDBUFFER = 478, - HT_TBUFFER = 479, - HT_TECHNIQUE = 480, - HT_TECHNIQUE10 = 481, - HT_TECHNIQUE11XZ = 482, - HT_TEXTURE = 483, - HT_TEXTURE1D = 484, - HT_TEXTURE1DARRAY = 485, - HT_TEXTURE2D = 486, - HT_TEXTURE2DARRAY = 487, - HT_TEXTURE2DMS = 488, - HT_TEXTURE2DMSARRAY = 489, - HT_TEXTURE3D = 490, - HT_TEXTURECUBE = 491, - HT_TEXTURECUBEARRAY = 492, - HT_TRUE = 493, - HT_TYPEDEF = 494, - HT_TRIANGLE = 495, - HT_TRIANGLEADJ = 496, - HT_TRIANGLESTREAM = 497, - HT_UNORM = 498, - HT_VECTOR = 499, - HT_VERTEXFRAGMENT = 500, - HT_VERTEXSHADER = 501, - HT_VOLATILE = 502, - HT_BOOL1 = 503, - HT_BOOL1x1 = 504, - HT_BOOL2x1 = 505, - HT_BOOL3x1 = 506, - HT_BOOL4x1 = 507, - HT_BOOL2 = 508, - HT_BOOL1x2 = 509, - HT_BOOL2x2 = 510, - HT_BOOL3x2 = 511, - HT_BOOL4x2 = 512, - HT_BOOL3 = 513, - HT_BOOL1x3 = 514, - HT_BOOL2x3 = 515, - HT_BOOL3x3 = 516, - HT_BOOL4x3 = 517, - HT_BOOL4 = 518, - HT_BOOL1x4 = 519, - HT_BOOL2x4 = 520, - HT_BOOL3x4 = 521, - HT_BOOL4x4 = 522, - HT_FLOAT1 = 523, - HT_FLOAT1x1 = 524, - HT_FLOAT2x1 = 525, - HT_FLOAT3x1 = 526, - HT_FLOAT4x1 = 527, - HT_FLOAT2 = 528, - HT_FLOAT1x2 = 529, - HT_FLOAT2x2 = 530, - HT_FLOAT3x2 = 531, - HT_FLOAT4x2 = 532, - HT_FLOAT3 = 533, - HT_FLOAT1x3 = 534, - HT_FLOAT2x3 = 535, - HT_FLOAT3x3 = 536, - HT_FLOAT4x3 = 537, - HT_FLOAT4 = 538, - HT_FLOAT1x4 = 539, - HT_FLOAT2x4 = 540, - HT_FLOAT3x4 = 541, - HT_FLOAT4x4 = 542, - HT_DOUBLE1 = 543, - HT_DOUBLE1x1 = 544, - HT_DOUBLE2x1 = 545, - HT_DOUBLE3x1 = 546, - HT_DOUBLE4x1 = 547, - HT_DOUBLE2 = 548, - HT_DOUBLE1x2 = 549, - HT_DOUBLE2x2 = 550, - HT_DOUBLE3x2 = 551, - HT_DOUBLE4x2 = 552, - HT_DOUBLE3 = 553, - HT_DOUBLE1x3 = 554, - HT_DOUBLE2x3 = 555, - HT_DOUBLE3x3 = 556, - HT_DOUBLE4x3 = 557, - HT_DOUBLE4 = 558, - HT_DOUBLE1x4 = 559, - HT_DOUBLE2x4 = 560, - HT_DOUBLE3x4 = 561, - HT_DOUBLE4x4 = 562, - HT_DWORD1 = 563, - HT_DWORD1x1 = 564, - HT_DWORD2x1 = 565, - HT_DWORD3x1 = 566, - HT_DWORD4x1 = 567, - HT_DWORD2 = 568, - HT_DWORD1x2 = 569, - HT_DWORD2x2 = 570, - HT_DWORD3x2 = 571, - HT_DWORD4x2 = 572, - HT_DWORD3 = 573, - HT_DWORD1x3 = 574, - HT_DWORD2x3 = 575, - HT_DWORD3x3 = 576, - HT_DWORD4x3 = 577, - HT_DWORD4 = 578, - HT_DWORD1x4 = 579, - HT_DWORD2x4 = 580, - HT_DWORD3x4 = 581, - HT_DWORD4x4 = 582, - HT_INT1 = 583, - HT_INT1x1 = 584, - HT_INT2x1 = 585, - HT_INT3x1 = 586, - HT_INT4x1 = 587, - HT_INT2 = 588, - HT_INT1x2 = 589, - HT_INT2x2 = 590, - HT_INT3x2 = 591, - HT_INT4x2 = 592, - HT_INT3 = 593, - HT_INT1x3 = 594, - HT_INT2x3 = 595, - HT_INT3x3 = 596, - HT_INT4x3 = 597, - HT_INT4 = 598, - HT_INT1x4 = 599, - HT_INT2x4 = 600, - HT_INT3x4 = 601, - HT_INT4x4 = 602, - HT_UINT1 = 603, - HT_UINT1x1 = 604, - HT_UINT2x1 = 605, - HT_UINT3x1 = 606, - HT_UINT4x1 = 607, - HT_UINT2 = 608, - HT_UINT1x2 = 609, - HT_UINT2x2 = 610, - HT_UINT3x2 = 611, - HT_UINT4x2 = 612, - HT_UINT3 = 613, - HT_UINT1x3 = 614, - HT_UINT2x3 = 615, - HT_UINT3x3 = 616, - HT_UINT4x3 = 617, - HT_UINT4 = 618, - HT_UINT1x4 = 619, - HT_UINT2x4 = 620, - HT_UINT3x4 = 621, - HT_UINT4x4 = 622, - PREPROCESSOR_DEFINE = 623, - PREPROCESSOR_ELIF = 624, - PREPROCESSOR_ELSE = 625, - PREPROCESSOR_ENDIF = 626, - PREPROCESSOR_ERROR = 627, - PREPROCESSOR_IF = 628, - PREPROCESSOR_IFDEF = 629, - PREPROCESSOR_IFNDEF = 630, - PREPROCESSOR_INCLUDE = 631, - PREPROCESSOR_LINE = 632, - PREPROCESSOR_PRAGMA = 633, - PREPROCESSOR_UNDEF = 634, - PREPROCESSOR_REGION = 635, - HT_AUTO = 636, - HT_CATCH = 637, - HT_CHAR = 638, - HT_CLASS = 639, - HT_CONST_CAST = 640, - HT_DELETE = 641, - HT_DYNAMIC_CAST = 642, - HT_ENUM = 643, - HT_EXPLICIT = 644, - HT_FRIEND = 645, - HT_GOTO = 646, - HT_LONG = 647, - HT_MUTABLE = 648, - HT_NEW = 649, - HT_OPERATOR = 650, - HT_PRIVATE = 651, - HT_PROTECTED = 652, - HT_PUBLIC = 653, - HT_REINTERPRET_CAST = 654, - HT_SHORT = 655, - HT_SIGNED = 656, - HT_SIZEOF = 657, - HT_STATIC_CAST = 658, - HT_TEMPLATE = 659, - HT_THIS = 660, - HT_THROW = 661, - HT_TRY = 662, - HT_TYPENAME = 663, - HT_UNION = 664, - HT_UNSIGNED = 665, - HT_USING = 666, - HT_VIRTUAL = 667, - T_INC = 668, - T_DEC = 669, - T_LE = 670, - T_GE = 671, - T_EQ = 672, - T_NE = 673, - T_LEFT = 674, - T_RIGHT = 675, - T_AND = 676, - T_OR = 677, - T_XOR = 678, - T_MULEQ = 679, - T_DIVEQ = 680, - T_MODEQ = 681, - T_ADDEQ = 682, - T_SUBEQ = 683, - T_LEFTEQ = 684, - T_RIGHTEQ = 685, - T_ANDEQ = 686, - T_XOREQ = 687, - T_OREQ = 688, - FLOAT = 689, - STRING = 690, - NAME = 691, - T_ERROR = 692 - }; - - }; - /// Token type. - typedef token::yytokentype token_type; - - /// Build a parser object. - LolFxParser (class LolFxCompiler& mc_yyarg); - virtual ~LolFxParser (); - - /// Parse. - /// \returns 0 iff parsing succeeded. - virtual int parse (); - -#if YYDEBUG - /// The current debugging stream. - std::ostream& debug_stream () const; - /// Set the current debugging stream. - void set_debug_stream (std::ostream &); - - /// Type for debugging levels. - typedef int debug_level_type; - /// The current debugging level. - debug_level_type debug_level () const; - /// Set the current debugging level. - void set_debug_level (debug_level_type l); -#endif - - private: - /// Report a syntax error. - /// \param loc where the syntax error is found. - /// \param msg a description of the syntax error. - virtual void error (const location_type& loc, const std::string& msg); - - /// Generate an error message. - /// \param state the state where the error occurred. - /// \param tok the lookahead token. - virtual std::string yysyntax_error_ (int yystate, int tok); - -#if YYDEBUG - /// \brief Report a symbol value on the debug stream. - /// \param yytype The token type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - virtual void yy_symbol_value_print_ (int yytype, - const semantic_type* yyvaluep, - const location_type* yylocationp); - /// \brief Report a symbol on the debug stream. - /// \param yytype The token type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - virtual void yy_symbol_print_ (int yytype, - const semantic_type* yyvaluep, - const location_type* yylocationp); -#endif - - - /// State numbers. - typedef int state_type; - /// State stack type. - typedef stack state_stack_type; - /// Semantic value stack type. - typedef stack semantic_stack_type; - /// location stack type. - typedef stack location_stack_type; - - /// The state stack. - state_stack_type yystate_stack_; - /// The semantic value stack. - semantic_stack_type yysemantic_stack_; - /// The location stack. - location_stack_type yylocation_stack_; - - /// Internal symbol numbers. - typedef unsigned short int token_number_type; - /* Tables. */ - /// For a state, the index in \a yytable_ of its portion. - static const short int yypact_[]; - static const short int yypact_ninf_; - - /// For a state, default rule to reduce. - /// Unless\a yytable_ specifies something else to do. - /// Zero means the default is an error. - static const unsigned short int yydefact_[]; - - static const short int yypgoto_[]; - static const short int yydefgoto_[]; - - /// What to do in a state. - /// \a yytable_[yypact_[s]]: what to do in state \a s. - /// - if positive, shift that token. - /// - if negative, reduce the rule which number is the opposite. - /// - if zero, do what YYDEFACT says. - static const short int yytable_[]; - static const short int yytable_ninf_; - - static const short int yycheck_[]; - - /// For a state, its accessing symbol. - static const unsigned short int yystos_[]; - - /// For a rule, its LHS. - static const unsigned short int yyr1_[]; - /// For a rule, its RHS length. - static const unsigned char yyr2_[]; - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE - /// For a symbol, its name in clear. - static const char* const yytname_[]; -#endif - -#if YYERROR_VERBOSE - /// Convert the symbol name \a n to a form suitable for a diagnostic. - virtual std::string yytnamerr_ (const char *n); -#endif - -#if YYDEBUG - /// A type to store symbol numbers and -1. - typedef short int rhs_number_type; - /// A `-1'-separated list of the rules' RHS. - static const rhs_number_type yyrhs_[]; - /// For each rule, the index of the first RHS symbol in \a yyrhs_. - static const unsigned short int yyprhs_[]; - /// For each rule, its source line number. - static const unsigned short int yyrline_[]; - /// For each scanner token number, its symbol number. - static const unsigned short int yytoken_number_[]; - /// Report on the debug stream that the rule \a r is going to be reduced. - virtual void yy_reduce_print_ (int r); - /// Print the state stack on the debug stream. - virtual void yystack_print_ (); - - /* Debugging. */ - int yydebug_; - std::ostream* yycdebug_; -#endif - - /// Convert a scanner token number \a t to a symbol number. - token_number_type yytranslate_ (int t); - - /// \brief Reclaim the memory associated to a symbol. - /// \param yymsg Why this token is reclaimed. - /// \param yytype The symbol type. - /// \param yyvaluep Its semantic value. - /// \param yylocationp Its location. - inline void yydestruct_ (const char* yymsg, - int yytype, - semantic_type* yyvaluep, - location_type* yylocationp); - - /// Pop \a n symbols the three stacks. - inline void yypop_ (unsigned int n = 1); - - /* Constants. */ - static const int yyeof_; - /* LAST_ -- Last index in TABLE_. */ - static const int yylast_; - static const int yynnts_; - static const int yyempty_; - static const int yyfinal_; - static const int yyterror_; - static const int yyerrcode_; - static const int yyntokens_; - static const unsigned int yyuser_token_number_max_; - static const token_number_type yyundef_token_; - - /* User arguments. */ - class LolFxCompiler& mc; - }; - -} // lol - -/* Line 34 of lalr1.cc */ -#line 744 "generated/lolfx-parser.h" - - - -#endif /* ! defined PARSER_HEADER_H */ diff --git a/src/generated/lolfx-scanner.cpp b/src/generated/lolfx-scanner.cpp deleted file mode 100644 index 372dd41e..00000000 --- a/src/generated/lolfx-scanner.cpp +++ /dev/null @@ -1,5301 +0,0 @@ -#line 2 "generated/lolfx-scanner.cpp" - -#line 4 "generated/lolfx-scanner.cpp" - -#define YY_INT_ALIGNED short int - -/* A lexical scanner generated by flex */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif - - /* The c++ scanner is a mess. The FlexLexer.h header file relies on the - * following macro. This is required in order to pass the c++-multiple-scanners - * test in the regression suite. We get reports that it breaks inheritance. - * We will address this in a future release of flex, or omit the C++ scanner - * altogether. - */ - #define yyFlexLexer LolFxFlexLexer - -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ - -/* end standard C headers. */ - -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif - -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -typedef int16_t flex_int16_t; -typedef uint16_t flex_uint16_t; -typedef int32_t flex_int32_t; -typedef uint32_t flex_uint32_t; -#else -typedef signed char flex_int8_t; -typedef short int flex_int16_t; -typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; -typedef unsigned short int flex_uint16_t; -typedef unsigned int flex_uint32_t; - -/* Limits of integral types. */ -#ifndef INT8_MIN -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) -#endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) -#endif - -#endif /* ! C99 */ - -#endif /* ! FLEXINT_H */ - -/* begin standard C++ headers. */ -#include -#include -#include -#include -#include -/* end standard C++ headers. */ - -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN (yy_start) = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START (((yy_start) - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else -#define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) - -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE -typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif - -extern int yyleng; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - - #define YY_LESS_LINENO(n) - -/* Return all but the first "n" matched characters back to the input stream. */ -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = (yy_hold_char); \ - YY_RESTORE_YY_MORE_OFFSET \ - (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, (yytext_ptr) ) - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE -struct yy_buffer_state - { - - std::istream* yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - int yy_bs_lineno; /**< The line count. */ - int yy_bs_column; /**< The column count. */ - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; - -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - * - * Returns the top of the stack, or NULL. - */ -#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ - ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ - : NULL) - -/* Same as previous macro, but useful when we know that the buffer stack is not - * NULL or when we need an lvalue. For internal use only. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] - -void *LolFxalloc (yy_size_t ); -void *LolFxrealloc (void *,yy_size_t ); -void LolFxfree (void * ); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! YY_CURRENT_BUFFER ){\ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer( yyin, YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - -/* Begin user sect3 */ - -typedef unsigned char YY_CHAR; - -#define yytext_ptr yytext - -#include - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ - (yy_hold_char) = *yy_cp; \ - *yy_cp = '\0'; \ - (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 451 -#define YY_END_OF_BUFFER 452 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_accept[1670] = - { 0, - 0, 0, 444, 444, 450, 450, 378, 378, 452, 442, - 440, 441, 442, 442, 442, 442, 442, 442, 442, 437, - 437, 442, 442, 442, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 442, 438, 438, 439, 439, - 439, 439, 438, 439, 439, 439, 439, 439, 439, 438, - 438, 438, 438, 438, 439, 439, 438, 438, 442, 440, - 442, 444, 445, 446, 450, 449, 378, 377, 380, 380, - 378, 380, 440, 419, 427, 422, 432, 425, 414, 428, - 415, 429, 443, 448, 426, 0, 436, 437, 420, 416, - - 418, 417, 421, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 129, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 134, 135, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 433, 424, 438, 439, 439, - 438, 439, 439, 439, 439, 439, 439, 439, 99, 439, - 439, 439, 439, 439, 438, 439, 104, 105, 439, 439, - - 439, 439, 439, 439, 439, 439, 439, 438, 439, 438, - 439, 439, 439, 438, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 438, 434, 423, 440, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 444, - 447, 450, 378, 379, 378, 0, 0, 0, 0, 435, - 430, 431, 439, 152, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 133, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 137, 439, 439, 439, 439, 439, - - 395, 439, 439, 439, 439, 139, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 408, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 438, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 103, 439, 439, 107, 439, 439, 439, 439, 439, 439, - 439, 439, 109, 439, 438, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - - 439, 439, 438, 0, 0, 0, 0, 366, 0, 0, - 0, 0, 0, 0, 0, 0, 439, 439, 382, 439, - 121, 439, 439, 439, 123, 439, 439, 439, 384, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 131, 389, 439, 439, 439, 439, 439, 439, - 439, 392, 439, 173, 439, 439, 439, 439, 321, 326, - 331, 336, 439, 178, 393, 439, 439, 439, 439, 439, - 185, 439, 439, 439, 188, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - - 439, 439, 439, 439, 439, 406, 439, 439, 231, 439, - 147, 439, 439, 439, 439, 439, 439, 439, 439, 149, - 439, 439, 438, 439, 91, 439, 439, 93, 439, 439, - 439, 439, 439, 439, 439, 439, 101, 439, 4, 439, - 439, 439, 439, 439, 439, 439, 45, 62, 66, 70, - 439, 439, 439, 438, 439, 439, 439, 439, 439, 439, - 439, 439, 89, 117, 439, 439, 439, 439, 59, 60, - 61, 119, 439, 438, 0, 0, 0, 0, 0, 366, - 366, 366, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 439, 439, 439, 241, 246, 251, 256, - - 122, 439, 439, 383, 439, 439, 385, 439, 439, 439, - 125, 439, 439, 439, 439, 439, 439, 439, 439, 167, - 439, 439, 439, 169, 132, 439, 439, 439, 439, 439, - 439, 136, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 191, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 401, 439, 439, 211, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 407, - 439, 439, 439, 341, 346, 351, 356, 439, 410, 236, - 439, 412, 439, 439, 439, 439, 150, 439, 92, 50, - - 51, 52, 439, 95, 439, 439, 439, 77, 81, 85, - 439, 74, 75, 76, 90, 102, 43, 106, 439, 439, - 53, 54, 55, 439, 439, 439, 439, 439, 439, 2, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 56, 57, 58, 439, 120, 0, 362, 363, 0, 0, - 366, 366, 0, 370, 0, 0, 0, 375, 374, 0, - 0, 0, 373, 0, 0, 439, 439, 439, 439, 439, - 439, 439, 155, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 387, 439, 439, 439, 130, 301, 306, - 311, 316, 439, 439, 168, 261, 266, 271, 276, 391, - - 439, 439, 439, 439, 175, 439, 322, 327, 332, 337, - 323, 328, 333, 338, 324, 329, 334, 339, 325, 330, - 335, 340, 439, 439, 180, 439, 182, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 399, 439, 439, 439, 439, 140, 439, 439, 439, 439, - 439, 439, 210, 402, 403, 439, 214, 215, 145, 146, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 237, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 100, 439, 439, 6, 63, - 64, 65, 67, 68, 69, 71, 72, 73, 439, 439, - - 439, 110, 3, 5, 115, 439, 116, 439, 439, 439, - 439, 0, 364, 365, 366, 366, 0, 370, 0, 372, - 0, 376, 0, 0, 439, 439, 439, 242, 247, 252, - 257, 243, 248, 253, 258, 244, 249, 254, 259, 245, - 250, 255, 260, 439, 157, 439, 439, 159, 439, 439, - 439, 439, 127, 439, 128, 439, 281, 286, 291, 296, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 170, 439, 439, 439, 439, 439, 179, 439, 394, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 193, 397, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - - 206, 439, 439, 439, 217, 439, 439, 439, 439, 232, - 439, 342, 347, 352, 357, 343, 348, 353, 358, 344, - 349, 354, 359, 345, 350, 355, 360, 148, 439, 439, - 439, 413, 439, 439, 439, 439, 97, 98, 78, 79, - 80, 82, 83, 84, 86, 87, 88, 439, 439, 44, - 439, 439, 206, 439, 221, 118, 439, 49, 361, 365, - 366, 0, 371, 0, 439, 439, 439, 439, 124, 439, - 439, 439, 439, 439, 439, 126, 439, 439, 439, 439, - 439, 439, 302, 307, 312, 317, 303, 308, 313, 318, - 304, 309, 314, 319, 305, 310, 315, 320, 439, 390, - - 262, 267, 272, 277, 263, 268, 273, 278, 264, 269, - 274, 279, 265, 270, 275, 280, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 396, 439, 439, 439, 439, - 439, 439, 439, 196, 439, 439, 439, 198, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 405, 439, 439, 439, 439, 233, 409, 411, 439, - 439, 240, 439, 94, 96, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 361, 369, 371, 381, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 282, 287, 292, 297, 283, 288, 293, 298, - - 284, 289, 294, 299, 285, 290, 295, 300, 439, 439, - 439, 439, 439, 177, 439, 183, 439, 439, 439, 439, - 439, 439, 439, 398, 439, 439, 439, 197, 439, 439, - 439, 141, 142, 143, 439, 439, 439, 439, 439, 439, - 439, 218, 222, 224, 228, 439, 439, 439, 439, 439, - 48, 47, 439, 439, 439, 439, 439, 439, 46, 111, - 112, 113, 439, 439, 439, 439, 439, 439, 439, 439, - 381, 439, 439, 154, 439, 439, 439, 439, 439, 386, - 439, 439, 439, 439, 439, 439, 174, 176, 181, 439, - 439, 439, 187, 439, 439, 439, 439, 439, 439, 439, - - 439, 439, 439, 439, 439, 439, 439, 439, 212, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 14, 15, 16, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 1, 20, 21, 22, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 172, 439, 439, 186, 439, 190, 192, 439, - 439, 439, 439, 439, 201, 203, 205, 439, 144, 439, - 439, 439, 404, 439, 219, 439, 439, 439, 226, 229, - 234, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 439, 439, 37, 439, 439, 439, 114, 439, - - 439, 439, 439, 439, 439, 439, 153, 439, 158, 439, - 439, 439, 439, 439, 166, 388, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 208, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 239, - 439, 439, 38, 439, 439, 17, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 39, 439, - 439, 23, 439, 439, 161, 439, 162, 439, 439, 439, - 439, 439, 138, 189, 439, 439, 439, 439, 439, 439, - 439, 439, 207, 439, 439, 220, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 108, 439, - - 439, 439, 439, 26, 439, 30, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 171, 439, 439, 439, 439, 439, 439, 439, 439, 439, - 439, 439, 223, 225, 439, 439, 235, 238, 439, 439, - 439, 28, 31, 439, 10, 439, 11, 439, 439, 439, - 439, 439, 439, 439, 439, 29, 32, 439, 439, 439, - 439, 439, 439, 439, 184, 194, 439, 439, 439, 439, - 439, 439, 439, 439, 439, 439, 439, 18, 19, 439, - 439, 439, 7, 439, 439, 439, 8, 439, 439, 24, - 25, 439, 439, 439, 439, 160, 439, 439, 165, 400, - - 195, 439, 439, 202, 204, 439, 213, 216, 227, 230, - 439, 439, 439, 439, 40, 439, 33, 439, 439, 439, - 439, 156, 439, 164, 439, 439, 439, 41, 35, 439, - 439, 439, 439, 9, 42, 36, 439, 439, 439, 200, - 439, 439, 439, 439, 439, 439, 439, 199, 439, 439, - 439, 27, 439, 439, 439, 439, 12, 13, 439, 439, - 439, 439, 439, 151, 439, 209, 34, 163, 0 - } ; - -static yyconst flex_int32_t yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 5, 1, 6, 1, 7, 8, 1, 1, - 1, 9, 10, 1, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 19, 19, 19, 19, 1, 1, 20, - 21, 22, 1, 1, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 1, 1, 1, 49, 50, 1, 51, 52, 53, 54, - - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 1, 77, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst flex_int32_t yy_meta[78] = - { 0, - 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, - 1, 1, 3, 5, 5, 5, 5, 5, 5, 1, - 1, 1, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 1, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 1 - } ; - -static yyconst flex_int16_t yy_base[1684] = - { 0, - 0, 76, 76, 77, 3032, 3031, 78, 86, 3033, 3036, - 91, 3036, 3011, 3010, 75, 3009, 77, 79, 88, 82, - 96, 82, 3008, 83, 78, 83, 145, 91, 97, 140, - 97, 84, 142, 0, 150, 150, 189, 147, 188, 197, - 248, 234, 158, 218, 99, 111, 262, 300, 178, 349, - 262, 327, 376, 326, 310, 264, 214, 383, 273, 432, - 289, 413, 441, 491, 415, 388, 459, 386, 174, 396, - 514, 0, 3036, 3015, 0, 3036, 0, 0, 3036, 3018, - 182, 221, 138, 3036, 3036, 3036, 3036, 3036, 3036, 3036, - 3036, 3036, 3036, 3036, 3036, 508, 3036, 536, 3005, 3036, - - 3036, 3036, 3004, 0, 138, 200, 196, 255, 257, 270, - 289, 278, 425, 292, 306, 330, 337, 528, 537, 342, - 374, 353, 371, 388, 406, 471, 418, 482, 488, 508, - 513, 507, 532, 540, 544, 547, 0, 574, 546, 551, - 547, 552, 560, 551, 566, 564, 573, 559, 589, 567, - 587, 600, 595, 579, 614, 576, 610, 598, 630, 606, - 601, 634, 629, 621, 651, 637, 644, 632, 636, 652, - 659, 669, 659, 676, 670, 3036, 3036, 679, 2954, 669, - 689, 2968, 682, 684, 719, 705, 687, 2971, 707, 2966, - 691, 711, 712, 718, 728, 2963, 0, 750, 2968, 2963, - - 2942, 726, 724, 2962, 738, 730, 764, 740, 764, 773, - 807, 739, 2950, 788, 2962, 744, 815, 801, 762, 822, - 814, 2958, 2944, 822, 836, 787, 809, 3036, 3036, 890, - 849, 872, 2956, 837, 211, 2951, 2941, 2944, 2952, 0, - 3036, 0, 0, 3036, 244, 877, 878, 329, 2950, 931, - 3036, 3036, 842, 2955, 849, 852, 866, 879, 879, 885, - 886, 898, 896, 883, 889, 898, 899, 916, 914, 935, - 932, 918, 936, 939, 939, 924, 942, 939, 933, 935, - 944, 931, 950, 0, 947, 935, 941, 940, 935, 951, - 946, 950, 942, 952, 999, 983, 982, 972, 995, 992, - - 0, 984, 994, 988, 984, 987, 994, 987, 1002, 994, - 1006, 988, 991, 1000, 993, 1005, 1001, 1015, 999, 2954, - 1024, 1002, 1018, 1013, 1026, 1028, 1038, 1048, 1036, 1035, - 1047, 1038, 1053, 1052, 1045, 1042, 1044, 1049, 1064, 1061, - 0, 1062, 1049, 1064, 1053, 1066, 1062, 1058, 1065, 1080, - 1097, 1101, 1093, 1079, 2935, 1098, 1110, 2949, 1107, 1095, - 1097, 1117, 1116, 2931, 1118, 2947, 1116, 1103, 2929, 1122, - 0, 2940, 1103, 1160, 2946, 2933, 2942, 2929, 2927, 1140, - 2933, 1126, 1116, 2938, 1119, 1138, 1121, 1141, 2925, 1152, - 2921, 1142, 1148, 1166, 1152, 1168, 2925, 2934, 2911, 1183, - - 1172, 1168, 1161, 2929, 373, 2930, 2915, 442, 2929, 2917, - 2929, 2925, 2910, 461, 2923, 1195, 1167, 1176, 0, 1184, - 1224, 1183, 1190, 1196, 0, 1190, 1199, 1188, 0, 1188, - 1208, 1215, 1208, 1221, 1211, 1218, 1231, 1239, 1232, 1230, - 1239, 1231, 0, 0, 1236, 1228, 1242, 1228, 1236, 1236, - 1248, 0, 1238, 0, 1236, 1245, 1241, 1242, 1239, 1241, - 1253, 1256, 1266, 1284, 0, 1277, 1286, 1273, 1274, 1277, - 0, 1295, 1276, 1283, 0, 1287, 1280, 1292, 1301, 1299, - 1297, 1302, 1290, 1290, 1306, 1297, 1304, 1312, 1299, 1303, - 1309, 1324, 1335, 1321, 1337, 1329, 1335, 1345, 1337, 1349, - - 1350, 1349, 1342, 1345, 1337, 0, 1336, 1346, 0, 1359, - 1399, 1347, 1357, 1361, 1368, 1370, 1374, 1391, 1376, 0, - 1378, 1395, 0, 2917, 1413, 1393, 901, 0, 1392, 1391, - 1404, 1393, 1414, 1371, 1404, 1424, 0, 1416, 0, 1402, - 2909, 1403, 2906, 2907, 1435, 2901, 0, 2897, 2896, 2895, - 2897, 1409, 2909, 0, 1424, 1416, 1423, 2896, 1433, 2900, - 1434, 1424, 0, 1463, 1431, 2898, 1458, 2904, 0, 0, - 0, 0, 1442, 0, 2903, 2905, 2905, 2900, 2893, 0, - 2902, 2902, 2893, 2899, 2896, 2897, 2882, 2894, 2894, 2889, - 285, 2892, 2892, 1444, 1442, 1447, 1443, 1444, 1445, 1446, - - 0, 1453, 1468, 0, 1472, 1463, 0, 1465, 1468, 1461, - 2895, 1469, 1469, 1472, 1480, 1467, 1469, 1475, 1485, 1508, - 1482, 1489, 1479, 0, 1529, 1512, 1505, 1507, 1509, 1521, - 1525, 0, 1515, 1539, 1543, 1547, 1552, 1543, 1546, 1531, - 1528, 1541, 1544, 1556, 1543, 1543, 1545, 1560, 1563, 1548, - 1549, 1550, 1568, 1569, 1555, 1554, 1570, 1558, 1569, 1583, - 1579, 1581, 1566, 1585, 1601, 1603, 0, 1604, 1603, 0, - 1614, 1614, 1611, 1599, 1612, 1616, 1613, 1622, 1606, 0, - 1618, 1621, 1626, 1604, 1605, 1606, 1607, 1614, 0, 0, - 1624, 0, 1621, 1616, 1640, 1633, 0, 2892, 0, 0, - - 0, 0, 1628, 2893, 1647, 1650, 1645, 2868, 2867, 2866, - 1659, 0, 0, 0, 0, 1679, 0, 0, 2880, 2876, - 0, 0, 0, 2867, 1682, 1685, 1688, 2873, 1646, 0, - 1666, 1672, 1682, 2877, 1668, 2863, 1686, 1677, 1678, 2871, - 0, 0, 0, 2868, 0, 2867, 3036, 3036, 2874, 2861, - 2872, 2872, 2855, 0, 2862, 2868, 2864, 3036, 3036, 2866, - 2918, 581, 3036, 2864, 2864, 1678, 1697, 1679, 1707, 1711, - 1715, 1724, 0, 1708, 1703, 1719, 2868, 1724, 1725, 1728, - 1727, 1712, 1714, 0, 1715, 1732, 1718, 1748, 1714, 1715, - 1721, 1722, 1744, 1739, 0, 1726, 1727, 1728, 1729, 0, - - 1738, 1737, 1760, 1768, 0, 1769, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1770, 1762, 0, 1759, 0, 1779, 1784, 1768, - 1771, 1773, 1773, 1784, 1773, 1784, 1773, 1789, 1790, 1781, - 0, 1793, 1798, 1786, 1786, 0, 1797, 1803, 1808, 1807, - 1790, 1806, 0, 0, 0, 1813, 2867, 0, 1805, 0, - 1809, 1811, 1813, 1835, 1829, 1836, 1830, 1851, 1855, 1864, - 1869, 1853, 1862, 0, 1866, 1861, 1862, 2845, 1866, 1855, - 1857, 1874, 1885, 1888, 1892, 1896, 2864, 2859, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2847, 1877, - - 1891, 0, 1879, 0, 1877, 2842, 0, 1894, 1894, 2856, - 2853, 2854, 3036, 0, 0, 2852, 2853, 0, 2855, 3036, - 2840, 3036, 2902, 2847, 1888, 1902, 1909, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1893, 0, 1908, 1901, 1901, 1896, 1915, - 1898, 1913, 0, 1914, 0, 1914, 1899, 1906, 1907, 1908, - 1959, 1968, 1972, 1976, 2852, 1929, 1980, 1985, 1989, 1993, - 0, 1965, 1990, 1988, 1973, 1991, 0, 1990, 0, 1993, - 1981, 1993, 1981, 1999, 1982, 2001, 2002, 1986, 0, 0, - 2000, 1980, 1989, 1992, 2008, 1995, 1993, 2008, 1993, 1996, - - 2050, 2031, 2044, 2030, 0, 2028, 2046, 2061, 2047, 0, - 2052, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2054, 2041, - 2052, 0, 2056, 2831, 2058, 2058, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2836, 2831, 0, - 2060, 2833, 2101, 2838, 2105, 0, 2828, 0, 0, 0, - 0, 2840, 0, 2830, 2055, 2069, 2063, 2079, 0, 2101, - 2097, 2100, 2099, 2090, 2093, 0, 2100, 2114, 2123, 2128, - 2132, 2151, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2135, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2120, 2122, 2144, 2147, - 2146, 2151, 2148, 2139, 2152, 0, 2136, 2152, 2151, 2155, - 2155, 2157, 2157, 0, 2145, 2146, 2147, 0, 2165, 2149, - 2166, 2168, 2169, 2170, 2188, 2156, 2175, 2192, 2195, 2200, - 2201, 0, 2203, 2204, 2206, 2190, 2211, 0, 0, 2212, - 2213, 0, 2838, 0, 0, 2822, 2222, 2215, 2827, 2215, - 2216, 2217, 2819, 2211, 2825, 2234, 0, 3036, 0, 0, - 2222, 2239, 2240, 2231, 2241, 2254, 2238, 2256, 2239, 2243, - 2259, 2259, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 2265, 2259, - 2263, 2251, 2262, 0, 2261, 0, 2263, 2256, 2274, 2260, - 2268, 2277, 2285, 0, 2270, 2287, 2286, 0, 2281, 2282, - 2022, 0, 0, 0, 2288, 2304, 2306, 2291, 2301, 2294, - 2311, 2873, 2316, 2317, 0, 2317, 2318, 2303, 2317, 2321, - 0, 0, 2833, 2832, 2831, 2813, 2812, 2306, 0, 336, - 2315, 0, 2826, 2329, 2826, 2826, 2825, 2824, 2806, 2805, - 0, 2329, 2322, 0, 2318, 2323, 2338, 2347, 2345, 0, - 2334, 2348, 2358, 2348, 2367, 2365, 0, 0, 0, 2370, - 2363, 2365, 0, 2369, 2357, 2365, 2360, 2360, 2376, 2377, - - 2379, 2382, 2383, 2384, 2373, 2385, 2372, 2392, 2825, 2374, - 2396, 698, 2386, 2387, 2392, 2408, 2409, 2405, 2411, 2420, - 2823, 422, 0, 2817, 2820, 2418, 2803, 2812, 2801, 2799, - 2812, 2808, 2809, 2423, 0, 2813, 425, 0, 2807, 2810, - 2409, 2410, 2429, 2416, 2430, 2429, 2432, 2435, 2428, 2424, - 2423, 2440, 0, 2425, 2424, 0, 2434, 0, 0, 2429, - 2811, 2430, 2435, 2456, 2460, 2466, 0, 2468, 0, 2470, - 2459, 2461, 0, 2460, 0, 2459, 2466, 2467, 2485, 2486, - 0, 2485, 2486, 2474, 2792, 2791, 2789, 2802, 2800, 2800, - 2471, 2786, 2802, 2784, 2800, 2797, 2798, 2793, 657, 2779, - - 2778, 2776, 2789, 2787, 2787, 2473, 0, 2475, 0, 2480, - 2486, 2482, 2481, 2483, 0, 0, 2499, 2497, 2505, 2496, - 2516, 2520, 2503, 2512, 2533, 2518, 2519, 2521, 0, 2535, - 2521, 2536, 2517, 2545, 2546, 2530, 2531, 2549, 2538, 0, - 2773, 2772, 2785, 2778, 2771, 2770, 2549, 2765, 2752, 2751, - 2728, 2723, 2737, 2703, 2701, 2705, 2694, 2688, 2701, 2698, - 2695, 2697, 2537, 2550, 0, 2552, 0, 2537, 2540, 2552, - 2544, 2551, 0, 0, 2552, 2572, 2570, 2579, 2566, 2573, - 2574, 2584, 0, 2594, 2590, 0, 2572, 2573, 2581, 2584, - 2590, 2584, 2696, 2304, 2179, 2127, 2057, 2026, 0, 2018, - - 2027, 2015, 2021, 2019, 2007, 0, 1911, 1927, 1912, 1905, - 1887, 1144, 1145, 1141, 2600, 2600, 2594, 2592, 2610, 2607, - 0, 2599, 2609, 2597, 2612, 2597, 2616, 2627, 2628, 2616, - 2617, 2638, 0, 0, 2646, 2647, 0, 0, 1131, 1084, - 1081, 0, 0, 1080, 974, 925, 853, 859, 851, 833, - 842, 798, 762, 760, 763, 0, 0, 759, 2645, 2646, - 2632, 2648, 2634, 2632, 0, 0, 2638, 2636, 2654, 2655, - 2637, 2639, 2651, 2662, 2650, 2644, 2645, 0, 0, 770, - 762, 750, 0, 710, 689, 708, 0, 594, 523, 0, - 0, 494, 489, 2670, 2655, 0, 2670, 2673, 0, 0, - - 0, 2678, 2680, 0, 0, 2677, 0, 0, 0, 0, - 461, 454, 454, 431, 0, 417, 361, 350, 324, 309, - 2672, 0, 2697, 0, 2698, 2686, 2686, 0, 0, 300, - 287, 262, 246, 0, 0, 0, 2701, 2687, 2691, 0, - 2690, 226, 207, 195, 190, 2705, 2708, 0, 2714, 163, - 157, 0, 138, 2711, 2711, 2698, 0, 0, 118, 2702, - 2717, 2718, 68, 0, 2706, 0, 0, 0, 3036, 2774, - 2779, 2784, 101, 2789, 2794, 2799, 2804, 2809, 2814, 2819, - 2824, 2829, 2834 - } ; - -static yyconst flex_int16_t yy_def[1684] = - { 0, - 1669, 1, 1670, 1670, 1671, 1671, 1672, 1672, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1669, 1673, 1673, 27, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 41, 1673, 1673, 1673, 1673, 1673, 1669, 1669, - 1669, 1674, 1669, 1669, 1675, 1669, 1676, 1676, 1669, 1669, - 1676, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - - 1669, 1669, 1669, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1669, 1669, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1674, - 1669, 1675, 1676, 1669, 1676, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1669, 1669, 1669, 1669, 1677, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1669, 1669, 1669, 1669, 1669, 1677, - 1677, 1677, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1678, 1669, 1669, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1669, 1669, 1669, 1669, 1669, - 1677, 1677, 1669, 1679, 1669, 1669, 1669, 1669, 1669, 1669, - 1678, 1678, 1669, 1669, 1669, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1669, 1669, 1680, 1677, 1677, 1669, 1679, 1669, 1669, - 1669, 1669, 1669, 1669, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1681, 1680, - 1677, 1669, 1682, 1669, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1681, 1669, 1682, 1683, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1683, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, - 1673, 1673, 1673, 1673, 1673, 1673, 1673, 1673, 0, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669 - } ; - -static yyconst flex_int16_t yy_nxt[3114] = - { 0, - 10, 11, 12, 11, 13, 10, 14, 15, 16, 17, - 18, 10, 19, 20, 21, 21, 21, 21, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 34, 35, 36, 37, 38, 39, 34, 40, - 41, 42, 43, 44, 45, 34, 34, 34, 46, 34, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 34, - 34, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 68, 68, 69, 70, 73, 73, - 78, 71, 86, 79, 74, 74, 89, 81, 78, 91, - 80, 82, 83, 96, 83, 87, 93, 90, 80, 92, - - 94, 99, 100, 102, 103, 104, 135, 96, 95, 98, - 98, 98, 98, 98, 98, 105, 108, 119, 106, 109, - 107, 120, 110, 132, 97, 111, 136, 121, 175, 112, - 124, 176, 125, 133, 135, 122, 134, 123, 97, 83, - 1667, 83, 126, 105, 108, 119, 106, 109, 107, 120, - 110, 132, 97, 111, 136, 121, 175, 112, 124, 177, - 125, 133, 127, 122, 134, 123, 97, 113, 114, 137, - 126, 115, 141, 128, 116, 253, 129, 138, 117, 130, - 139, 118, 1663, 245, 147, 131, 140, 246, 169, 148, - 127, 1659, 142, 170, 228, 113, 114, 137, 171, 115, - - 141, 128, 116, 253, 129, 138, 117, 130, 139, 118, - 149, 143, 147, 131, 140, 144, 169, 148, 150, 154, - 142, 170, 247, 155, 151, 145, 171, 152, 183, 1658, - 153, 146, 184, 156, 254, 1657, 141, 255, 149, 143, - 1653, 157, 185, 144, 172, 245, 150, 154, 173, 246, - 229, 155, 151, 145, 174, 152, 142, 164, 153, 146, - 165, 156, 254, 166, 203, 255, 408, 1652, 204, 157, - 158, 1651, 172, 167, 409, 248, 173, 159, 160, 249, - 168, 256, 174, 161, 142, 164, 762, 763, 165, 162, - 1650, 166, 163, 257, 139, 124, 258, 125, 158, 105, - - 140, 167, 106, 1645, 107, 159, 160, 126, 168, 256, - 147, 161, 178, 178, 201, 148, 259, 162, 178, 260, - 163, 257, 139, 191, 258, 125, 1644, 105, 202, 178, - 106, 179, 107, 108, 263, 126, 109, 137, 147, 110, - 1643, 264, 111, 206, 259, 138, 112, 260, 135, 127, - 178, 178, 265, 1642, 208, 208, 178, 208, 208, 266, - 128, 108, 263, 129, 180, 197, 130, 181, 136, 264, - 111, 182, 131, 198, 112, 119, 135, 192, 199, 120, - 265, 200, 273, 1636, 196, 121, 1327, 266, 193, 276, - 414, 194, 415, 122, 130, 123, 136, 230, 1635, 83, - - 131, 231, 132, 186, 1328, 143, 277, 187, 274, 144, - 273, 188, 133, 189, 172, 134, 275, 276, 173, 145, - 190, 122, 1634, 123, 174, 146, 178, 178, 278, 1633, - 132, 576, 178, 143, 277, 154, 274, 144, 223, 155, - 133, 577, 224, 195, 275, 169, 173, 205, 279, 156, - 170, 282, 225, 146, 149, 171, 278, 157, 227, 227, - 227, 227, 150, 210, 178, 261, 262, 211, 151, 178, - 1632, 152, 1386, 219, 153, 1401, 279, 156, 220, 282, - 178, 1631, 207, 221, 1387, 157, 222, 1402, 175, 1388, - 150, 212, 1403, 261, 262, 581, 151, 208, 208, 209, - - 208, 208, 153, 213, 1630, 582, 208, 208, 280, 208, - 214, 215, 281, 216, 164, 232, 226, 165, 283, 588, - 166, 250, 250, 250, 250, 250, 250, 284, 1629, 589, - 167, 227, 227, 227, 227, 1628, 280, 168, 285, 1620, - 281, 286, 164, 287, 1619, 217, 283, 96, 166, 98, - 98, 98, 98, 98, 98, 284, 208, 208, 218, 208, - 208, 267, 268, 269, 270, 168, 285, 233, 234, 286, - 271, 287, 235, 288, 272, 236, 289, 290, 97, 237, - 291, 296, 762, 763, 238, 239, 297, 1618, 298, 267, - 268, 269, 270, 299, 300, 301, 302, 304, 271, 305, - - 306, 288, 272, 303, 289, 290, 97, 292, 291, 296, - 293, 294, 309, 307, 297, 295, 298, 310, 314, 315, - 320, 299, 300, 301, 302, 304, 311, 305, 306, 308, - 312, 303, 324, 321, 327, 292, 313, 329, 293, 294, - 309, 307, 316, 295, 317, 310, 314, 315, 320, 318, - 322, 323, 325, 328, 311, 319, 330, 308, 312, 332, - 324, 321, 327, 333, 313, 329, 326, 337, 1617, 342, - 316, 343, 317, 331, 339, 334, 338, 318, 322, 323, - 325, 328, 344, 319, 330, 335, 340, 332, 345, 347, - 341, 333, 346, 348, 326, 337, 336, 342, 350, 343, - - 353, 331, 339, 334, 338, 257, 351, 1455, 349, 352, - 344, 1375, 1376, 335, 340, 258, 345, 347, 341, 264, - 346, 348, 261, 262, 336, 1456, 350, 273, 353, 354, - 354, 278, 270, 356, 351, 354, 349, 352, 271, 354, - 354, 274, 272, 357, 282, 354, 354, 360, 283, 275, - 359, 262, 267, 268, 269, 363, 354, 284, 1616, 367, - 362, 297, 369, 1615, 289, 298, 271, 1614, 302, 274, - 272, 306, 368, 324, 332, 303, 370, 365, 354, 354, - 267, 268, 361, 292, 354, 371, 293, 294, 307, 297, - 311, 295, 289, 380, 312, 354, 302, 343, 379, 383, - - 313, 388, 392, 382, 308, 385, 385, 1613, 385, 385, - 330, 292, 1612, 315, 373, 294, 307, 353, 386, 374, - 1611, 375, 312, 354, 354, 395, 1593, 331, 313, 354, - 1592, 339, 308, 384, 1591, 316, 1590, 317, 330, 334, - 354, 315, 318, 340, 347, 402, 348, 341, 319, 335, - 232, 1589, 344, 385, 385, 390, 385, 385, 345, 339, - 336, 349, 346, 316, 397, 317, 351, 334, 417, 352, - 318, 394, 347, 232, 400, 341, 387, 335, 247, 247, - 396, 403, 403, 403, 403, 419, 345, 420, 393, 349, - 346, 230, 1588, 83, 401, 231, 417, 352, 405, 421, - - 406, 422, 233, 234, 407, 1587, 423, 235, 1586, 1585, - 236, 424, 425, 419, 237, 420, 700, 701, 702, 238, - 239, 1584, 426, 427, 428, 233, 234, 421, 429, 422, - 235, 248, 248, 236, 423, 249, 249, 237, 430, 424, - 425, 431, 238, 239, 250, 250, 250, 250, 250, 250, - 426, 427, 428, 432, 433, 434, 429, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 430, 444, 445, 431, - 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, - 456, 432, 433, 434, 457, 435, 436, 437, 438, 439, - 440, 441, 442, 443, 458, 444, 445, 1583, 446, 447, - - 448, 449, 450, 451, 452, 453, 454, 455, 456, 464, - 465, 466, 457, 459, 460, 461, 462, 467, 468, 469, - 470, 471, 458, 472, 473, 463, 474, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 464, 465, 466, - 485, 486, 1582, 490, 491, 467, 468, 469, 470, 471, - 492, 472, 473, 463, 474, 475, 476, 477, 478, 479, - 480, 481, 482, 483, 484, 493, 488, 494, 485, 486, - 489, 490, 491, 495, 496, 497, 498, 499, 492, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 500, - 511, 512, 514, 493, 488, 494, 515, 516, 489, 517, - - 513, 495, 496, 497, 498, 499, 518, 501, 502, 503, - 504, 505, 506, 507, 508, 509, 510, 500, 511, 512, - 514, 519, 520, 521, 515, 516, 522, 517, 513, 523, - 523, 421, 422, 425, 518, 523, 428, 433, 434, 435, - 438, 440, 443, 447, 448, 457, 523, 1581, 1580, 519, - 520, 521, 470, 473, 522, 548, 549, 550, 1579, 525, - 526, 528, 478, 486, 529, 530, 531, 532, 533, 535, - 537, 538, 540, 542, 459, 460, 461, 462, 492, 466, - 552, 473, 499, 501, 554, 554, 463, 554, 554, 505, - 555, 556, 509, 511, 500, 512, 591, 520, 569, 570, - - 571, 522, 594, 595, 513, 1578, 557, 466, 1558, 596, - 499, 561, 1557, 1556, 463, 601, 602, 562, 603, 604, - 563, 564, 559, 565, 517, 572, 605, 606, 607, 573, - 594, 595, 513, 574, 574, 574, 574, 596, 597, 598, - 599, 600, 608, 601, 602, 609, 603, 604, 592, 611, - 612, 613, 517, 614, 605, 606, 607, 610, 593, 615, - 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, - 608, 626, 627, 609, 628, 629, 630, 611, 612, 613, - 631, 614, 632, 633, 634, 610, 635, 615, 616, 617, - 618, 619, 620, 621, 622, 623, 624, 625, 636, 626, - - 627, 637, 628, 629, 630, 638, 639, 641, 631, 642, - 632, 633, 634, 643, 635, 644, 645, 646, 647, 648, - 649, 650, 651, 652, 640, 653, 636, 654, 655, 637, - 656, 657, 658, 638, 639, 641, 659, 642, 660, 661, - 662, 643, 663, 644, 645, 646, 647, 648, 649, 650, - 651, 652, 640, 653, 664, 654, 655, 665, 656, 657, - 658, 666, 667, 668, 659, 669, 660, 661, 662, 670, - 663, 671, 673, 674, 675, 672, 676, 677, 678, 679, - 680, 681, 664, 688, 682, 665, 708, 709, 710, 666, - 667, 668, 689, 669, 683, 690, 691, 670, 692, 671, - - 673, 674, 675, 672, 676, 677, 678, 679, 680, 681, - 693, 688, 682, 684, 685, 686, 687, 694, 695, 696, - 689, 697, 683, 690, 691, 601, 692, 597, 598, 599, - 600, 606, 611, 612, 613, 614, 617, 619, 693, 712, - 713, 714, 624, 625, 632, 694, 695, 696, 645, 697, - 721, 722, 723, 699, 651, 659, 665, 674, 675, 703, - 704, 612, 705, 706, 707, 711, 679, 688, 697, 766, - 715, 716, 718, 741, 742, 743, 729, 684, 685, 686, - 687, 767, 731, 732, 733, 735, 737, 768, 769, 770, - 771, 772, 773, 774, 738, 739, 745, 766, 775, 776, - - 777, 778, 779, 781, 782, 783, 784, 785, 786, 767, - 787, 788, 793, 794, 795, 768, 769, 770, 771, 772, - 773, 774, 789, 790, 791, 792, 775, 776, 777, 778, - 779, 781, 782, 783, 784, 785, 786, 800, 787, 788, - 793, 794, 795, 796, 797, 798, 799, 801, 802, 803, - 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, - 814, 815, 816, 817, 818, 800, 819, 820, 821, 822, - 823, 824, 826, 827, 828, 801, 802, 803, 804, 805, - 806, 829, 830, 831, 832, 825, 833, 834, 837, 838, - 835, 839, 840, 841, 842, 843, 844, 845, 823, 824, - - 826, 827, 828, 836, 846, 847, 848, 849, 850, 829, - 830, 831, 832, 825, 833, 834, 837, 838, 835, 839, - 840, 841, 842, 843, 844, 845, 851, 852, 853, 854, - 855, 836, 846, 847, 848, 849, 850, 856, 857, 858, - 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 851, 852, 853, 854, 855, 873, - 874, 875, 876, 877, 776, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 872, 782, 783, 786, 788, 831, 873, 874, 875, - 876, 877, 879, 796, 797, 798, 799, 890, 891, 892, - - 893, 894, 895, 896, 897, 898, 838, 846, 852, 859, - 880, 881, 882, 886, 900, 860, 864, 872, 925, 926, - 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, - 937, 938, 939, 944, 901, 902, 903, 905, 940, 941, - 942, 943, 945, 907, 908, 909, 925, 926, 927, 946, - 948, 949, 950, 951, 952, 953, 954, 955, 956, 961, - 962, 944, 957, 958, 959, 960, 963, 964, 965, 966, - 945, 967, 968, 969, 970, 971, 972, 946, 948, 949, - 950, 951, 952, 953, 954, 955, 956, 961, 962, 973, - 974, 975, 976, 977, 963, 964, 965, 966, 978, 967, - - 968, 969, 970, 971, 972, 979, 980, 981, 982, 983, - 984, 985, 986, 987, 988, 989, 990, 973, 974, 975, - 976, 977, 991, 992, 993, 994, 978, 995, 996, 997, - 998, 999, 1000, 979, 980, 981, 982, 983, 984, 985, - 986, 987, 988, 989, 990, 1001, 1002, 1004, 1005, 1006, - 991, 992, 993, 994, 1007, 995, 996, 997, 998, 999, - 1000, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1001, 1002, 1004, 1005, 1006, 1020, 1021, - 1022, 1023, 1007, 1024, 1025, 1026, 1027, 1028, 1029, 1008, - 1009, 1010, 1011, 1030, 1032, 1033, 946, 952, 953, 955, - - 1039, 1040, 1041, 1042, 1043, 1044, 1031, 1045, 1046, 1047, - 957, 958, 959, 960, 982, 1028, 1029, 989, 1001, 1004, - 1008, 1030, 1032, 1033, 1035, 1036, 1037, 1038, 1028, 1065, - 1066, 1067, 1068, 1069, 1031, 1070, 1073, 1074, 1075, 1076, - 1077, 1071, 1051, 1078, 1079, 989, 1053, 1004, 1055, 1052, - 1072, 1080, 1081, 1082, 1555, 1554, 1056, 1065, 1066, 1067, - 1068, 1069, 1553, 1070, 1073, 1074, 1075, 1076, 1077, 1071, - 1100, 1078, 1079, 1083, 1084, 1085, 1086, 1552, 1551, 1080, - 1081, 1082, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1098, 1101, 1102, 1103, 1104, 1100, 1105, - - 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, - 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1302, 1303, 1304, 1117, - 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, - 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, - 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1148, 1149, 1150, - 1151, 1550, 1152, 1157, 1145, 1153, 1154, 1155, 1158, 1159, - 1160, 1161, 1162, 1069, 1076, 1156, 1125, 1549, 1548, 1547, - 1146, 1546, 1545, 1544, 1181, 1148, 1149, 1150, 1151, 1147, - - 1152, 1157, 1145, 1182, 1183, 1184, 1158, 1159, 1160, 1161, - 1162, 1164, 1165, 1156, 1168, 1170, 1171, 1172, 1146, 1153, - 1154, 1155, 1181, 1185, 1543, 1145, 1186, 1187, 1188, 1156, - 1189, 1182, 1183, 1184, 1190, 1191, 1192, 1193, 1194, 1195, - 1196, 1146, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, - 1147, 1185, 1173, 1174, 1186, 1187, 1188, 1156, 1189, 1209, - 1210, 1211, 1190, 1191, 1192, 1205, 1206, 1207, 1208, 1146, - 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, - 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1209, 1210, 1211, - 1229, 1230, 1231, 1232, 1233, 1234, 1542, 1237, 1212, 1213, - - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, - 1224, 1225, 1226, 1227, 1228, 1238, 1239, 1240, 1229, 1230, - 1231, 1232, 1233, 1234, 1235, 1237, 1241, 1242, 1243, 1244, - 1236, 1245, 1246, 1247, 1249, 1250, 1253, 1254, 1255, 1218, - 1232, 1233, 1234, 1238, 1239, 1240, 1541, 1235, 1266, 1267, - 1268, 1248, 1235, 1236, 1241, 1242, 1243, 1244, 1236, 1245, - 1246, 1247, 1249, 1250, 1272, 1273, 1274, 1258, 1260, 1261, - 1262, 1275, 1276, 1256, 1257, 1235, 1277, 1278, 1279, 1248, - 1280, 1264, 1281, 1282, 1283, 1269, 1270, 1284, 1285, 1286, - 1287, 1288, 1272, 1273, 1274, 1289, 1290, 1291, 1292, 1275, - - 1276, 1293, 1294, 1295, 1277, 1278, 1279, 1296, 1280, 1297, - 1281, 1282, 1283, 1298, 1299, 1284, 1285, 1286, 1287, 1288, - 1300, 1301, 1305, 1289, 1290, 1291, 1292, 1306, 1307, 1293, - 1294, 1295, 1308, 1309, 1310, 1296, 1311, 1297, 1313, 1314, - 1316, 1298, 1299, 1317, 1318, 1319, 1320, 1291, 1300, 1301, - 1305, 1315, 1306, 1341, 1540, 1306, 1307, 1342, 1343, 1344, - 1308, 1309, 1310, 1345, 1311, 1329, 1313, 1314, 1316, 1346, - 1347, 1317, 1318, 1319, 1320, 1326, 1348, 1330, 1349, 1315, - 1334, 1341, 1331, 1332, 1350, 1342, 1343, 1344, 1351, 1352, - 1353, 1345, 1354, 1355, 1356, 1357, 1358, 1346, 1347, 1359, - - 1360, 1361, 1362, 1363, 1348, 1364, 1349, 1365, 1366, 1367, - 1368, 1369, 1350, 1370, 1371, 1373, 1351, 1352, 1353, 1374, - 1354, 1355, 1356, 1357, 1358, 1377, 1378, 1359, 1360, 1361, - 1362, 1363, 1379, 1364, 1380, 1365, 1366, 1367, 1368, 1369, - 1381, 1370, 1371, 1373, 1382, 1383, 1384, 1374, 1355, 1369, - 1406, 1407, 1408, 1377, 1378, 1409, 1410, 1411, 1412, 1413, - 1379, 1414, 1380, 1415, 1416, 1417, 1418, 1419, 1381, 1420, - 1421, 1423, 1382, 1383, 1384, 1424, 1391, 1399, 1406, 1407, - 1408, 1425, 1426, 1409, 1410, 1411, 1412, 1413, 1427, 1414, - 1428, 1415, 1416, 1417, 1418, 1419, 1429, 1420, 1421, 1423, - - 1430, 1431, 1432, 1424, 1433, 1434, 1435, 1436, 1437, 1425, - 1426, 1438, 1439, 1440, 1419, 1463, 1427, 1464, 1428, 1465, - 1466, 1467, 1468, 1469, 1429, 1471, 1470, 1472, 1430, 1431, - 1432, 1473, 1433, 1434, 1435, 1436, 1437, 1474, 1475, 1438, - 1439, 1440, 1447, 1463, 1476, 1464, 1477, 1465, 1466, 1467, - 1468, 1469, 1478, 1471, 1470, 1472, 1479, 1480, 1481, 1473, - 1482, 1483, 1484, 1485, 1486, 1474, 1475, 1487, 1488, 1489, - 1490, 1491, 1476, 1492, 1477, 1473, 1515, 1516, 1517, 1518, - 1478, 1519, 1520, 1521, 1479, 1480, 1481, 1522, 1482, 1483, - 1484, 1485, 1486, 1523, 1524, 1487, 1488, 1489, 1490, 1491, - - 1525, 1492, 1526, 1499, 1515, 1516, 1517, 1518, 1527, 1519, - 1520, 1521, 1528, 1529, 1530, 1522, 1531, 1532, 1533, 1534, - 1535, 1523, 1524, 1536, 1537, 1538, 1559, 1560, 1525, 1561, - 1526, 1562, 1563, 1564, 1565, 1566, 1527, 1567, 1568, 1569, - 1528, 1529, 1530, 1570, 1531, 1532, 1533, 1534, 1535, 1571, - 1572, 1536, 1537, 1538, 1559, 1560, 1573, 1561, 1574, 1562, - 1563, 1564, 1565, 1566, 1575, 1567, 1568, 1569, 1576, 1577, - 1594, 1570, 1595, 1596, 1597, 1598, 1599, 1571, 1572, 1600, - 1601, 1602, 1603, 1604, 1573, 1605, 1574, 1606, 1607, 1608, - 1609, 1610, 1575, 1621, 1622, 1623, 1576, 1577, 1594, 1624, - - 1595, 1596, 1597, 1598, 1599, 1625, 1626, 1600, 1601, 1602, - 1603, 1604, 1627, 1605, 1637, 1606, 1607, 1608, 1609, 1610, - 1638, 1621, 1622, 1623, 1639, 1640, 1641, 1624, 1646, 1647, - 1648, 1649, 1654, 1625, 1626, 1655, 1656, 1660, 1661, 1662, - 1627, 1664, 1637, 1665, 1666, 1668, 1539, 1514, 1638, 1513, - 1512, 1511, 1639, 1640, 1641, 1510, 1646, 1647, 1648, 1649, - 1654, 1509, 1508, 1655, 1656, 1660, 1661, 1662, 1507, 1664, - 1506, 1665, 1666, 1668, 72, 72, 72, 72, 72, 75, - 75, 75, 75, 75, 77, 77, 77, 77, 77, 240, - 1505, 240, 1504, 240, 242, 1503, 242, 242, 242, 243, - - 243, 1502, 243, 243, 580, 1501, 580, 580, 580, 761, - 761, 761, 761, 761, 918, 1500, 918, 918, 918, 1060, - 1498, 1060, 1060, 1060, 1177, 1497, 1177, 1177, 1177, 1179, - 1496, 1179, 1179, 1179, 1271, 1495, 1271, 1271, 1271, 1494, - 1493, 1462, 1461, 1460, 1459, 1458, 1457, 1454, 1453, 1452, - 1451, 1450, 1449, 1448, 1446, 1445, 1444, 1443, 1442, 1441, - 1422, 1405, 1404, 1400, 1398, 1397, 1396, 1395, 1394, 1393, - 1392, 1390, 1389, 1385, 1372, 1340, 1339, 1338, 1337, 1336, - 1335, 1333, 1325, 1324, 1323, 1322, 1321, 1312, 1265, 1263, - 1259, 1252, 1251, 1180, 1178, 1176, 1175, 1169, 1167, 1166, - - 1163, 1099, 923, 591, 1064, 1063, 1062, 1061, 1059, 1058, - 1057, 1054, 1050, 1049, 1048, 1034, 1003, 947, 924, 923, - 763, 922, 921, 920, 919, 917, 916, 915, 914, 913, - 912, 911, 910, 906, 904, 899, 889, 888, 887, 885, - 884, 883, 780, 878, 780, 765, 764, 760, 759, 758, - 757, 756, 755, 754, 753, 752, 751, 750, 749, 748, - 747, 746, 744, 740, 736, 734, 730, 728, 727, 726, - 725, 724, 720, 719, 717, 698, 590, 587, 586, 585, - 584, 583, 579, 578, 575, 568, 567, 566, 560, 558, - 553, 551, 547, 546, 545, 544, 543, 541, 539, 536, - - 534, 527, 524, 487, 418, 416, 413, 412, 411, 410, - 404, 399, 398, 391, 389, 381, 378, 377, 376, 372, - 366, 364, 358, 355, 252, 251, 244, 241, 101, 88, - 85, 84, 1669, 76, 76, 9, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669 - } ; - -static yyconst flex_int16_t yy_chk[3114] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, - 7, 2, 15, 7, 3, 4, 17, 8, 8, 18, - 7, 8, 11, 20, 11, 15, 19, 17, 8, 18, - - 19, 22, 22, 24, 24, 1673, 32, 21, 19, 21, - 21, 21, 21, 21, 21, 25, 26, 28, 25, 26, - 25, 28, 26, 31, 20, 26, 32, 28, 45, 26, - 29, 46, 29, 31, 32, 28, 31, 28, 21, 83, - 1663, 83, 29, 25, 26, 28, 25, 26, 25, 28, - 26, 31, 20, 26, 32, 28, 45, 26, 29, 46, - 29, 31, 30, 28, 31, 28, 21, 27, 27, 33, - 29, 27, 36, 30, 27, 105, 30, 33, 27, 30, - 35, 27, 1659, 81, 38, 30, 35, 81, 43, 38, - 30, 1653, 36, 43, 69, 27, 27, 33, 43, 27, - - 36, 30, 27, 105, 30, 33, 27, 30, 35, 27, - 39, 37, 38, 30, 35, 37, 43, 38, 39, 40, - 36, 43, 82, 40, 39, 37, 43, 39, 49, 1651, - 39, 37, 49, 40, 106, 1650, 57, 107, 39, 37, - 1645, 40, 49, 37, 44, 245, 39, 40, 44, 245, - 69, 40, 39, 37, 44, 39, 57, 42, 39, 37, - 42, 40, 106, 42, 57, 107, 235, 1644, 57, 40, - 41, 1643, 44, 42, 235, 82, 44, 41, 41, 82, - 42, 108, 44, 41, 57, 42, 591, 591, 42, 41, - 1642, 42, 41, 109, 56, 51, 110, 51, 41, 47, - - 56, 42, 47, 1633, 47, 41, 41, 51, 42, 108, - 59, 41, 47, 47, 56, 59, 111, 41, 47, 112, - 41, 109, 56, 51, 110, 51, 1632, 47, 56, 47, - 47, 47, 47, 48, 114, 51, 48, 55, 59, 48, - 1631, 115, 48, 59, 111, 55, 48, 112, 54, 52, - 48, 48, 116, 1630, 61, 61, 48, 61, 61, 117, - 52, 48, 114, 52, 48, 55, 52, 48, 54, 115, - 48, 48, 52, 55, 48, 50, 54, 52, 55, 50, - 116, 55, 120, 1620, 54, 50, 1260, 117, 52, 122, - 248, 52, 248, 50, 52, 50, 54, 70, 1619, 70, - - 52, 70, 53, 50, 1260, 58, 123, 50, 121, 58, - 120, 50, 53, 50, 66, 53, 121, 122, 66, 58, - 50, 50, 1618, 50, 66, 58, 53, 53, 124, 1617, - 53, 405, 53, 58, 123, 62, 121, 58, 66, 62, - 53, 405, 66, 53, 121, 65, 66, 58, 125, 62, - 65, 127, 66, 58, 60, 65, 124, 62, 68, 68, - 68, 68, 60, 62, 62, 113, 113, 62, 60, 62, - 1616, 60, 1322, 65, 60, 1337, 125, 62, 65, 127, - 62, 1614, 60, 65, 1322, 62, 65, 1337, 67, 1322, - 60, 63, 1337, 113, 113, 408, 60, 60, 60, 60, - - 60, 60, 60, 63, 1613, 408, 63, 63, 126, 63, - 63, 63, 126, 63, 64, 71, 67, 64, 128, 414, - 64, 96, 96, 96, 96, 96, 96, 129, 1612, 414, - 64, 67, 67, 67, 67, 1611, 126, 64, 130, 1593, - 126, 131, 64, 132, 1592, 64, 128, 98, 64, 98, - 98, 98, 98, 98, 98, 129, 64, 64, 64, 64, - 64, 118, 118, 118, 119, 64, 130, 71, 71, 131, - 119, 132, 71, 133, 119, 71, 134, 135, 98, 71, - 136, 139, 762, 762, 71, 71, 140, 1589, 141, 118, - 118, 118, 119, 142, 143, 144, 145, 146, 119, 147, - - 148, 133, 119, 145, 134, 135, 98, 138, 136, 139, - 138, 138, 150, 149, 140, 138, 141, 151, 153, 154, - 156, 142, 143, 144, 145, 146, 152, 147, 148, 149, - 152, 145, 158, 157, 160, 138, 152, 161, 138, 138, - 150, 149, 155, 138, 155, 151, 153, 154, 156, 155, - 157, 157, 159, 160, 152, 155, 162, 149, 152, 163, - 158, 157, 160, 164, 152, 161, 159, 166, 1588, 168, - 155, 169, 155, 162, 167, 165, 166, 155, 157, 157, - 159, 160, 170, 155, 162, 165, 167, 163, 170, 171, - 167, 164, 170, 172, 159, 166, 165, 168, 173, 169, - - 175, 162, 167, 165, 166, 180, 174, 1399, 172, 174, - 170, 1312, 1312, 165, 167, 181, 170, 171, 167, 184, - 170, 172, 183, 183, 165, 1399, 173, 187, 175, 178, - 178, 191, 186, 180, 174, 178, 172, 174, 186, 181, - 181, 189, 186, 181, 192, 181, 178, 184, 193, 189, - 183, 183, 185, 185, 185, 187, 181, 194, 1586, 191, - 186, 202, 193, 1585, 195, 203, 186, 1584, 205, 189, - 186, 206, 192, 212, 216, 205, 193, 189, 195, 195, - 185, 185, 185, 198, 195, 194, 198, 198, 207, 202, - 209, 198, 195, 203, 209, 195, 205, 219, 202, 206, - - 209, 212, 216, 205, 207, 208, 208, 1582, 208, 208, - 214, 198, 1581, 210, 198, 198, 207, 226, 209, 198, - 1580, 198, 209, 210, 210, 219, 1558, 214, 209, 210, - 1555, 218, 207, 207, 1554, 211, 1553, 211, 214, 217, - 210, 210, 211, 218, 221, 226, 224, 218, 211, 217, - 231, 1552, 220, 214, 214, 214, 214, 214, 220, 218, - 217, 224, 220, 211, 221, 211, 225, 217, 253, 225, - 211, 218, 221, 232, 224, 218, 211, 217, 246, 247, - 220, 227, 227, 227, 227, 255, 220, 256, 217, 224, - 220, 230, 1551, 230, 225, 230, 253, 225, 234, 257, - - 234, 258, 231, 231, 234, 1550, 259, 231, 1549, 1548, - 231, 260, 261, 255, 231, 256, 527, 527, 527, 231, - 231, 1547, 262, 263, 264, 232, 232, 257, 265, 258, - 232, 246, 247, 232, 259, 246, 247, 232, 266, 260, - 261, 267, 232, 232, 250, 250, 250, 250, 250, 250, - 262, 263, 264, 268, 269, 269, 265, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 266, 279, 280, 267, - 281, 282, 283, 285, 286, 287, 288, 289, 290, 291, - 292, 268, 269, 269, 293, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 294, 279, 280, 1546, 281, 282, - - 283, 285, 286, 287, 288, 289, 290, 291, 292, 296, - 297, 298, 293, 295, 295, 295, 295, 299, 300, 302, - 303, 304, 294, 305, 306, 295, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 317, 296, 297, 298, - 318, 319, 1545, 322, 323, 299, 300, 302, 303, 304, - 324, 305, 306, 295, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 325, 321, 326, 318, 319, - 321, 322, 323, 327, 328, 329, 330, 331, 324, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 342, 331, - 343, 344, 345, 325, 321, 326, 346, 347, 321, 348, - - 344, 327, 328, 329, 330, 331, 349, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 342, 331, 343, 344, - 345, 350, 351, 352, 346, 347, 353, 348, 344, 354, - 354, 356, 357, 359, 349, 354, 360, 361, 361, 362, - 363, 365, 367, 368, 370, 373, 354, 1544, 1541, 350, - 351, 352, 382, 383, 353, 380, 380, 380, 1540, 356, - 357, 359, 386, 387, 360, 361, 361, 362, 363, 365, - 367, 368, 370, 373, 374, 374, 374, 374, 388, 380, - 382, 383, 390, 392, 385, 385, 374, 385, 385, 393, - 386, 387, 394, 395, 390, 396, 416, 401, 400, 400, - - 400, 402, 417, 418, 396, 1539, 388, 380, 1514, 420, - 390, 392, 1513, 1512, 374, 422, 423, 393, 424, 426, - 394, 395, 390, 396, 400, 401, 427, 428, 430, 402, - 417, 418, 396, 403, 403, 403, 403, 420, 421, 421, - 421, 421, 431, 422, 423, 432, 424, 426, 416, 433, - 433, 434, 400, 435, 427, 428, 430, 432, 416, 436, - 437, 438, 439, 440, 441, 442, 445, 446, 447, 448, - 431, 449, 450, 432, 451, 453, 455, 433, 433, 434, - 456, 435, 457, 458, 459, 432, 460, 436, 437, 438, - 439, 440, 441, 442, 445, 446, 447, 448, 461, 449, - - 450, 462, 451, 453, 455, 463, 464, 466, 456, 467, - 457, 458, 459, 468, 460, 469, 470, 472, 473, 474, - 476, 477, 478, 479, 464, 480, 461, 481, 482, 462, - 483, 484, 485, 463, 464, 466, 486, 467, 487, 488, - 489, 468, 490, 469, 470, 472, 473, 474, 476, 477, - 478, 479, 464, 480, 491, 481, 482, 492, 483, 484, - 485, 493, 494, 495, 486, 496, 487, 488, 489, 497, - 490, 498, 499, 500, 501, 498, 502, 503, 504, 505, - 507, 508, 491, 512, 510, 492, 534, 534, 534, 493, - 494, 495, 513, 496, 510, 514, 515, 497, 516, 498, - - 499, 500, 501, 498, 502, 503, 504, 505, 507, 508, - 517, 512, 510, 511, 511, 511, 511, 518, 519, 521, - 513, 522, 510, 514, 515, 526, 516, 525, 525, 525, - 525, 529, 530, 530, 531, 532, 533, 535, 517, 536, - 536, 536, 538, 540, 542, 518, 519, 521, 552, 522, - 545, 545, 545, 526, 555, 556, 557, 559, 561, 529, - 530, 530, 531, 532, 533, 535, 562, 565, 573, 594, - 538, 540, 542, 567, 567, 567, 552, 564, 564, 564, - 564, 595, 555, 556, 557, 559, 561, 596, 597, 598, - 599, 600, 602, 603, 562, 565, 573, 594, 605, 606, - - 608, 609, 610, 612, 613, 614, 615, 616, 617, 595, - 618, 619, 621, 622, 623, 596, 597, 598, 599, 600, - 602, 603, 620, 620, 620, 620, 605, 606, 608, 609, - 610, 612, 613, 614, 615, 616, 617, 626, 618, 619, - 621, 622, 623, 625, 625, 625, 625, 627, 628, 629, - 630, 631, 633, 634, 634, 634, 634, 635, 635, 635, - 635, 636, 636, 636, 636, 626, 637, 637, 637, 637, - 638, 639, 640, 641, 642, 627, 628, 629, 630, 631, - 633, 643, 644, 645, 646, 639, 647, 648, 650, 651, - 649, 652, 653, 654, 655, 656, 657, 658, 638, 639, - - 640, 641, 642, 649, 659, 660, 661, 662, 663, 643, - 644, 645, 646, 639, 647, 648, 650, 651, 649, 652, - 653, 654, 655, 656, 657, 658, 664, 665, 666, 668, - 669, 649, 659, 660, 661, 662, 663, 671, 672, 673, - 674, 675, 676, 677, 678, 679, 681, 682, 683, 684, - 685, 686, 687, 688, 664, 665, 666, 668, 669, 691, - 693, 694, 695, 696, 703, 671, 672, 673, 674, 675, - 676, 677, 678, 679, 681, 682, 683, 684, 685, 686, - 687, 688, 705, 706, 707, 711, 729, 691, 693, 694, - 695, 696, 703, 716, 716, 716, 716, 725, 725, 725, - - 726, 726, 726, 727, 727, 727, 731, 732, 733, 735, - 705, 706, 707, 711, 729, 737, 738, 739, 766, 767, - 768, 769, 769, 769, 769, 770, 770, 770, 770, 771, - 771, 771, 771, 774, 731, 732, 733, 735, 772, 772, - 772, 772, 775, 737, 738, 739, 766, 767, 768, 776, - 778, 779, 780, 781, 782, 783, 785, 786, 787, 789, - 790, 774, 788, 788, 788, 788, 791, 792, 793, 794, - 775, 796, 797, 798, 799, 801, 802, 776, 778, 779, - 780, 781, 782, 783, 785, 786, 787, 789, 790, 803, - 804, 806, 823, 824, 791, 792, 793, 794, 826, 796, - - 797, 798, 799, 801, 802, 828, 829, 830, 831, 832, - 833, 834, 835, 836, 837, 838, 839, 803, 804, 806, - 823, 824, 840, 842, 843, 844, 826, 845, 847, 848, - 849, 850, 851, 828, 829, 830, 831, 832, 833, 834, - 835, 836, 837, 838, 839, 852, 856, 859, 861, 862, - 840, 842, 843, 844, 863, 845, 847, 848, 849, 850, - 851, 864, 865, 866, 867, 868, 868, 868, 868, 869, - 869, 869, 869, 852, 856, 859, 861, 862, 870, 870, - 870, 870, 863, 871, 871, 871, 871, 872, 873, 864, - 865, 866, 867, 875, 876, 877, 879, 880, 881, 882, - - 883, 883, 883, 884, 884, 884, 875, 885, 885, 885, - 886, 886, 886, 886, 900, 872, 873, 901, 903, 905, - 908, 875, 876, 877, 879, 880, 881, 882, 909, 925, - 926, 927, 944, 946, 875, 947, 949, 950, 951, 952, - 954, 948, 900, 956, 957, 901, 903, 905, 908, 901, - 948, 958, 959, 960, 1511, 1510, 909, 925, 926, 927, - 944, 946, 1509, 947, 949, 950, 951, 952, 954, 948, - 966, 956, 957, 961, 961, 961, 961, 1508, 1507, 958, - 959, 960, 962, 962, 962, 962, 963, 963, 963, 963, - 964, 964, 964, 964, 967, 967, 967, 967, 966, 968, - - 968, 968, 968, 969, 969, 969, 969, 970, 970, 970, - 970, 972, 973, 974, 975, 976, 978, 980, 981, 982, - 983, 984, 985, 986, 987, 988, 991, 992, 993, 994, - 995, 996, 997, 998, 999, 1000, 1231, 1231, 1231, 972, - 973, 974, 975, 976, 978, 980, 981, 982, 983, 984, - 985, 986, 987, 988, 991, 992, 993, 994, 995, 996, - 997, 998, 999, 1000, 1001, 1001, 1001, 1002, 1003, 1004, - 1006, 1505, 1007, 1009, 1001, 1008, 1008, 1008, 1011, 1029, - 1030, 1031, 1033, 1035, 1036, 1008, 1051, 1504, 1503, 1502, - 1001, 1501, 1500, 1498, 1065, 1002, 1003, 1004, 1006, 1001, - - 1007, 1009, 1001, 1066, 1067, 1068, 1011, 1029, 1030, 1031, - 1033, 1035, 1036, 1008, 1051, 1053, 1053, 1053, 1001, 1055, - 1055, 1055, 1065, 1070, 1497, 1053, 1071, 1072, 1073, 1055, - 1074, 1066, 1067, 1068, 1075, 1077, 1078, 1079, 1079, 1079, - 1079, 1053, 1080, 1080, 1080, 1080, 1081, 1081, 1081, 1081, - 1053, 1070, 1053, 1053, 1071, 1072, 1073, 1055, 1074, 1099, - 1117, 1118, 1075, 1077, 1078, 1082, 1082, 1082, 1082, 1053, - 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1127, 1128, 1129, - 1130, 1131, 1132, 1133, 1135, 1136, 1137, 1099, 1117, 1118, - 1139, 1140, 1141, 1142, 1143, 1144, 1496, 1146, 1119, 1120, - - 1121, 1122, 1123, 1124, 1125, 1127, 1128, 1129, 1130, 1131, - 1132, 1133, 1135, 1136, 1137, 1147, 1148, 1149, 1139, 1140, - 1141, 1142, 1143, 1144, 1145, 1146, 1150, 1151, 1153, 1154, - 1145, 1155, 1156, 1157, 1160, 1161, 1167, 1167, 1167, 1168, - 1170, 1171, 1172, 1147, 1148, 1149, 1495, 1174, 1176, 1176, - 1176, 1157, 1145, 1174, 1150, 1151, 1153, 1154, 1145, 1155, - 1156, 1157, 1160, 1161, 1181, 1182, 1183, 1168, 1170, 1171, - 1172, 1184, 1185, 1167, 1167, 1174, 1186, 1187, 1188, 1157, - 1189, 1174, 1190, 1191, 1192, 1176, 1176, 1209, 1210, 1211, - 1212, 1213, 1181, 1182, 1183, 1215, 1217, 1218, 1219, 1184, - - 1185, 1220, 1221, 1222, 1186, 1187, 1188, 1223, 1189, 1225, - 1190, 1191, 1192, 1226, 1227, 1209, 1210, 1211, 1212, 1213, - 1229, 1230, 1235, 1215, 1217, 1218, 1219, 1236, 1237, 1220, - 1221, 1222, 1238, 1239, 1240, 1223, 1241, 1225, 1243, 1244, - 1246, 1226, 1227, 1247, 1248, 1249, 1250, 1258, 1229, 1230, - 1235, 1244, 1264, 1272, 1494, 1236, 1237, 1273, 1275, 1276, - 1238, 1239, 1240, 1277, 1241, 1261, 1243, 1244, 1246, 1278, - 1279, 1247, 1248, 1249, 1250, 1258, 1281, 1261, 1282, 1244, - 1264, 1272, 1261, 1261, 1283, 1273, 1275, 1276, 1284, 1285, - 1286, 1277, 1290, 1291, 1292, 1294, 1295, 1278, 1279, 1296, - - 1297, 1298, 1299, 1300, 1281, 1301, 1282, 1302, 1303, 1304, - 1305, 1306, 1283, 1307, 1308, 1310, 1284, 1285, 1286, 1311, - 1290, 1291, 1292, 1294, 1295, 1313, 1314, 1296, 1297, 1298, - 1299, 1300, 1315, 1301, 1316, 1302, 1303, 1304, 1305, 1306, - 1317, 1307, 1308, 1310, 1318, 1319, 1320, 1311, 1326, 1334, - 1341, 1342, 1343, 1313, 1314, 1344, 1345, 1346, 1347, 1348, - 1315, 1349, 1316, 1350, 1351, 1352, 1354, 1355, 1317, 1357, - 1360, 1362, 1318, 1319, 1320, 1363, 1326, 1334, 1341, 1342, - 1343, 1364, 1365, 1344, 1345, 1346, 1347, 1348, 1366, 1349, - 1368, 1350, 1351, 1352, 1354, 1355, 1370, 1357, 1360, 1362, - - 1371, 1372, 1374, 1363, 1376, 1377, 1378, 1379, 1380, 1364, - 1365, 1382, 1383, 1384, 1391, 1406, 1366, 1408, 1368, 1410, - 1411, 1412, 1413, 1414, 1370, 1417, 1414, 1418, 1371, 1372, - 1374, 1419, 1376, 1377, 1378, 1379, 1380, 1420, 1421, 1382, - 1383, 1384, 1391, 1406, 1422, 1408, 1423, 1410, 1411, 1412, - 1413, 1414, 1424, 1417, 1414, 1418, 1425, 1426, 1427, 1419, - 1428, 1430, 1431, 1432, 1433, 1420, 1421, 1434, 1435, 1436, - 1437, 1438, 1422, 1439, 1423, 1447, 1463, 1464, 1466, 1468, - 1424, 1469, 1470, 1471, 1425, 1426, 1427, 1472, 1428, 1430, - 1431, 1432, 1433, 1475, 1476, 1434, 1435, 1436, 1437, 1438, - - 1477, 1439, 1478, 1447, 1463, 1464, 1466, 1468, 1479, 1469, - 1470, 1471, 1480, 1481, 1482, 1472, 1484, 1485, 1487, 1488, - 1489, 1475, 1476, 1490, 1491, 1492, 1515, 1516, 1477, 1517, - 1478, 1518, 1519, 1520, 1522, 1523, 1479, 1524, 1525, 1526, - 1480, 1481, 1482, 1527, 1484, 1485, 1487, 1488, 1489, 1528, - 1529, 1490, 1491, 1492, 1515, 1516, 1530, 1517, 1531, 1518, - 1519, 1520, 1522, 1523, 1532, 1524, 1525, 1526, 1535, 1536, - 1559, 1527, 1560, 1561, 1562, 1563, 1564, 1528, 1529, 1567, - 1568, 1569, 1570, 1571, 1530, 1572, 1531, 1573, 1574, 1575, - 1576, 1577, 1532, 1594, 1595, 1597, 1535, 1536, 1559, 1598, - - 1560, 1561, 1562, 1563, 1564, 1602, 1603, 1567, 1568, 1569, - 1570, 1571, 1606, 1572, 1621, 1573, 1574, 1575, 1576, 1577, - 1623, 1594, 1595, 1597, 1625, 1626, 1627, 1598, 1637, 1638, - 1639, 1641, 1646, 1602, 1603, 1647, 1649, 1654, 1655, 1656, - 1606, 1660, 1621, 1661, 1662, 1665, 1493, 1462, 1623, 1461, - 1460, 1459, 1625, 1626, 1627, 1458, 1637, 1638, 1639, 1641, - 1646, 1457, 1456, 1647, 1649, 1654, 1655, 1656, 1455, 1660, - 1454, 1661, 1662, 1665, 1670, 1670, 1670, 1670, 1670, 1671, - 1671, 1671, 1671, 1671, 1672, 1672, 1672, 1672, 1672, 1674, - 1453, 1674, 1452, 1674, 1675, 1451, 1675, 1675, 1675, 1676, - - 1676, 1450, 1676, 1676, 1677, 1449, 1677, 1677, 1677, 1678, - 1678, 1678, 1678, 1678, 1679, 1448, 1679, 1679, 1679, 1680, - 1446, 1680, 1680, 1680, 1681, 1445, 1681, 1681, 1681, 1682, - 1444, 1682, 1682, 1682, 1683, 1443, 1683, 1683, 1683, 1442, - 1441, 1405, 1404, 1403, 1402, 1401, 1400, 1398, 1397, 1396, - 1395, 1394, 1393, 1392, 1390, 1389, 1388, 1387, 1386, 1385, - 1361, 1340, 1339, 1336, 1333, 1332, 1331, 1330, 1329, 1328, - 1327, 1325, 1324, 1321, 1309, 1270, 1269, 1268, 1267, 1266, - 1265, 1263, 1257, 1256, 1255, 1254, 1253, 1242, 1175, 1173, - 1169, 1166, 1163, 1064, 1062, 1057, 1054, 1052, 1049, 1048, - - 1034, 965, 924, 923, 921, 919, 917, 916, 912, 911, - 910, 906, 899, 888, 887, 878, 857, 777, 765, 764, - 761, 760, 757, 756, 755, 753, 752, 751, 750, 749, - 746, 744, 740, 736, 734, 728, 724, 720, 719, 710, - 709, 708, 704, 698, 611, 593, 592, 590, 589, 588, - 587, 586, 585, 584, 583, 582, 581, 579, 578, 577, - 576, 575, 568, 566, 560, 558, 553, 551, 550, 549, - 548, 546, 544, 543, 541, 524, 415, 413, 412, 411, - 410, 409, 407, 406, 404, 399, 398, 397, 391, 389, - 384, 381, 379, 378, 377, 376, 375, 372, 369, 366, - - 364, 358, 355, 320, 254, 249, 239, 238, 237, 236, - 233, 223, 222, 215, 213, 204, 201, 200, 199, 196, - 190, 188, 182, 179, 103, 99, 80, 74, 23, 16, - 14, 13, 9, 6, 5, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - - 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, 1669, - 1669, 1669, 1669 - } ; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -#line 1 "gpu/lolfx-scanner.l" -#line 2 "gpu/lolfx-scanner.l" -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#include - -#include -using std::exit; -using std::malloc; -using std::realloc; -using std::free; -#include - -#include "gpu/lolfx-compiler.h" - -typedef lol::LolFxParser::token token; -typedef lol::LolFxParser::token_type token_type; - -#ifndef YY_DECL -# define YY_DECL lol::LolFxParser::token_type \ - lol::LolFxScanner::lex(lol::LolFxParser::semantic_type* yylval, \ - lol::LolFxParser::location_type* yylloc) -#endif - -#define yyterminate() return token::T_END -#define YY_NO_UNISTD_H -#define YY_USER_ACTION yylloc->columns(yyleng); - - - -#line 1694 "generated/lolfx-scanner.cpp" - -#define INITIAL 0 -#define C_COMMENT 1 -#define CPP_COMMENT 2 -#define PREPROCESSOR_COMMENT 3 - -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -#include -#endif - -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); -#endif - -#ifndef YY_NO_INPUT - -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else -#define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ -#endif - -/* Copy whatever the last rule matched to the standard output. */ -#ifndef ECHO -#define ECHO LexerOutput( yytext, yyleng ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ -\ - if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); - -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) LexerError( msg ) -#endif - -/* end tables serialization structures and prototypes */ - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL_IS_OURS 1 -#define YY_DECL int yyFlexLexer::yylex() -#endif /* !YY_DECL */ - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - if ( yyleng > 0 ) \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ - (yytext[yyleng - 1] == '\n'); \ - YY_USER_ACTION - -/** The main scanner function which does all the work. - */ -YY_DECL -{ - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 47 "gpu/lolfx-scanner.l" - - - - /* reset location at the beginning of yylex() */ - yylloc->step(); - - int language_guess = INITIAL; - m_pp_stack.Push(BlockIsTrue); - - - /* - * GLSL keywords - */ - -#line 1820 "generated/lolfx-scanner.cpp" - - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! yyin ) - yyin = & std::cin; - - if ( ! yyout ) - yyout = & std::cout; - - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); - } - - yy_load_buffer_state( ); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = (yy_c_buf_p); - - /* Support of yytext. */ - *yy_cp = (yy_hold_char); - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = (yy_start); - yy_current_state += YY_AT_BOL(); -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1670 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_current_state != 1669 ); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - - YY_DO_BEFORE_ACTION; - -do_action: /* This label is used only to access EOF actions. */ - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - -case 1: -YY_RULE_SETUP -#line 61 "gpu/lolfx-scanner.l" -{ return token::GT_SUBROUTINE; } - YY_BREAK -case 2: -YY_RULE_SETUP -#line 62 "gpu/lolfx-scanner.l" -{ return token::GT_PATCH; } - YY_BREAK -case 3: -YY_RULE_SETUP -#line 63 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLE; } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 64 "gpu/lolfx-scanner.l" -{ return token::GT_FLAT; } - YY_BREAK -case 5: -YY_RULE_SETUP -#line 65 "gpu/lolfx-scanner.l" -{ return token::GT_SMOOTH; } - YY_BREAK -case 6: -YY_RULE_SETUP -#line 66 "gpu/lolfx-scanner.l" -{ return token::GT_LAYOUT; } - YY_BREAK -case 7: -YY_RULE_SETUP -#line 67 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER1DSHADOW; } - YY_BREAK -case 8: -YY_RULE_SETUP -#line 68 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DSHADOW; } - YY_BREAK -case 9: -YY_RULE_SETUP -#line 69 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLERCUBESHADOW; } - YY_BREAK -case 10: -YY_RULE_SETUP -#line 70 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER1DARRAY; } - YY_BREAK -case 11: -YY_RULE_SETUP -#line 71 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DARRAY; } - YY_BREAK -case 12: -YY_RULE_SETUP -#line 72 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER1DARRAYSHADOW; } - YY_BREAK -case 13: -YY_RULE_SETUP -#line 73 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DARRAYSHADOW; } - YY_BREAK -case 14: -YY_RULE_SETUP -#line 74 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER1D; } - YY_BREAK -case 15: -YY_RULE_SETUP -#line 75 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER2D; } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 76 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER3D; } - YY_BREAK -case 17: -YY_RULE_SETUP -#line 77 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLERCUBE; } - YY_BREAK -case 18: -YY_RULE_SETUP -#line 78 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER1DARRAY; } - YY_BREAK -case 19: -YY_RULE_SETUP -#line 79 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER2DARRAY; } - YY_BREAK -case 20: -YY_RULE_SETUP -#line 80 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER1D; } - YY_BREAK -case 21: -YY_RULE_SETUP -#line 81 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER2D; } - YY_BREAK -case 22: -YY_RULE_SETUP -#line 82 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER3D; } - YY_BREAK -case 23: -YY_RULE_SETUP -#line 83 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLERCUBE; } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 84 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER1DARRAY; } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 85 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER2DARRAY; } - YY_BREAK -case 26: -YY_RULE_SETUP -#line 86 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DRECT; } - YY_BREAK -case 27: -YY_RULE_SETUP -#line 87 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DRECTSHADOW; } - YY_BREAK -case 28: -YY_RULE_SETUP -#line 88 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER2DRECT; } - YY_BREAK -case 29: -YY_RULE_SETUP -#line 89 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER2DRECT; } - YY_BREAK -case 30: -YY_RULE_SETUP -#line 90 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLERBUFFER; } - YY_BREAK -case 31: -YY_RULE_SETUP -#line 91 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLERBUFFER; } - YY_BREAK -case 32: -YY_RULE_SETUP -#line 92 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLERBUFFER; } - YY_BREAK -case 33: -YY_RULE_SETUP -#line 93 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLERCUBEARRAY; } - YY_BREAK -case 34: -YY_RULE_SETUP -#line 94 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLERCUBEARRAYSHADOW; } - YY_BREAK -case 35: -YY_RULE_SETUP -#line 95 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLERCUBEARRAY; } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 96 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLERCUBEARRAY; } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 97 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DMS; } - YY_BREAK -case 38: -YY_RULE_SETUP -#line 98 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER2DMS; } - YY_BREAK -case 39: -YY_RULE_SETUP -#line 99 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER2DMS; } - YY_BREAK -case 40: -YY_RULE_SETUP -#line 100 "gpu/lolfx-scanner.l" -{ return token::GT_SAMPLER2DMSARRAY; } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 101 "gpu/lolfx-scanner.l" -{ return token::GT_ISAMPLER2DMSARRAY; } - YY_BREAK -case 42: -YY_RULE_SETUP -#line 102 "gpu/lolfx-scanner.l" -{ return token::GT_USAMPLER2DMSARRAY; } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 104 "gpu/lolfx-scanner.l" -{ return token::GT_HIGHP; } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 105 "gpu/lolfx-scanner.l" -{ return token::GT_MEDIUMP; } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 106 "gpu/lolfx-scanner.l" -{ return token::GT_LOWP; } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 107 "gpu/lolfx-scanner.l" -{ return token::GT_PRECISION; } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 108 "gpu/lolfx-scanner.l" -{ return token::GT_INVARIANT; } - YY_BREAK -/* - * Deprecated GLSL keywords - */ -case 48: -YY_RULE_SETUP -#line 114 "gpu/lolfx-scanner.l" -{ return token::GT_ATTRIBUTE; } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 115 "gpu/lolfx-scanner.l" -{ return token::GT_VARYING; } - YY_BREAK -/* - * GLSL vector types - */ -case 50: -YY_RULE_SETUP -#line 121 "gpu/lolfx-scanner.l" -{ return token::GT_BVEC2; } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 122 "gpu/lolfx-scanner.l" -{ return token::GT_BVEC3; } - YY_BREAK -case 52: -YY_RULE_SETUP -#line 123 "gpu/lolfx-scanner.l" -{ return token::GT_BVEC4; } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 125 "gpu/lolfx-scanner.l" -{ return token::GT_IVEC2; } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 126 "gpu/lolfx-scanner.l" -{ return token::GT_IVEC3; } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 127 "gpu/lolfx-scanner.l" -{ return token::GT_IVEC4; } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 129 "gpu/lolfx-scanner.l" -{ return token::GT_UVEC2; } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 130 "gpu/lolfx-scanner.l" -{ return token::GT_UVEC3; } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 131 "gpu/lolfx-scanner.l" -{ return token::GT_UVEC4; } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 133 "gpu/lolfx-scanner.l" -{ return token::GT_VEC2; } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 134 "gpu/lolfx-scanner.l" -{ return token::GT_VEC3; } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 135 "gpu/lolfx-scanner.l" -{ return token::GT_VEC4; } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 136 "gpu/lolfx-scanner.l" -{ return token::GT_MAT2; } - YY_BREAK -case 63: -YY_RULE_SETUP -#line 137 "gpu/lolfx-scanner.l" -{ return token::GT_MAT2X2; } - YY_BREAK -case 64: -YY_RULE_SETUP -#line 138 "gpu/lolfx-scanner.l" -{ return token::GT_MAT2X3; } - YY_BREAK -case 65: -YY_RULE_SETUP -#line 139 "gpu/lolfx-scanner.l" -{ return token::GT_MAT2X4; } - YY_BREAK -case 66: -YY_RULE_SETUP -#line 140 "gpu/lolfx-scanner.l" -{ return token::GT_MAT3; } - YY_BREAK -case 67: -YY_RULE_SETUP -#line 141 "gpu/lolfx-scanner.l" -{ return token::GT_MAT3X2; } - YY_BREAK -case 68: -YY_RULE_SETUP -#line 142 "gpu/lolfx-scanner.l" -{ return token::GT_MAT3X3; } - YY_BREAK -case 69: -YY_RULE_SETUP -#line 143 "gpu/lolfx-scanner.l" -{ return token::GT_MAT3X4; } - YY_BREAK -case 70: -YY_RULE_SETUP -#line 144 "gpu/lolfx-scanner.l" -{ return token::GT_MAT4; } - YY_BREAK -case 71: -YY_RULE_SETUP -#line 145 "gpu/lolfx-scanner.l" -{ return token::GT_MAT4X2; } - YY_BREAK -case 72: -YY_RULE_SETUP -#line 146 "gpu/lolfx-scanner.l" -{ return token::GT_MAT4X3; } - YY_BREAK -case 73: -YY_RULE_SETUP -#line 147 "gpu/lolfx-scanner.l" -{ return token::GT_MAT4X4; } - YY_BREAK -case 74: -YY_RULE_SETUP -#line 149 "gpu/lolfx-scanner.l" -{ return token::GT_DVEC2; } - YY_BREAK -case 75: -YY_RULE_SETUP -#line 150 "gpu/lolfx-scanner.l" -{ return token::GT_DVEC3; } - YY_BREAK -case 76: -YY_RULE_SETUP -#line 151 "gpu/lolfx-scanner.l" -{ return token::GT_DVEC4; } - YY_BREAK -case 77: -YY_RULE_SETUP -#line 152 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT2; } - YY_BREAK -case 78: -YY_RULE_SETUP -#line 153 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT2X2; } - YY_BREAK -case 79: -YY_RULE_SETUP -#line 154 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT2X3; } - YY_BREAK -case 80: -YY_RULE_SETUP -#line 155 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT2X4; } - YY_BREAK -case 81: -YY_RULE_SETUP -#line 156 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT3; } - YY_BREAK -case 82: -YY_RULE_SETUP -#line 157 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT3X2; } - YY_BREAK -case 83: -YY_RULE_SETUP -#line 158 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT3X3; } - YY_BREAK -case 84: -YY_RULE_SETUP -#line 159 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT3X4; } - YY_BREAK -case 85: -YY_RULE_SETUP -#line 160 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT4; } - YY_BREAK -case 86: -YY_RULE_SETUP -#line 161 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT4X2; } - YY_BREAK -case 87: -YY_RULE_SETUP -#line 162 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT4X3; } - YY_BREAK -case 88: -YY_RULE_SETUP -#line 163 "gpu/lolfx-scanner.l" -{ return token::GT_DMAT4X4; } - YY_BREAK -/* - * GLSL constant values - */ -case 89: -YY_RULE_SETUP -#line 169 "gpu/lolfx-scanner.l" -{ yylval->ival = 1; return token::BOOLCONSTANT; } - YY_BREAK -case 90: -YY_RULE_SETUP -#line 170 "gpu/lolfx-scanner.l" -{ yylval->ival = 0; return token::BOOLCONSTANT; } - YY_BREAK -/* - * GLSL keywords that are also valid or reserved in HLSL - * and HLSL keywords that are also valid or reserved in GLSL. - */ -case 91: -YY_RULE_SETUP -#line 177 "gpu/lolfx-scanner.l" -{ return token::GHT_BOOL; } - YY_BREAK -case 92: -YY_RULE_SETUP -#line 178 "gpu/lolfx-scanner.l" -{ return token::GHT_BREAK; } - YY_BREAK -case 93: -YY_RULE_SETUP -#line 179 "gpu/lolfx-scanner.l" -{ return token::GHT_CASE; } - YY_BREAK -case 94: -YY_RULE_SETUP -#line 180 "gpu/lolfx-scanner.l" -{ return token::GHT_CENTROID; } - YY_BREAK -case 95: -YY_RULE_SETUP -#line 181 "gpu/lolfx-scanner.l" -{ return token::GHT_CONST; } - YY_BREAK -case 96: -YY_RULE_SETUP -#line 182 "gpu/lolfx-scanner.l" -{ return token::GHT_CONTINUE; } - YY_BREAK -case 97: -YY_RULE_SETUP -#line 183 "gpu/lolfx-scanner.l" -{ return token::GHT_DEFAULT; } - YY_BREAK -case 98: -YY_RULE_SETUP -#line 184 "gpu/lolfx-scanner.l" -{ return token::GHT_DISCARD; } - YY_BREAK -case 99: -YY_RULE_SETUP -#line 185 "gpu/lolfx-scanner.l" -{ return token::GHT_DO; } - YY_BREAK -case 100: -YY_RULE_SETUP -#line 186 "gpu/lolfx-scanner.l" -{ return token::GHT_DOUBLE; } - YY_BREAK -case 101: -YY_RULE_SETUP -#line 187 "gpu/lolfx-scanner.l" -{ return token::GHT_ELSE; } - YY_BREAK -case 102: -YY_RULE_SETUP -#line 188 "gpu/lolfx-scanner.l" -{ return token::GHT_FLOAT; } - YY_BREAK -case 103: -YY_RULE_SETUP -#line 189 "gpu/lolfx-scanner.l" -{ return token::GHT_FOR; } - YY_BREAK -case 104: -YY_RULE_SETUP -#line 190 "gpu/lolfx-scanner.l" -{ return token::GHT_IF; } - YY_BREAK -case 105: -YY_RULE_SETUP -#line 191 "gpu/lolfx-scanner.l" -{ return token::GHT_IN; } - YY_BREAK -case 106: -YY_RULE_SETUP -#line 192 "gpu/lolfx-scanner.l" -{ return token::GHT_INOUT; } - YY_BREAK -case 107: -YY_RULE_SETUP -#line 193 "gpu/lolfx-scanner.l" -{ return token::GHT_INT; } - YY_BREAK -case 108: -YY_RULE_SETUP -#line 194 "gpu/lolfx-scanner.l" -{ return token::GHT_NOPERSPECTIVE; } - YY_BREAK -case 109: -YY_RULE_SETUP -#line 195 "gpu/lolfx-scanner.l" -{ return token::GHT_OUT; } - YY_BREAK -case 110: -YY_RULE_SETUP -#line 196 "gpu/lolfx-scanner.l" -{ return token::GHT_RETURN; } - YY_BREAK -case 111: -YY_RULE_SETUP -#line 197 "gpu/lolfx-scanner.l" -{ return token::GHT_SAMPLER1D; } - YY_BREAK -case 112: -YY_RULE_SETUP -#line 198 "gpu/lolfx-scanner.l" -{ return token::GHT_SAMPLER2D; } - YY_BREAK -case 113: -YY_RULE_SETUP -#line 199 "gpu/lolfx-scanner.l" -{ return token::GHT_SAMPLER3D; } - YY_BREAK -case 114: -YY_RULE_SETUP -#line 200 "gpu/lolfx-scanner.l" -{ return token::GHT_SAMPLERCUBE; } - YY_BREAK -case 115: -YY_RULE_SETUP -#line 201 "gpu/lolfx-scanner.l" -{ return token::GHT_STRUCT; } - YY_BREAK -case 116: -YY_RULE_SETUP -#line 202 "gpu/lolfx-scanner.l" -{ return token::GHT_SWITCH; } - YY_BREAK -case 117: -YY_RULE_SETUP -#line 203 "gpu/lolfx-scanner.l" -{ return token::GHT_UINT; } - YY_BREAK -case 118: -YY_RULE_SETUP -#line 204 "gpu/lolfx-scanner.l" -{ return token::GHT_UNIFORM; } - YY_BREAK -case 119: -YY_RULE_SETUP -#line 205 "gpu/lolfx-scanner.l" -{ return token::GHT_VOID; } - YY_BREAK -case 120: -YY_RULE_SETUP -#line 206 "gpu/lolfx-scanner.l" -{ return token::GHT_WHILE; } - YY_BREAK -case 121: -YY_RULE_SETUP -#line 208 "gpu/lolfx-scanner.l" -{ return token::HGT_BOOL; } - YY_BREAK -case 122: -YY_RULE_SETUP -#line 209 "gpu/lolfx-scanner.l" -{ return token::HGT_BREAK; } - YY_BREAK -case 123: -YY_RULE_SETUP -#line 210 "gpu/lolfx-scanner.l" -{ return token::HGT_CASE; } - YY_BREAK -case 124: -YY_RULE_SETUP -#line 211 "gpu/lolfx-scanner.l" -{ return token::HGT_CENTROID; } - YY_BREAK -case 125: -YY_RULE_SETUP -#line 212 "gpu/lolfx-scanner.l" -{ return token::HGT_CONST; } - YY_BREAK -case 126: -YY_RULE_SETUP -#line 213 "gpu/lolfx-scanner.l" -{ return token::HGT_CONTINUE; } - YY_BREAK -case 127: -YY_RULE_SETUP -#line 214 "gpu/lolfx-scanner.l" -{ return token::HGT_DEFAULT; } - YY_BREAK -case 128: -YY_RULE_SETUP -#line 215 "gpu/lolfx-scanner.l" -{ return token::HGT_DISCARD; } - YY_BREAK -case 129: -YY_RULE_SETUP -#line 216 "gpu/lolfx-scanner.l" -{ return token::HGT_DO; } - YY_BREAK -case 130: -YY_RULE_SETUP -#line 217 "gpu/lolfx-scanner.l" -{ return token::HGT_DOUBLE; } - YY_BREAK -case 131: -YY_RULE_SETUP -#line 218 "gpu/lolfx-scanner.l" -{ return token::HGT_ELSE; } - YY_BREAK -case 132: -YY_RULE_SETUP -#line 219 "gpu/lolfx-scanner.l" -{ return token::HGT_FLOAT; } - YY_BREAK -case 133: -YY_RULE_SETUP -#line 220 "gpu/lolfx-scanner.l" -{ return token::HGT_FOR; } - YY_BREAK -case 134: -YY_RULE_SETUP -#line 221 "gpu/lolfx-scanner.l" -{ return token::HGT_IF; } - YY_BREAK -case 135: -YY_RULE_SETUP -#line 222 "gpu/lolfx-scanner.l" -{ return token::HGT_IN; } - YY_BREAK -case 136: -YY_RULE_SETUP -#line 223 "gpu/lolfx-scanner.l" -{ return token::HGT_INOUT; } - YY_BREAK -case 137: -YY_RULE_SETUP -#line 224 "gpu/lolfx-scanner.l" -{ return token::HGT_INT; } - YY_BREAK -case 138: -YY_RULE_SETUP -#line 225 "gpu/lolfx-scanner.l" -{ return token::HGT_NOPERSPECTIVE; } - YY_BREAK -case 139: -YY_RULE_SETUP -#line 226 "gpu/lolfx-scanner.l" -{ return token::HGT_OUT; } - YY_BREAK -case 140: -YY_RULE_SETUP -#line 227 "gpu/lolfx-scanner.l" -{ return token::HGT_RETURN; } - YY_BREAK -case 141: -YY_RULE_SETUP -#line 228 "gpu/lolfx-scanner.l" -{ return token::HGT_SAMPLER1D; } - YY_BREAK -case 142: -YY_RULE_SETUP -#line 229 "gpu/lolfx-scanner.l" -{ return token::HGT_SAMPLER2D; } - YY_BREAK -case 143: -YY_RULE_SETUP -#line 230 "gpu/lolfx-scanner.l" -{ return token::HGT_SAMPLER3D; } - YY_BREAK -case 144: -YY_RULE_SETUP -#line 231 "gpu/lolfx-scanner.l" -{ return token::HGT_SAMPLERCUBE; } - YY_BREAK -case 145: -YY_RULE_SETUP -#line 232 "gpu/lolfx-scanner.l" -{ return token::HGT_STRUCT; } - YY_BREAK -case 146: -YY_RULE_SETUP -#line 233 "gpu/lolfx-scanner.l" -{ return token::HGT_SWITCH; } - YY_BREAK -case 147: -YY_RULE_SETUP -#line 234 "gpu/lolfx-scanner.l" -{ return token::HGT_UINT; } - YY_BREAK -case 148: -YY_RULE_SETUP -#line 235 "gpu/lolfx-scanner.l" -{ return token::HGT_UNIFORM; } - YY_BREAK -case 149: -YY_RULE_SETUP -#line 236 "gpu/lolfx-scanner.l" -{ return token::HGT_VOID; } - YY_BREAK -case 150: -YY_RULE_SETUP -#line 237 "gpu/lolfx-scanner.l" -{ return token::HGT_WHILE; } - YY_BREAK -/* - * HLSL keywords - * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb509568%28v=vs.85%29.aspx - */ -case 151: -YY_RULE_SETUP -#line 244 "gpu/lolfx-scanner.l" -{ return token::HT_APPENDSTRUCTUREDBUFFER; } - YY_BREAK -case 152: -YY_RULE_SETUP -#line 245 "gpu/lolfx-scanner.l" -{ return token::HT_ASM; } - YY_BREAK -case 153: -YY_RULE_SETUP -#line 246 "gpu/lolfx-scanner.l" -{ return token::HT_ASM_FRAGMENT; } - YY_BREAK -case 154: -YY_RULE_SETUP -#line 247 "gpu/lolfx-scanner.l" -{ return token::HT_BLENDSTATE; } - YY_BREAK -case 155: -YY_RULE_SETUP -#line 248 "gpu/lolfx-scanner.l" -{ return token::HT_BUFFER; } - YY_BREAK -case 156: -YY_RULE_SETUP -#line 249 "gpu/lolfx-scanner.l" -{ return token::HT_BYTEADDRESSBUFFER; } - YY_BREAK -case 157: -YY_RULE_SETUP -#line 250 "gpu/lolfx-scanner.l" -{ return token::HT_CBUFFER; } - YY_BREAK -case 158: -YY_RULE_SETUP -#line 251 "gpu/lolfx-scanner.l" -{ return token::HT_COLUMN_MAJOR; } - YY_BREAK -case 159: -YY_RULE_SETUP -#line 252 "gpu/lolfx-scanner.l" -{ return token::HT_COMPILE; } - YY_BREAK -case 160: -YY_RULE_SETUP -#line 253 "gpu/lolfx-scanner.l" -{ return token::HT_COMPILE_FRAGMENT; } - YY_BREAK -case 161: -YY_RULE_SETUP -#line 254 "gpu/lolfx-scanner.l" -{ return token::HT_COMPILESHADER; } - YY_BREAK -case 162: -YY_RULE_SETUP -#line 255 "gpu/lolfx-scanner.l" -{ return token::HT_COMPUTESHADER; } - YY_BREAK -case 163: -YY_RULE_SETUP -#line 256 "gpu/lolfx-scanner.l" -{ return token::HT_CONSUMESTRUCTUREDBUFFER; } - YY_BREAK -case 164: -YY_RULE_SETUP -#line 257 "gpu/lolfx-scanner.l" -{ return token::HT_DEPTHSTENCILSTATE; } - YY_BREAK -case 165: -YY_RULE_SETUP -#line 258 "gpu/lolfx-scanner.l" -{ return token::HT_DEPTHSTENCILVIEW; } - YY_BREAK -case 166: -YY_RULE_SETUP -#line 259 "gpu/lolfx-scanner.l" -{ return token::HT_DOMAINSHADER; } - YY_BREAK -case 167: -YY_RULE_SETUP -#line 260 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD; } - YY_BREAK -case 168: -YY_RULE_SETUP -#line 261 "gpu/lolfx-scanner.l" -{ return token::HT_EXTERN; } - YY_BREAK -case 169: -YY_RULE_SETUP -#line 262 "gpu/lolfx-scanner.l" -{ return token::HT_FALSE; } - YY_BREAK -case 170: -YY_RULE_SETUP -#line 263 "gpu/lolfx-scanner.l" -{ return token::HT_FXGROUP; } - YY_BREAK -case 171: -YY_RULE_SETUP -#line 264 "gpu/lolfx-scanner.l" -{ return token::HT_GEOMETRYSHADER; } - YY_BREAK -case 172: -YY_RULE_SETUP -#line 265 "gpu/lolfx-scanner.l" -{ return token::HT_GROUPSHARED; } - YY_BREAK -case 173: -YY_RULE_SETUP -#line 266 "gpu/lolfx-scanner.l" -{ return token::HT_HALF; } - YY_BREAK -case 174: -YY_RULE_SETUP -#line 267 "gpu/lolfx-scanner.l" -{ return token::HT_HULLSHADER; } - YY_BREAK -case 175: -YY_RULE_SETUP -#line 268 "gpu/lolfx-scanner.l" -{ return token::HT_INLINE; } - YY_BREAK -case 176: -YY_RULE_SETUP -#line 269 "gpu/lolfx-scanner.l" -{ return token::HT_INPUTPATCH; } - YY_BREAK -case 177: -YY_RULE_SETUP -#line 270 "gpu/lolfx-scanner.l" -{ return token::HT_INTERFACE; } - YY_BREAK -case 178: -YY_RULE_SETUP -#line 271 "gpu/lolfx-scanner.l" -{ return token::HT_LINE; } - YY_BREAK -case 179: -YY_RULE_SETUP -#line 272 "gpu/lolfx-scanner.l" -{ return token::HT_LINEADJ; } - YY_BREAK -case 180: -YY_RULE_SETUP -#line 273 "gpu/lolfx-scanner.l" -{ return token::HT_LINEAR; } - YY_BREAK -case 181: -YY_RULE_SETUP -#line 274 "gpu/lolfx-scanner.l" -{ return token::HT_LINESTREAM; } - YY_BREAK -case 182: -YY_RULE_SETUP -#line 275 "gpu/lolfx-scanner.l" -{ return token::HT_MATRIX; } - YY_BREAK -case 183: -YY_RULE_SETUP -#line 276 "gpu/lolfx-scanner.l" -{ return token::HT_NAMESPACE; } - YY_BREAK -case 184: -YY_RULE_SETUP -#line 277 "gpu/lolfx-scanner.l" -{ return token::HT_NOINTERPOLATION; } - YY_BREAK -case 185: -YY_RULE_SETUP -#line 278 "gpu/lolfx-scanner.l" -{ return token::HT_NULL; } - YY_BREAK -case 186: -YY_RULE_SETUP -#line 279 "gpu/lolfx-scanner.l" -{ return token::HT_OUTPUTPATCH; } - YY_BREAK -case 187: -YY_RULE_SETUP -#line 280 "gpu/lolfx-scanner.l" -{ return token::HT_PACKOFFSET; } - YY_BREAK -case 188: -YY_RULE_SETUP -#line 281 "gpu/lolfx-scanner.l" -{ return token::HT_PASS; } - YY_BREAK -case 189: -YY_RULE_SETUP -#line 282 "gpu/lolfx-scanner.l" -{ return token::HT_PIXELFRAGMENT; } - YY_BREAK -case 190: -YY_RULE_SETUP -#line 283 "gpu/lolfx-scanner.l" -{ return token::HT_PIXELSHADER; } - YY_BREAK -case 191: -YY_RULE_SETUP -#line 284 "gpu/lolfx-scanner.l" -{ return token::HT_POINT; } - YY_BREAK -case 192: -YY_RULE_SETUP -#line 285 "gpu/lolfx-scanner.l" -{ return token::HT_POINTSTREAM; } - YY_BREAK -case 193: -YY_RULE_SETUP -#line 286 "gpu/lolfx-scanner.l" -{ return token::HT_PRECISE; } - YY_BREAK -case 194: -YY_RULE_SETUP -#line 287 "gpu/lolfx-scanner.l" -{ return token::HT_RASTERIZERSTATE; } - YY_BREAK -case 195: -YY_RULE_SETUP -#line 288 "gpu/lolfx-scanner.l" -{ return token::HT_RENDERTARGETVIEW; } - YY_BREAK -case 196: -YY_RULE_SETUP -#line 289 "gpu/lolfx-scanner.l" -{ return token::HT_REGISTER; } - YY_BREAK -case 197: -YY_RULE_SETUP -#line 290 "gpu/lolfx-scanner.l" -{ return token::HT_ROW_MAJOR; } - YY_BREAK -case 198: -YY_RULE_SETUP -#line 291 "gpu/lolfx-scanner.l" -{ return token::HT_RWBUFFER; } - YY_BREAK -case 199: -YY_RULE_SETUP -#line 292 "gpu/lolfx-scanner.l" -{ return token::HT_RWBYTEADDRESSBUFFER; } - YY_BREAK -case 200: -YY_RULE_SETUP -#line 293 "gpu/lolfx-scanner.l" -{ return token::HT_RWSTRUCTUREDBUFFER; } - YY_BREAK -case 201: -YY_RULE_SETUP -#line 294 "gpu/lolfx-scanner.l" -{ return token::HT_RWTEXTURE1D; } - YY_BREAK -case 202: -YY_RULE_SETUP -#line 295 "gpu/lolfx-scanner.l" -{ return token::HT_RWTEXTURE1DARRAY; } - YY_BREAK -case 203: -YY_RULE_SETUP -#line 296 "gpu/lolfx-scanner.l" -{ return token::HT_RWTEXTURE2D; } - YY_BREAK -case 204: -YY_RULE_SETUP -#line 297 "gpu/lolfx-scanner.l" -{ return token::HT_RWTEXTURE2DARRAY; } - YY_BREAK -case 205: -YY_RULE_SETUP -#line 298 "gpu/lolfx-scanner.l" -{ return token::HT_RWTEXTURE3D; } - YY_BREAK -case 206: -YY_RULE_SETUP -#line 299 "gpu/lolfx-scanner.l" -{ return token::HT_SAMPLER; } - YY_BREAK -case 207: -YY_RULE_SETUP -#line 300 "gpu/lolfx-scanner.l" -{ return token::HT_SAMPLER_STATE; } - YY_BREAK -case 208: -YY_RULE_SETUP -#line 301 "gpu/lolfx-scanner.l" -{ return token::HT_SAMPLERSTATE; } - YY_BREAK -case 209: -YY_RULE_SETUP -#line 302 "gpu/lolfx-scanner.l" -{ return token::HT_SAMPLERCOMPARISONSTATE; } - YY_BREAK -case 210: -YY_RULE_SETUP -#line 303 "gpu/lolfx-scanner.l" -{ return token::HT_SHARED; } - YY_BREAK -case 211: -YY_RULE_SETUP -#line 304 "gpu/lolfx-scanner.l" -{ return token::HT_SNORM; } - YY_BREAK -case 212: -YY_RULE_SETUP -#line 305 "gpu/lolfx-scanner.l" -{ return token::HT_STATEBLOCK; } - YY_BREAK -case 213: -YY_RULE_SETUP -#line 306 "gpu/lolfx-scanner.l" -{ return token::HT_STATEBLOCK_STATE; } - YY_BREAK -case 214: -YY_RULE_SETUP -#line 307 "gpu/lolfx-scanner.l" -{ return token::HT_STATIC; } - YY_BREAK -case 215: -YY_RULE_SETUP -#line 308 "gpu/lolfx-scanner.l" -{ return token::HT_STRING; } - YY_BREAK -case 216: -YY_RULE_SETUP -#line 309 "gpu/lolfx-scanner.l" -{ return token::HT_STRUCTUREDBUFFER; } - YY_BREAK -case 217: -YY_RULE_SETUP -#line 310 "gpu/lolfx-scanner.l" -{ return token::HT_TBUFFER; } - YY_BREAK -case 218: -YY_RULE_SETUP -#line 311 "gpu/lolfx-scanner.l" -{ return token::HT_TECHNIQUE; } - YY_BREAK -case 219: -YY_RULE_SETUP -#line 312 "gpu/lolfx-scanner.l" -{ return token::HT_TECHNIQUE10; } - YY_BREAK -case 220: -YY_RULE_SETUP -#line 313 "gpu/lolfx-scanner.l" -{ return token::HT_TECHNIQUE11XZ; } - YY_BREAK -case 221: -YY_RULE_SETUP -#line 314 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE; } - YY_BREAK -case 222: -YY_RULE_SETUP -#line 315 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE1D; } - YY_BREAK -case 223: -YY_RULE_SETUP -#line 316 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE1DARRAY; } - YY_BREAK -case 224: -YY_RULE_SETUP -#line 317 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE2D; } - YY_BREAK -case 225: -YY_RULE_SETUP -#line 318 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE2DARRAY; } - YY_BREAK -case 226: -YY_RULE_SETUP -#line 319 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE2DMS; } - YY_BREAK -case 227: -YY_RULE_SETUP -#line 320 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE2DMSARRAY; } - YY_BREAK -case 228: -YY_RULE_SETUP -#line 321 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURE3D; } - YY_BREAK -case 229: -YY_RULE_SETUP -#line 322 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURECUBE; } - YY_BREAK -case 230: -YY_RULE_SETUP -#line 323 "gpu/lolfx-scanner.l" -{ return token::HT_TEXTURECUBEARRAY; } - YY_BREAK -case 231: -YY_RULE_SETUP -#line 324 "gpu/lolfx-scanner.l" -{ return token::HT_TRUE; } - YY_BREAK -case 232: -YY_RULE_SETUP -#line 325 "gpu/lolfx-scanner.l" -{ return token::HT_TYPEDEF; } - YY_BREAK -case 233: -YY_RULE_SETUP -#line 326 "gpu/lolfx-scanner.l" -{ return token::HT_TRIANGLE; } - YY_BREAK -case 234: -YY_RULE_SETUP -#line 327 "gpu/lolfx-scanner.l" -{ return token::HT_TRIANGLEADJ; } - YY_BREAK -case 235: -YY_RULE_SETUP -#line 328 "gpu/lolfx-scanner.l" -{ return token::HT_TRIANGLESTREAM; } - YY_BREAK -case 236: -YY_RULE_SETUP -#line 329 "gpu/lolfx-scanner.l" -{ return token::HT_UNORM; } - YY_BREAK -case 237: -YY_RULE_SETUP -#line 330 "gpu/lolfx-scanner.l" -{ return token::HT_VECTOR; } - YY_BREAK -case 238: -YY_RULE_SETUP -#line 331 "gpu/lolfx-scanner.l" -{ return token::HT_VERTEXFRAGMENT; } - YY_BREAK -case 239: -YY_RULE_SETUP -#line 332 "gpu/lolfx-scanner.l" -{ return token::HT_VERTEXSHADER; } - YY_BREAK -case 240: -YY_RULE_SETUP -#line 333 "gpu/lolfx-scanner.l" -{ return token::HT_VOLATILE; } - YY_BREAK -/* - * HLSL vector types - * TODO: this can probably be factored somehow - */ -case 241: -YY_RULE_SETUP -#line 340 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL1; } - YY_BREAK -case 242: -YY_RULE_SETUP -#line 341 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL1x1; } - YY_BREAK -case 243: -YY_RULE_SETUP -#line 342 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL2x1; } - YY_BREAK -case 244: -YY_RULE_SETUP -#line 343 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL3x1; } - YY_BREAK -case 245: -YY_RULE_SETUP -#line 344 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL4x1; } - YY_BREAK -case 246: -YY_RULE_SETUP -#line 345 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL2; } - YY_BREAK -case 247: -YY_RULE_SETUP -#line 346 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL1x2; } - YY_BREAK -case 248: -YY_RULE_SETUP -#line 347 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL2x2; } - YY_BREAK -case 249: -YY_RULE_SETUP -#line 348 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL3x2; } - YY_BREAK -case 250: -YY_RULE_SETUP -#line 349 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL4x2; } - YY_BREAK -case 251: -YY_RULE_SETUP -#line 350 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL3; } - YY_BREAK -case 252: -YY_RULE_SETUP -#line 351 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL1x3; } - YY_BREAK -case 253: -YY_RULE_SETUP -#line 352 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL2x3; } - YY_BREAK -case 254: -YY_RULE_SETUP -#line 353 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL3x3; } - YY_BREAK -case 255: -YY_RULE_SETUP -#line 354 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL4x3; } - YY_BREAK -case 256: -YY_RULE_SETUP -#line 355 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL4; } - YY_BREAK -case 257: -YY_RULE_SETUP -#line 356 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL1x4; } - YY_BREAK -case 258: -YY_RULE_SETUP -#line 357 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL2x4; } - YY_BREAK -case 259: -YY_RULE_SETUP -#line 358 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL3x4; } - YY_BREAK -case 260: -YY_RULE_SETUP -#line 359 "gpu/lolfx-scanner.l" -{ return token::HT_BOOL4x4; } - YY_BREAK -case 261: -YY_RULE_SETUP -#line 361 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT1; } - YY_BREAK -case 262: -YY_RULE_SETUP -#line 362 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT1x1; } - YY_BREAK -case 263: -YY_RULE_SETUP -#line 363 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT2x1; } - YY_BREAK -case 264: -YY_RULE_SETUP -#line 364 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT3x1; } - YY_BREAK -case 265: -YY_RULE_SETUP -#line 365 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT4x1; } - YY_BREAK -case 266: -YY_RULE_SETUP -#line 366 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT2; } - YY_BREAK -case 267: -YY_RULE_SETUP -#line 367 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT1x2; } - YY_BREAK -case 268: -YY_RULE_SETUP -#line 368 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT2x2; } - YY_BREAK -case 269: -YY_RULE_SETUP -#line 369 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT3x2; } - YY_BREAK -case 270: -YY_RULE_SETUP -#line 370 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT4x2; } - YY_BREAK -case 271: -YY_RULE_SETUP -#line 371 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT3; } - YY_BREAK -case 272: -YY_RULE_SETUP -#line 372 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT1x3; } - YY_BREAK -case 273: -YY_RULE_SETUP -#line 373 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT2x3; } - YY_BREAK -case 274: -YY_RULE_SETUP -#line 374 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT3x3; } - YY_BREAK -case 275: -YY_RULE_SETUP -#line 375 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT4x3; } - YY_BREAK -case 276: -YY_RULE_SETUP -#line 376 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT4; } - YY_BREAK -case 277: -YY_RULE_SETUP -#line 377 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT1x4; } - YY_BREAK -case 278: -YY_RULE_SETUP -#line 378 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT2x4; } - YY_BREAK -case 279: -YY_RULE_SETUP -#line 379 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT3x4; } - YY_BREAK -case 280: -YY_RULE_SETUP -#line 380 "gpu/lolfx-scanner.l" -{ return token::HT_FLOAT4x4; } - YY_BREAK -case 281: -YY_RULE_SETUP -#line 382 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE1; } - YY_BREAK -case 282: -YY_RULE_SETUP -#line 383 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE1x1; } - YY_BREAK -case 283: -YY_RULE_SETUP -#line 384 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE2x1; } - YY_BREAK -case 284: -YY_RULE_SETUP -#line 385 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE3x1; } - YY_BREAK -case 285: -YY_RULE_SETUP -#line 386 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE4x1; } - YY_BREAK -case 286: -YY_RULE_SETUP -#line 387 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE2; } - YY_BREAK -case 287: -YY_RULE_SETUP -#line 388 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE1x2; } - YY_BREAK -case 288: -YY_RULE_SETUP -#line 389 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE2x2; } - YY_BREAK -case 289: -YY_RULE_SETUP -#line 390 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE3x2; } - YY_BREAK -case 290: -YY_RULE_SETUP -#line 391 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE4x2; } - YY_BREAK -case 291: -YY_RULE_SETUP -#line 392 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE3; } - YY_BREAK -case 292: -YY_RULE_SETUP -#line 393 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE1x3; } - YY_BREAK -case 293: -YY_RULE_SETUP -#line 394 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE2x3; } - YY_BREAK -case 294: -YY_RULE_SETUP -#line 395 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE3x3; } - YY_BREAK -case 295: -YY_RULE_SETUP -#line 396 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE4x3; } - YY_BREAK -case 296: -YY_RULE_SETUP -#line 397 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE4; } - YY_BREAK -case 297: -YY_RULE_SETUP -#line 398 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE1x4; } - YY_BREAK -case 298: -YY_RULE_SETUP -#line 399 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE2x4; } - YY_BREAK -case 299: -YY_RULE_SETUP -#line 400 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE3x4; } - YY_BREAK -case 300: -YY_RULE_SETUP -#line 401 "gpu/lolfx-scanner.l" -{ return token::HT_DOUBLE4x4; } - YY_BREAK -case 301: -YY_RULE_SETUP -#line 403 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD1; } - YY_BREAK -case 302: -YY_RULE_SETUP -#line 404 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD1x1; } - YY_BREAK -case 303: -YY_RULE_SETUP -#line 405 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD2x1; } - YY_BREAK -case 304: -YY_RULE_SETUP -#line 406 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD3x1; } - YY_BREAK -case 305: -YY_RULE_SETUP -#line 407 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD4x1; } - YY_BREAK -case 306: -YY_RULE_SETUP -#line 408 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD2; } - YY_BREAK -case 307: -YY_RULE_SETUP -#line 409 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD1x2; } - YY_BREAK -case 308: -YY_RULE_SETUP -#line 410 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD2x2; } - YY_BREAK -case 309: -YY_RULE_SETUP -#line 411 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD3x2; } - YY_BREAK -case 310: -YY_RULE_SETUP -#line 412 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD4x2; } - YY_BREAK -case 311: -YY_RULE_SETUP -#line 413 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD3; } - YY_BREAK -case 312: -YY_RULE_SETUP -#line 414 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD1x3; } - YY_BREAK -case 313: -YY_RULE_SETUP -#line 415 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD2x3; } - YY_BREAK -case 314: -YY_RULE_SETUP -#line 416 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD3x3; } - YY_BREAK -case 315: -YY_RULE_SETUP -#line 417 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD4x3; } - YY_BREAK -case 316: -YY_RULE_SETUP -#line 418 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD4; } - YY_BREAK -case 317: -YY_RULE_SETUP -#line 419 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD1x4; } - YY_BREAK -case 318: -YY_RULE_SETUP -#line 420 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD2x4; } - YY_BREAK -case 319: -YY_RULE_SETUP -#line 421 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD3x4; } - YY_BREAK -case 320: -YY_RULE_SETUP -#line 422 "gpu/lolfx-scanner.l" -{ return token::HT_DWORD4x4; } - YY_BREAK -case 321: -YY_RULE_SETUP -#line 424 "gpu/lolfx-scanner.l" -{ return token::HT_INT1; } - YY_BREAK -case 322: -YY_RULE_SETUP -#line 425 "gpu/lolfx-scanner.l" -{ return token::HT_INT1x1; } - YY_BREAK -case 323: -YY_RULE_SETUP -#line 426 "gpu/lolfx-scanner.l" -{ return token::HT_INT2x1; } - YY_BREAK -case 324: -YY_RULE_SETUP -#line 427 "gpu/lolfx-scanner.l" -{ return token::HT_INT3x1; } - YY_BREAK -case 325: -YY_RULE_SETUP -#line 428 "gpu/lolfx-scanner.l" -{ return token::HT_INT4x1; } - YY_BREAK -case 326: -YY_RULE_SETUP -#line 429 "gpu/lolfx-scanner.l" -{ return token::HT_INT2; } - YY_BREAK -case 327: -YY_RULE_SETUP -#line 430 "gpu/lolfx-scanner.l" -{ return token::HT_INT1x2; } - YY_BREAK -case 328: -YY_RULE_SETUP -#line 431 "gpu/lolfx-scanner.l" -{ return token::HT_INT2x2; } - YY_BREAK -case 329: -YY_RULE_SETUP -#line 432 "gpu/lolfx-scanner.l" -{ return token::HT_INT3x2; } - YY_BREAK -case 330: -YY_RULE_SETUP -#line 433 "gpu/lolfx-scanner.l" -{ return token::HT_INT4x2; } - YY_BREAK -case 331: -YY_RULE_SETUP -#line 434 "gpu/lolfx-scanner.l" -{ return token::HT_INT3; } - YY_BREAK -case 332: -YY_RULE_SETUP -#line 435 "gpu/lolfx-scanner.l" -{ return token::HT_INT1x3; } - YY_BREAK -case 333: -YY_RULE_SETUP -#line 436 "gpu/lolfx-scanner.l" -{ return token::HT_INT2x3; } - YY_BREAK -case 334: -YY_RULE_SETUP -#line 437 "gpu/lolfx-scanner.l" -{ return token::HT_INT3x3; } - YY_BREAK -case 335: -YY_RULE_SETUP -#line 438 "gpu/lolfx-scanner.l" -{ return token::HT_INT4x3; } - YY_BREAK -case 336: -YY_RULE_SETUP -#line 439 "gpu/lolfx-scanner.l" -{ return token::HT_INT4; } - YY_BREAK -case 337: -YY_RULE_SETUP -#line 440 "gpu/lolfx-scanner.l" -{ return token::HT_INT1x4; } - YY_BREAK -case 338: -YY_RULE_SETUP -#line 441 "gpu/lolfx-scanner.l" -{ return token::HT_INT2x4; } - YY_BREAK -case 339: -YY_RULE_SETUP -#line 442 "gpu/lolfx-scanner.l" -{ return token::HT_INT3x4; } - YY_BREAK -case 340: -YY_RULE_SETUP -#line 443 "gpu/lolfx-scanner.l" -{ return token::HT_INT4x4; } - YY_BREAK -case 341: -YY_RULE_SETUP -#line 445 "gpu/lolfx-scanner.l" -{ return token::HT_UINT1; } - YY_BREAK -case 342: -YY_RULE_SETUP -#line 446 "gpu/lolfx-scanner.l" -{ return token::HT_UINT1x1; } - YY_BREAK -case 343: -YY_RULE_SETUP -#line 447 "gpu/lolfx-scanner.l" -{ return token::HT_UINT2x1; } - YY_BREAK -case 344: -YY_RULE_SETUP -#line 448 "gpu/lolfx-scanner.l" -{ return token::HT_UINT3x1; } - YY_BREAK -case 345: -YY_RULE_SETUP -#line 449 "gpu/lolfx-scanner.l" -{ return token::HT_UINT4x1; } - YY_BREAK -case 346: -YY_RULE_SETUP -#line 450 "gpu/lolfx-scanner.l" -{ return token::HT_UINT2; } - YY_BREAK -case 347: -YY_RULE_SETUP -#line 451 "gpu/lolfx-scanner.l" -{ return token::HT_UINT1x2; } - YY_BREAK -case 348: -YY_RULE_SETUP -#line 452 "gpu/lolfx-scanner.l" -{ return token::HT_UINT2x2; } - YY_BREAK -case 349: -YY_RULE_SETUP -#line 453 "gpu/lolfx-scanner.l" -{ return token::HT_UINT3x2; } - YY_BREAK -case 350: -YY_RULE_SETUP -#line 454 "gpu/lolfx-scanner.l" -{ return token::HT_UINT4x2; } - YY_BREAK -case 351: -YY_RULE_SETUP -#line 455 "gpu/lolfx-scanner.l" -{ return token::HT_UINT3; } - YY_BREAK -case 352: -YY_RULE_SETUP -#line 456 "gpu/lolfx-scanner.l" -{ return token::HT_UINT1x3; } - YY_BREAK -case 353: -YY_RULE_SETUP -#line 457 "gpu/lolfx-scanner.l" -{ return token::HT_UINT2x3; } - YY_BREAK -case 354: -YY_RULE_SETUP -#line 458 "gpu/lolfx-scanner.l" -{ return token::HT_UINT3x3; } - YY_BREAK -case 355: -YY_RULE_SETUP -#line 459 "gpu/lolfx-scanner.l" -{ return token::HT_UINT4x3; } - YY_BREAK -case 356: -YY_RULE_SETUP -#line 460 "gpu/lolfx-scanner.l" -{ return token::HT_UINT4; } - YY_BREAK -case 357: -YY_RULE_SETUP -#line 461 "gpu/lolfx-scanner.l" -{ return token::HT_UINT1x4; } - YY_BREAK -case 358: -YY_RULE_SETUP -#line 462 "gpu/lolfx-scanner.l" -{ return token::HT_UINT2x4; } - YY_BREAK -case 359: -YY_RULE_SETUP -#line 463 "gpu/lolfx-scanner.l" -{ return token::HT_UINT3x4; } - YY_BREAK -case 360: -YY_RULE_SETUP -#line 464 "gpu/lolfx-scanner.l" -{ return token::HT_UINT4x4; } - YY_BREAK -/* - * HLSL preprocessor directives - * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb943993%28v=vs.85%29.aspx - */ -case 361: -YY_RULE_SETUP -#line 471 "gpu/lolfx-scanner.l" -{ - /* FIXME: this is very, very limited */ - char const *tmp = strstr(yytext, "define") + 6; - while (*tmp == ' ' || *tmp == '\n') - tmp++; - if (*tmp == '\0') - return token::PREPROCESSOR_DEFINE; - char const *tmp2 = tmp; - while (*tmp != ' ' && *tmp != '\n' && *tmp != '\0') - tmp++; - String key(tmp2, (int)(tmp - tmp2)); - while (*tmp == ' ' || *tmp == '\n') - tmp++; - String val(*tmp ? tmp : "1"); - - Log::Debug("new macro: ‘%s’ = ‘%s’\n", key.C(), val.C()); - m_pp_defines[key] = val; -} - YY_BREAK -case 362: -YY_RULE_SETUP -#line 490 "gpu/lolfx-scanner.l" -{ - if (m_pp_stack.Count() <= 1) - return token::PREPROCESSOR_ELIF; - m_pp_stack.Last() = BlockIsForeverFalse; - BEGIN(PREPROCESSOR_COMMENT); -} - YY_BREAK -case 363: -YY_RULE_SETUP -#line 497 "gpu/lolfx-scanner.l" -{ - if (m_pp_stack.Count() <= 1) - return token::PREPROCESSOR_ELSE; - m_pp_stack.Last() = BlockIsForeverFalse; - BEGIN(PREPROCESSOR_COMMENT); -} - YY_BREAK -case 364: -YY_RULE_SETUP -#line 504 "gpu/lolfx-scanner.l" -{ - if (m_pp_stack.Count() <= 1) - return token::PREPROCESSOR_ENDIF; - m_pp_stack.Pop(); -} - YY_BREAK -case 365: -YY_RULE_SETUP -#line 510 "gpu/lolfx-scanner.l" -{ return token::PREPROCESSOR_ERROR; } - YY_BREAK -case 366: -YY_RULE_SETUP -#line 512 "gpu/lolfx-scanner.l" -{ - if (IsExpressionTrue(strstr(yytext, "if") + 2)) - { - m_pp_stack.Push(BlockIsTrue); - } - else - { - m_pp_stack.Push(BlockIsFalse); - BEGIN(PREPROCESSOR_COMMENT); - } -} - YY_BREAK -case 367: -YY_RULE_SETUP -#line 524 "gpu/lolfx-scanner.l" -{ - /* FIXME: this is very, very limited */ - char const *tmp = strstr(yytext, "ifdef") + 5; - while (*tmp == ' ' || *tmp == '\n') - tmp++; - if (*tmp == '\0') - return token::PREPROCESSOR_IFDEF; - char const *tmp2 = tmp; - while (*tmp != ' ' && *tmp != '\n' && *tmp != '\0') - tmp++; - String key(tmp2, (int)(tmp - tmp2)); - if (m_pp_defines.has_key(key)) - { - m_pp_stack.Push(BlockIsTrue); - } - else - { - m_pp_stack.Push(BlockIsFalse); - BEGIN(PREPROCESSOR_COMMENT); - } -} - YY_BREAK -case 368: -YY_RULE_SETUP -#line 546 "gpu/lolfx-scanner.l" -{ - /* FIXME: this is very, very limited */ - char const *tmp = strstr(yytext, "ifndef") + 6; - while (*tmp == ' ' || *tmp == '\n') - tmp++; - if (*tmp == '\0') - return token::PREPROCESSOR_IFDEF; - char const *tmp2 = tmp; - while (*tmp != ' ' && *tmp != '\n' && *tmp != '\0') - tmp++; - String key(tmp2, (int)(tmp - tmp2)); - if (m_pp_defines.has_key(key)) - { - m_pp_stack.Push(BlockIsFalse); - BEGIN(PREPROCESSOR_COMMENT); - } - else - { - m_pp_stack.Push(BlockIsTrue); - } -} - YY_BREAK -case 369: -YY_RULE_SETUP -#line 568 "gpu/lolfx-scanner.l" -{ return token::PREPROCESSOR_INCLUDE; } - YY_BREAK -case 370: -YY_RULE_SETUP -#line 570 "gpu/lolfx-scanner.l" -{ /* ignore for now */ } - YY_BREAK -case 371: -YY_RULE_SETUP -#line 572 "gpu/lolfx-scanner.l" -{ /* ignore for now */ } - YY_BREAK -case 372: -YY_RULE_SETUP -#line 574 "gpu/lolfx-scanner.l" -{ - /* FIXME: this is very, very limited */ - char const *tmp = strstr(yytext, "undef") + 5; - while (*tmp == ' ' || *tmp == '\n') - tmp++; - if (*tmp == '\0') - return token::PREPROCESSOR_UNDEF; - char const *tmp2 = tmp; - while (*tmp != ' ' && *tmp != '\n' && *tmp != '\0') - tmp++; - String key(tmp2, (int)(tmp - tmp2)); - - Log::Debug("undef macro: ‘%s’\n", key.C()); - m_pp_defines.remove(key); -} - YY_BREAK -case 373: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 590 "gpu/lolfx-scanner.l" -{ - m_pp_stack.Push(BlockIsForeverFalse); -} - YY_BREAK -case 374: -YY_RULE_SETUP -#line 593 "gpu/lolfx-scanner.l" -{ - switch (m_pp_stack.Last()) - { - case BlockIsFalse: - m_pp_stack.Last() = BlockIsTrue; - BEGIN(INITIAL); - break; - case BlockIsForeverFalse: - break; - case BlockIsTrue: - m_pp_stack.Last() = BlockIsForeverFalse; - break; - } -} - YY_BREAK -case 375: -YY_RULE_SETUP -#line 607 "gpu/lolfx-scanner.l" -{ - switch (m_pp_stack.Last()) - { - case BlockIsFalse: - if (IsExpressionTrue(strstr(yytext, "elif") + 4)) - { - m_pp_stack.Last() = BlockIsTrue; - BEGIN(INITIAL); - } - break; - case BlockIsForeverFalse: - break; - case BlockIsTrue: - m_pp_stack.Last() = BlockIsForeverFalse; - break; - } -} - YY_BREAK -case 376: -YY_RULE_SETUP -#line 624 "gpu/lolfx-scanner.l" -{ - m_pp_stack.Pop(); - if (m_pp_stack.Last() == BlockIsTrue) - BEGIN(INITIAL); -} - YY_BREAK -case 377: -/* rule 377 can match eol */ -YY_RULE_SETUP -#line 629 "gpu/lolfx-scanner.l" -{ yylloc->lines(1); } - YY_BREAK -case 378: -/* rule 378 can match eol */ -YY_RULE_SETUP -#line 630 "gpu/lolfx-scanner.l" -{ } - YY_BREAK -case 379: -YY_RULE_SETUP -#line 631 "gpu/lolfx-scanner.l" -{ BEGIN(C_COMMENT); } - YY_BREAK -case 380: -YY_RULE_SETUP -#line 632 "gpu/lolfx-scanner.l" -{ } - YY_BREAK -/* - * GLSL preprocessor directives - */ -case 381: -YY_RULE_SETUP -#line 638 "gpu/lolfx-scanner.l" -{ /* ignore for now */ } - YY_BREAK -/* - * HLSL reserved keywords - * Gathered from http://msdn.microsoft.com/en-us/library/windows/desktop/bb509569%28v=vs.85%29.aspx - */ -case 382: -YY_RULE_SETUP -#line 645 "gpu/lolfx-scanner.l" -{ return token::HT_AUTO; } - YY_BREAK -case 383: -YY_RULE_SETUP -#line 646 "gpu/lolfx-scanner.l" -{ return token::HT_CATCH; } - YY_BREAK -case 384: -YY_RULE_SETUP -#line 647 "gpu/lolfx-scanner.l" -{ return token::HT_CHAR; } - YY_BREAK -case 385: -YY_RULE_SETUP -#line 648 "gpu/lolfx-scanner.l" -{ return token::HT_CLASS; } - YY_BREAK -case 386: -YY_RULE_SETUP -#line 649 "gpu/lolfx-scanner.l" -{ return token::HT_CONST_CAST; } - YY_BREAK -case 387: -YY_RULE_SETUP -#line 650 "gpu/lolfx-scanner.l" -{ return token::HT_DELETE; } - YY_BREAK -case 388: -YY_RULE_SETUP -#line 651 "gpu/lolfx-scanner.l" -{ return token::HT_DYNAMIC_CAST; } - YY_BREAK -case 389: -YY_RULE_SETUP -#line 652 "gpu/lolfx-scanner.l" -{ return token::HT_ENUM; } - YY_BREAK -case 390: -YY_RULE_SETUP -#line 653 "gpu/lolfx-scanner.l" -{ return token::HT_EXPLICIT; } - YY_BREAK -case 391: -YY_RULE_SETUP -#line 654 "gpu/lolfx-scanner.l" -{ return token::HT_FRIEND; } - YY_BREAK -case 392: -YY_RULE_SETUP -#line 655 "gpu/lolfx-scanner.l" -{ return token::HT_GOTO; } - YY_BREAK -case 393: -YY_RULE_SETUP -#line 656 "gpu/lolfx-scanner.l" -{ return token::HT_LONG; } - YY_BREAK -case 394: -YY_RULE_SETUP -#line 657 "gpu/lolfx-scanner.l" -{ return token::HT_MUTABLE; } - YY_BREAK -case 395: -YY_RULE_SETUP -#line 658 "gpu/lolfx-scanner.l" -{ return token::HT_NEW; } - YY_BREAK -case 396: -YY_RULE_SETUP -#line 659 "gpu/lolfx-scanner.l" -{ return token::HT_OPERATOR; } - YY_BREAK -case 397: -YY_RULE_SETUP -#line 660 "gpu/lolfx-scanner.l" -{ return token::HT_PRIVATE; } - YY_BREAK -case 398: -YY_RULE_SETUP -#line 661 "gpu/lolfx-scanner.l" -{ return token::HT_PROTECTED; } - YY_BREAK -case 399: -YY_RULE_SETUP -#line 662 "gpu/lolfx-scanner.l" -{ return token::HT_PUBLIC; } - YY_BREAK -case 400: -YY_RULE_SETUP -#line 663 "gpu/lolfx-scanner.l" -{ return token::HT_REINTERPRET_CAST; } - YY_BREAK -case 401: -YY_RULE_SETUP -#line 664 "gpu/lolfx-scanner.l" -{ return token::HT_SHORT; } - YY_BREAK -case 402: -YY_RULE_SETUP -#line 665 "gpu/lolfx-scanner.l" -{ return token::HT_SIGNED; } - YY_BREAK -case 403: -YY_RULE_SETUP -#line 666 "gpu/lolfx-scanner.l" -{ return token::HT_SIZEOF; } - YY_BREAK -case 404: -YY_RULE_SETUP -#line 667 "gpu/lolfx-scanner.l" -{ return token::HT_STATIC_CAST; } - YY_BREAK -case 405: -YY_RULE_SETUP -#line 668 "gpu/lolfx-scanner.l" -{ return token::HT_TEMPLATE; } - YY_BREAK -case 406: -YY_RULE_SETUP -#line 669 "gpu/lolfx-scanner.l" -{ return token::HT_THIS; } - YY_BREAK -case 407: -YY_RULE_SETUP -#line 670 "gpu/lolfx-scanner.l" -{ return token::HT_THROW; } - YY_BREAK -case 408: -YY_RULE_SETUP -#line 671 "gpu/lolfx-scanner.l" -{ return token::HT_TRY; } - YY_BREAK -case 409: -YY_RULE_SETUP -#line 672 "gpu/lolfx-scanner.l" -{ return token::HT_TYPENAME; } - YY_BREAK -case 410: -YY_RULE_SETUP -#line 673 "gpu/lolfx-scanner.l" -{ return token::HT_UNION; } - YY_BREAK -case 411: -YY_RULE_SETUP -#line 674 "gpu/lolfx-scanner.l" -{ return token::HT_UNSIGNED; } - YY_BREAK -case 412: -YY_RULE_SETUP -#line 675 "gpu/lolfx-scanner.l" -{ return token::HT_USING; } - YY_BREAK -case 413: -YY_RULE_SETUP -#line 676 "gpu/lolfx-scanner.l" -{ return token::HT_VIRTUAL; } - YY_BREAK -/* - * Various tokens - */ -case 414: -YY_RULE_SETUP -#line 682 "gpu/lolfx-scanner.l" -{ return token::T_INC; } - YY_BREAK -case 415: -YY_RULE_SETUP -#line 683 "gpu/lolfx-scanner.l" -{ return token::T_DEC; } - YY_BREAK -case 416: -YY_RULE_SETUP -#line 684 "gpu/lolfx-scanner.l" -{ return token::T_LE; } - YY_BREAK -case 417: -YY_RULE_SETUP -#line 685 "gpu/lolfx-scanner.l" -{ return token::T_GE; } - YY_BREAK -case 418: -YY_RULE_SETUP -#line 686 "gpu/lolfx-scanner.l" -{ return token::T_EQ; } - YY_BREAK -case 419: -YY_RULE_SETUP -#line 687 "gpu/lolfx-scanner.l" -{ return token::T_NE; } - YY_BREAK -case 420: -YY_RULE_SETUP -#line 688 "gpu/lolfx-scanner.l" -{ return token::T_LEFT; } - YY_BREAK -case 421: -YY_RULE_SETUP -#line 689 "gpu/lolfx-scanner.l" -{ return token::T_RIGHT; } - YY_BREAK -case 422: -YY_RULE_SETUP -#line 690 "gpu/lolfx-scanner.l" -{ return token::T_AND; } - YY_BREAK -case 423: -YY_RULE_SETUP -#line 691 "gpu/lolfx-scanner.l" -{ return token::T_OR; } - YY_BREAK -case 424: -YY_RULE_SETUP -#line 692 "gpu/lolfx-scanner.l" -{ return token::T_XOR; } - YY_BREAK -case 425: -YY_RULE_SETUP -#line 694 "gpu/lolfx-scanner.l" -{ return token::T_MULEQ; } - YY_BREAK -case 426: -YY_RULE_SETUP -#line 695 "gpu/lolfx-scanner.l" -{ return token::T_DIVEQ; } - YY_BREAK -case 427: -YY_RULE_SETUP -#line 696 "gpu/lolfx-scanner.l" -{ return token::T_MODEQ; } - YY_BREAK -case 428: -YY_RULE_SETUP -#line 697 "gpu/lolfx-scanner.l" -{ return token::T_ADDEQ; } - YY_BREAK -case 429: -YY_RULE_SETUP -#line 698 "gpu/lolfx-scanner.l" -{ return token::T_SUBEQ; } - YY_BREAK -case 430: -YY_RULE_SETUP -#line 699 "gpu/lolfx-scanner.l" -{ return token::T_LEFTEQ; } - YY_BREAK -case 431: -YY_RULE_SETUP -#line 700 "gpu/lolfx-scanner.l" -{ return token::T_RIGHTEQ; } - YY_BREAK -case 432: -YY_RULE_SETUP -#line 701 "gpu/lolfx-scanner.l" -{ return token::T_ANDEQ; } - YY_BREAK -case 433: -YY_RULE_SETUP -#line 702 "gpu/lolfx-scanner.l" -{ return token::T_XOREQ; } - YY_BREAK -case 434: -YY_RULE_SETUP -#line 703 "gpu/lolfx-scanner.l" -{ return token::T_OREQ; } - YY_BREAK -case 435: -YY_RULE_SETUP -#line 705 "gpu/lolfx-scanner.l" -{ - yylval->fval = std::atof(yytext); - return token::FLOATCONSTANT; -} - YY_BREAK -case 436: -YY_RULE_SETUP -#line 709 "gpu/lolfx-scanner.l" -{ - yylval->uval = std::atoi(yytext); - return token::UINTCONSTANT; -} - YY_BREAK -case 437: -YY_RULE_SETUP -#line 713 "gpu/lolfx-scanner.l" -{ - yylval->ival = std::atoi(yytext); - return token::INTCONSTANT; -} - YY_BREAK -case 438: -YY_RULE_SETUP -#line 718 "gpu/lolfx-scanner.l" -{ - /* Copy token for now */ - yylval->sval = strdup(yytext); - return token::FIELDSELECTION; -} - YY_BREAK -case 439: -YY_RULE_SETUP -#line 724 "gpu/lolfx-scanner.l" -{ - /* Copy token for now */ - yylval->sval = strdup(yytext); - return token::IDENTIFIER; -} - YY_BREAK -case 440: -YY_RULE_SETUP -#line 730 "gpu/lolfx-scanner.l" -{ /* ignore whitespace */ } - YY_BREAK -case 441: -/* rule 441 can match eol */ -YY_RULE_SETUP -#line 731 "gpu/lolfx-scanner.l" -{ yylloc->lines(1); } - YY_BREAK -case 442: -YY_RULE_SETUP -#line 732 "gpu/lolfx-scanner.l" -{ return (token_type)*yytext; /* accept all characters */ } - YY_BREAK -/* - * Ignore C comments - */ -case 443: -YY_RULE_SETUP -#line 738 "gpu/lolfx-scanner.l" -{ BEGIN(C_COMMENT); } - YY_BREAK -case 444: -YY_RULE_SETUP -#line 739 "gpu/lolfx-scanner.l" -{ } - YY_BREAK -case 445: -/* rule 445 can match eol */ -YY_RULE_SETUP -#line 740 "gpu/lolfx-scanner.l" -{ yylloc->lines(1); } - YY_BREAK -case 446: -YY_RULE_SETUP -#line 741 "gpu/lolfx-scanner.l" -{ } - YY_BREAK -case 447: -YY_RULE_SETUP -#line 742 "gpu/lolfx-scanner.l" -{ - if (m_pp_stack.Last() == BlockIsTrue) - BEGIN(INITIAL); - else - BEGIN(PREPROCESSOR_COMMENT); -} - YY_BREAK -/* - * Ignore C++ comments - */ -case 448: -YY_RULE_SETUP -#line 753 "gpu/lolfx-scanner.l" -{ BEGIN(CPP_COMMENT); } - YY_BREAK -case 449: -/* rule 449 can match eol */ -YY_RULE_SETUP -#line 754 "gpu/lolfx-scanner.l" -{ yylloc->lines(1); BEGIN(INITIAL); } - YY_BREAK -case 450: -YY_RULE_SETUP -#line 755 "gpu/lolfx-scanner.l" -{ } - YY_BREAK -case 451: -YY_RULE_SETUP -#line 757 "gpu/lolfx-scanner.l" -ECHO; - YY_BREAK -#line 4356 "generated/lolfx-scanner.cpp" -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(C_COMMENT): -case YY_STATE_EOF(CPP_COMMENT): -case YY_STATE_EOF(PREPROCESSOR_COMMENT): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); - YY_RESTORE_YY_MORE_OFFSET - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_END_OF_FILE: - { - (yy_did_buffer_switch_on_eof) = 0; - - if ( yywrap( ) ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -} /* end of yylex */ - -/* The contents of this function are C++ specific, so the () macro is not used. - */ -yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) -{ - yyin = arg_yyin; - yyout = arg_yyout; - yy_c_buf_p = 0; - yy_init = 0; - yy_start = 0; - yy_flex_debug = 0; - yylineno = 1; // this will only get updated if %option yylineno - - yy_did_buffer_switch_on_eof = 0; - - yy_looking_for_trail_begin = 0; - yy_more_flag = 0; - yy_more_len = 0; - yy_more_offset = yy_prev_more_offset = 0; - - yy_start_stack_ptr = yy_start_stack_depth = 0; - yy_start_stack = NULL; - - yy_buffer_stack = 0; - yy_buffer_stack_top = 0; - yy_buffer_stack_max = 0; - - yy_state_buf = 0; - -} - -/* The contents of this function are C++ specific, so the () macro is not used. - */ -yyFlexLexer::~yyFlexLexer() -{ - delete [] yy_state_buf; - LolFxfree(yy_start_stack ); - yy_delete_buffer( YY_CURRENT_BUFFER ); - LolFxfree(yy_buffer_stack ); -} - -/* The contents of this function are C++ specific, so the () macro is not used. - */ -void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out ) -{ - if ( new_in ) - { - yy_delete_buffer( YY_CURRENT_BUFFER ); - yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) ); - } - - if ( new_out ) - yyout = new_out; -} - -#ifdef YY_INTERACTIVE -int yyFlexLexer::LexerInput( char* buf, int /* max_size */ ) -#else -int yyFlexLexer::LexerInput( char* buf, int max_size ) -#endif -{ - if ( yyin->eof() || yyin->fail() ) - return 0; - -#ifdef YY_INTERACTIVE - yyin->get( buf[0] ); - - if ( yyin->eof() ) - return 0; - - if ( yyin->bad() ) - return -1; - - return 1; - -#else - (void) yyin->read( buf, max_size ); - - if ( yyin->bad() ) - return -1; - else - return yyin->gcount(); -#endif -} - -void yyFlexLexer::LexerOutput( const char* buf, int size ) -{ - (void) yyout->write( buf, size ); -} - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ -int yyFlexLexer::yy_get_next_buffer() -{ - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; - int ret_val; - - if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; - - else - { - int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; - - int yy_c_buf_p_offset = - (int) ((yy_c_buf_p) - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - LolFxrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - - number_to_move - 1; - - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - if ( (yy_n_chars) == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { - /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) LolFxrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; - - return ret_val; -} - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - - yy_state_type yyFlexLexer::yy_get_previous_state() -{ - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = (yy_start); - yy_current_state += YY_AT_BOL(); - - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1670 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; -} - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state ) -{ - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); - - register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1670 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1669); - - return yy_is_jam ? 0 : yy_current_state; -} - - void yyFlexLexer::yyunput( int c, register char* yy_bp) -{ - register char *yy_cp; - - yy_cp = (yy_c_buf_p); - - /* undo effects of setting up yytext */ - *yy_cp = (yy_hold_char); - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; - - while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - (yytext_ptr) = yy_bp; - (yy_hold_char) = *yy_cp; - (yy_c_buf_p) = yy_cp; -} - - int yyFlexLexer::yyinput() -{ - int c; - - *(yy_c_buf_p) = (yy_hold_char); - - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; - - else - { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); - - switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /*FALLTHROUGH*/ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap( ) ) - return EOF; - - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; - break; - } - } - } - - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ - (yy_hold_char) = *++(yy_c_buf_p); - - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); - - return c; -} - -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ - void yyFlexLexer::yyrestart( std::istream* input_file ) -{ - - if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer( yyin, YY_BUF_SIZE ); - } - - yy_init_buffer( YY_CURRENT_BUFFER, input_file ); - yy_load_buffer_state( ); -} - -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ - void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -{ - - /* TODO. We should be able to replace this entire function body - * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); - */ - yyensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) - return; - - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - (yy_did_buffer_switch_on_eof) = 1; -} - - void yyFlexLexer::yy_load_buffer_state() -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} - -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ - YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size ) -{ - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) LolFxalloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) LolFxalloc(b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; -} - -/** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() - * - */ - void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b ) -{ - - if ( ! b ) - return; - - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - LolFxfree((void *) b->yy_ch_buf ); - - LolFxfree((void *) b ); -} - -extern "C" int isatty (int ); - -/* Initializes or reinitializes a buffer. - * This function is sometimes called more than once on the same buffer, - * such as during a yyrestart() or at EOF. - */ - void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file ) - -{ - int oerrno = errno; - - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - - /* If b is the current buffer, then yy_init_buffer was _probably_ - * called from yyrestart() or through yy_get_next_buffer. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } - - b->yy_is_interactive = 0; - errno = oerrno; -} - -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ - void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b ) -{ - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); -} - -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer) -{ - if (new_buffer == NULL) - return; - - yyensure_buffer_stack(); - - /* This block is copied from yy_switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} - -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -void yyFlexLexer::yypop_buffer_state (void) -{ - if (!YY_CURRENT_BUFFER) - return; - - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - if ((yy_buffer_stack_top) > 0) - --(yy_buffer_stack_top); - - if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; - } -} - -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -void yyFlexLexer::yyensure_buffer_stack(void) -{ - int num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * scanner will even need a stack. We use 2 instead of 1 to avoid an - * immediate realloc on the next call. - */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)LolFxalloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; - (yy_buffer_stack_top) = 0; - return; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; - - num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)LolFxrealloc - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} - - void yyFlexLexer::yy_push_state( int new_state ) -{ - if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) - { - yy_size_t new_size; - - (yy_start_stack_depth) += YY_START_STACK_INCR; - new_size = (yy_start_stack_depth) * sizeof( int ); - - if ( ! (yy_start_stack) ) - (yy_start_stack) = (int *) LolFxalloc(new_size ); - - else - (yy_start_stack) = (int *) LolFxrealloc((void *) (yy_start_stack),new_size ); - - if ( ! (yy_start_stack) ) - YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); - } - - (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; - - BEGIN(new_state); -} - - void yyFlexLexer::yy_pop_state() -{ - if ( --(yy_start_stack_ptr) < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); -} - - int yyFlexLexer::yy_top_state() -{ - return (yy_start_stack)[(yy_start_stack_ptr) - 1]; -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -void yyFlexLexer::LexerError( yyconst char msg[] ) -{ - std::cerr << msg << std::endl; - exit( YY_EXIT_FAILURE ); -} - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ - } \ - while ( 0 ) - -/* Accessor methods (get/set functions) to struct members. */ - -/* - * Internal utility routines. - */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; -} -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; -} -#endif - -void *LolFxalloc (yy_size_t size ) -{ - return (void *) malloc( size ); -} - -void *LolFxrealloc (void * ptr, yy_size_t size ) -{ - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); -} - -void LolFxfree (void * ptr ) -{ - free( (char *) ptr ); /* see LolFxrealloc() for (char *) cast */ -} - -#define YYTABLES_NAME "yytables" - -#line 757 "gpu/lolfx-scanner.l" - - - -lol::LolFxScanner::LolFxScanner(char const *command) - : LolFxFlexLexer(0, 0), - m_input(command) -{ -} - -lol::LolFxScanner::~LolFxScanner() -{ -} - -int lol::LolFxScanner::LexerInput(char* buf, int max_size) -{ - buf[0] = m_input[0]; - if (buf[0]) - ++m_input; - return buf[0] ? 1 : 0; -} - -bool lol::LolFxScanner::IsExpressionTrue(char const *buf) -{ - /* FIXME: this is really too limited */ - return std::atoi(buf) != 0; -} - -#ifdef yylex -#undef yylex -#endif -int LolFxFlexLexer::yylex() -{ - std::cerr << "in LolFxFlexLexer::yylex() !" << std::endl; - return 0; -} - -int LolFxFlexLexer::yywrap() -{ - return 1; -} - - diff --git a/src/generated/position.hh b/src/generated/position.hh deleted file mode 100644 index 984c21a6..00000000 --- a/src/generated/position.hh +++ /dev/null @@ -1,161 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Positions for Bison parsers in C++ - - Copyright (C) 2002-2007, 2009-2010 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 . */ - -/* 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. */ - -/** - ** \file position.hh - ** Define the lol::position class. - */ - -#ifndef BISON_POSITION_HH -# define BISON_POSITION_HH - -# include -# include -# include - - -namespace lol { - -/* Line 37 of location.cc */ -#line 50 "generated/position.hh" - /// Abstract a position. - class position - { - public: - - /// Construct a position. - position () - : filename (0), line (1), column (1) - { - } - - - /// Initialization. - inline void initialize (std::string* fn) - { - filename = fn; - line = 1; - column = 1; - } - - /** \name Line and Column related manipulators - ** \{ */ - public: - /// (line related) Advance to the COUNT next lines. - inline void lines (int count = 1) - { - column = 1; - line += count; - } - - /// (column related) Advance to the COUNT next columns. - inline void columns (int count = 1) - { - column = std::max (1u, column + count); - } - /** \} */ - - public: - /// File name to which this position refers. - std::string* filename; - /// Current line number. - unsigned int line; - /// Current column number. - unsigned int column; - }; - - /// Add and assign a position. - inline const position& - operator+= (position& res, const int width) - { - res.columns (width); - return res; - } - - /// Add two position objects. - inline const position - operator+ (const position& begin, const int width) - { - position res = begin; - return res += width; - } - - /// Add and assign a position. - inline const position& - operator-= (position& res, const int width) - { - return res += -width; - } - - /// Add two position objects. - inline const position - operator- (const position& begin, const int width) - { - return begin + -width; - } - - /// Compare two position objects. - inline bool - operator== (const position& pos1, const position& pos2) - { - return (pos1.line == pos2.line - && pos1.column == pos2.column - && (pos1.filename == pos2.filename - || (pos1.filename && pos2.filename - && *pos1.filename == *pos2.filename))); - } - - /// Compare two position objects. - inline bool - operator!= (const position& pos1, const position& pos2) - { - return !(pos1 == pos2); - } - - /** \brief Intercept output stream redirection. - ** \param ostr the destination output stream - ** \param pos a reference to the position to redirect - */ - inline std::ostream& - operator<< (std::ostream& ostr, const position& pos) - { - if (pos.filename) - ostr << *pos.filename << ':'; - return ostr << pos.line << '.' << pos.column; - } - - -} // lol - -/* Line 144 of location.cc */ -#line 161 "generated/position.hh" -#endif // not BISON_POSITION_HH diff --git a/src/generated/stack.hh b/src/generated/stack.hh deleted file mode 100644 index cf73da80..00000000 --- a/src/generated/stack.hh +++ /dev/null @@ -1,135 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Stack handling for Bison parsers in C++ - - Copyright (C) 2002-2010 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 . */ - -/* 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. */ - -#ifndef BISON_STACK_HH -# define BISON_STACK_HH - -#include - - -namespace lol { - -/* Line 1066 of lalr1.cc */ -#line 43 "generated/stack.hh" - template > - class stack - { - public: - - // Hide our reversed order. - typedef typename S::reverse_iterator iterator; - typedef typename S::const_reverse_iterator const_iterator; - - stack () : seq_ () - { - } - - stack (unsigned int n) : seq_ (n) - { - } - - inline - T& - operator [] (unsigned int i) - { - return seq_[i]; - } - - inline - const T& - operator [] (unsigned int i) const - { - return seq_[i]; - } - - inline - void - push (const T& t) - { - seq_.push_front (t); - } - - inline - void - pop (unsigned int n = 1) - { - for (; n; --n) - seq_.pop_front (); - } - - inline - unsigned int - height () const - { - return seq_.size (); - } - - inline const_iterator begin () const { return seq_.rbegin (); } - inline const_iterator end () const { return seq_.rend (); } - - private: - - S seq_; - }; - - /// Present a slice of the top of a stack. - template > - class slice - { - public: - - slice (const S& stack, - unsigned int range) : stack_ (stack), - range_ (range) - { - } - - inline - const T& - operator [] (unsigned int i) const - { - return stack_[range_ - i]; - } - - private: - - const S& stack_; - unsigned int range_; - }; - -} // lol - -/* Line 1152 of lalr1.cc */ -#line 133 "generated/stack.hh" - -#endif // not BISON_STACK_HH[]dnl - diff --git a/src/gpu/lolfx-compiler.cpp b/src/gpu/lolfx-compiler.cpp deleted file mode 100644 index 98d6bc2b..00000000 --- a/src/gpu/lolfx-compiler.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#include - -#include - -#include "gpu/lolfx-compiler.h" - -namespace lol -{ - -LolFxCompiler::LolFxCompiler(LolFx &lolfx) - : m_lolfx(lolfx) -{ -} - -bool LolFxCompiler::ParseString(char const *command) -{ - LolFxScanner scanner(command); - m_lexer = &scanner; - LolFxParser parser(*this); - //parser.set_debug_level(1); - if (parser.parse() != 0) - return false; - return true; -} - -void LolFxCompiler::Error(const class location& l, const std::string& m) -{ - Log::Error("LolFx syntax error line %d column %d: %s\n", - l.begin.line, l.begin.column, m.c_str()); -} - -void LolFxCompiler::Error(const std::string& m) -{ - Log::Error("LolFx syntax error: %s\n", m.c_str()); -} - -} /* namespace lol */ - diff --git a/src/gpu/lolfx-compiler.h b/src/gpu/lolfx-compiler.h deleted file mode 100644 index 9d4c98ea..00000000 --- a/src/gpu/lolfx-compiler.h +++ /dev/null @@ -1,68 +0,0 @@ -// -// Lol Engine -// -// Copyright: (c) 2010-2013 Sam Hocevar -// This program is free software; you can redistribute it and/or -// modify it under the terms of the Do What The Fuck You Want To -// Public License, Version 2, as published by Sam Hocevar. See -// http://www.wtfpl.net/ for more details. -// - -#pragma once - -#include - -#ifndef __FLEX_LEXER_H -# define yyFlexLexer LolFxFlexLexer -# include "FlexLexer.h" -# undef yyFlexLexer -#endif - -#include "generated/lolfx-parser.h" - -class LolFx; - -namespace lol -{ - -class LolFxScanner : public LolFxFlexLexer -{ -public: - LolFxScanner(char const *command); - virtual ~LolFxScanner(); - virtual int LexerInput(char* buf, int max_size); - virtual LolFxParser::token_type lex(LolFxParser::semantic_type* yylval, - LolFxParser::location_type* yylloc); - -private: - bool IsExpressionTrue(char const *buf); - - map m_pp_defines; - - enum - { - BlockIsFalse, - BlockIsForeverFalse, - BlockIsTrue, - }; - array m_pp_stack; - - char const *m_input; -}; - -class LolFxCompiler -{ -public: - LolFxCompiler(class LolFx &lolfx); - - bool ParseString(char const *command); - - void Error(const class location& l, const std::string& m); - void Error(const std::string& m); - - class LolFxScanner *m_lexer; - class LolFx &m_lolfx; -}; - -} /* namespace lol */ - diff --git a/src/gpu/lolfx.cpp b/src/gpu/lolfx.cpp index daa8bde7..9ef6290e 100644 --- a/src/gpu/lolfx.cpp +++ b/src/gpu/lolfx.cpp @@ -15,8 +15,6 @@ #include -#include "gpu/lolfx-compiler.h" - namespace lol { @@ -33,8 +31,9 @@ LolFx::LolFx() bool LolFx::Compile(char const *command) { - LolFxCompiler lc(*this); - return lc.ParseString(command); + UNUSED(command); + + return false; } } /* namespace lol */ diff --git a/src/lolcore.vcxproj b/src/lolcore.vcxproj index 8e1b2783..28263dc3 100644 --- a/src/lolcore.vcxproj +++ b/src/lolcore.vcxproj @@ -101,7 +101,6 @@ - @@ -110,13 +109,8 @@ - - - - - @@ -239,7 +233,6 @@ - @@ -248,12 +241,6 @@ - - - - - - @@ -406,10 +393,6 @@ - - - - diff --git a/src/lolcore.vcxproj.filters b/src/lolcore.vcxproj.filters index c741e15d..d0059269 100644 --- a/src/lolcore.vcxproj.filters +++ b/src/lolcore.vcxproj.filters @@ -13,9 +13,6 @@ {07117029-d79d-4d59-beec-691b00a97c8f} - - {8d536fa6-9ef8-4bdb-b945-48fe4549e8ec} - {ec9b94fc-c716-4ef2-9c3b-c7f3447574b0} @@ -270,24 +267,6 @@ easymesh - - easymesh - - - generated - - - generated - - - generated - - - generated - - - gpu - gpu @@ -591,30 +570,9 @@ ... - - generated - - - generated - - - generated - easymesh - - easymesh - - - generated - - - gpu - - - gpu - lol\base @@ -821,18 +779,6 @@ - - easymesh - - - easymesh - - - gpu - - - gpu -