My Project  UNKNOWN_GIT_VERSION
Macros | Typedefs | Enumerations | Functions | Variables
readcf.cc File Reference
#include "config.h"
#include "factory/factoryconf.h"
#include <cstring>
#include <ctype.h>
#include <iostream>
#include "cf_assert.h"
#include "canonicalform.h"
#include "cf_defs.h"
#include "gfops.h"
#include "parseutil.h"
#include "variable.h"
#include <stddef.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.0.5"
 
#define YYSKELETON_NAME   "yacc.c"
 
#define YYPURE   0
 
#define YYPUSH   0
 
#define YYPULL   1
 
#define ISTREAM   std::istream
 
#define CERR   std::cerr
 
#define YYSTYPE   ParseUtil
 
#define YY_NULLPTR   0
 
#define YYERROR_VERBOSE   0
 
#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define NUM   258
 
#define NEG   259
 
#define YYSIZE_T   size_t
 
#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)
 
#define YY_(Msgid)   Msgid
 
#define YY_ATTRIBUTE(Spec)   /* empty */
 
#define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
 
#define YY_ATTRIBUTE_UNUSED   YY_ATTRIBUTE ((__unused__))
 
#define _Noreturn   YY_ATTRIBUTE ((__noreturn__))
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YYSTACK_ALLOC   YYMALLOC
 
#define YYSTACK_FREE   YYFREE
 
#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM
 
#define EXIT_SUCCESS   0
 
#define YYMALLOC   malloc
 
#define YYFREE   free
 
#define YYFINAL   2
 
#define YYLAST   44
 
#define YYNTOKENS   13
 
#define YYNNTS   4
 
#define YYNRULES   14
 
#define YYNSTATES   25
 
#define YYUNDEFTOK   2
 
#define YYMAXUTOK   259
 
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
#define YYPACT_NINF   -8
 
#define yypact_value_is_default(Yystate)   (!!((Yystate) == (-8)))
 
#define YYTABLE_NINF   -1
 
#define yytable_value_is_error(Yytable_value)   0
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYEMPTY   (-2)
 
#define YYEOF   0
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYTERROR   1
 
#define YYERRCODE   256
 
#define YYDPRINTF(Args)
 
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
#define YY_STACK_PRINT(Bottom, Top)
 
#define YY_REDUCE_PRINT(Rule)
 
#define YYINITDEPTH   200
 
#define YYMAXDEPTH   10000
 
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
 

Typedefs

typedef unsigned char yytype_uint8
 
typedef signed char yytype_int8
 
typedef unsigned short int yytype_uint16
 
typedef short int yytype_int16
 

Enumerations

enum  yytokentype {
  DOTDOT = 258, EQUAL_EQUAL = 259, GE = 260, LE = 261,
  MINUSMINUS = 262, NOT = 263, NOTEQUAL = 264, PLUSPLUS = 265,
  COLONCOLON = 266, ARROW = 267, GRING_CMD = 268, BIGINTMAT_CMD = 269,
  INTMAT_CMD = 270, PROC_CMD = 271, RING_CMD = 272, BEGIN_RING = 273,
  BUCKET_CMD = 274, IDEAL_CMD = 275, MAP_CMD = 276, MATRIX_CMD = 277,
  MODUL_CMD = 278, NUMBER_CMD = 279, POLY_CMD = 280, RESOLUTION_CMD = 281,
  SMATRIX_CMD = 282, VECTOR_CMD = 283, BETTI_CMD = 284, E_CMD = 285,
  FETCH_CMD = 286, FREEMODULE_CMD = 287, KEEPRING_CMD = 288, IMAP_CMD = 289,
  KOSZUL_CMD = 290, MAXID_CMD = 291, MONOM_CMD = 292, PAR_CMD = 293,
  PREIMAGE_CMD = 294, VAR_CMD = 295, VALTVARS = 296, VMAXDEG = 297,
  VMAXMULT = 298, VNOETHER = 299, VMINPOLY = 300, END_RING = 301,
  CMD_1 = 302, CMD_2 = 303, CMD_3 = 304, CMD_12 = 305,
  CMD_13 = 306, CMD_23 = 307, CMD_123 = 308, CMD_M = 309,
  ROOT_DECL = 310, ROOT_DECL_LIST = 311, RING_DECL = 312, RING_DECL_LIST = 313,
  EXAMPLE_CMD = 314, EXPORT_CMD = 315, HELP_CMD = 316, KILL_CMD = 317,
  LIB_CMD = 318, LISTVAR_CMD = 319, SETRING_CMD = 320, TYPE_CMD = 321,
  STRINGTOK = 322, BLOCKTOK = 323, INT_CONST = 324, UNKNOWN_IDENT = 325,
  RINGVAR = 326, PROC_DEF = 327, APPLY = 328, ASSUME_CMD = 329,
  BREAK_CMD = 330, CONTINUE_CMD = 331, ELSE_CMD = 332, EVAL = 333,
  QUOTE = 334, FOR_CMD = 335, IF_CMD = 336, SYS_BREAK = 337,
  WHILE_CMD = 338, RETURN = 339, PARAMETER = 340, SYSVAR = 341,
  UMINUS = 342, DOTDOT = 258, EQUAL_EQUAL = 259, GE = 260,
  LE = 261, MINUSMINUS = 262, NOT = 263, NOTEQUAL = 264,
  PLUSPLUS = 265, COLONCOLON = 266, ARROW = 267, GRING_CMD = 268,
  BIGINTMAT_CMD = 269, INTMAT_CMD = 270, PROC_CMD = 271, RING_CMD = 272,
  BEGIN_RING = 273, BUCKET_CMD = 274, IDEAL_CMD = 275, MAP_CMD = 276,
  MATRIX_CMD = 277, MODUL_CMD = 278, NUMBER_CMD = 279, POLY_CMD = 280,
  RESOLUTION_CMD = 281, SMATRIX_CMD = 282, VECTOR_CMD = 283, BETTI_CMD = 284,
  E_CMD = 285, FETCH_CMD = 286, FREEMODULE_CMD = 287, KEEPRING_CMD = 288,
  IMAP_CMD = 289, KOSZUL_CMD = 290, MAXID_CMD = 291, MONOM_CMD = 292,
  PAR_CMD = 293, PREIMAGE_CMD = 294, VAR_CMD = 295, VALTVARS = 296,
  VMAXDEG = 297, VMAXMULT = 298, VNOETHER = 299, VMINPOLY = 300,
  END_RING = 301, CMD_1 = 302, CMD_2 = 303, CMD_3 = 304,
  CMD_12 = 305, CMD_13 = 306, CMD_23 = 307, CMD_123 = 308,
  CMD_M = 309, ROOT_DECL = 310, ROOT_DECL_LIST = 311, RING_DECL = 312,
  RING_DECL_LIST = 313, EXAMPLE_CMD = 314, EXPORT_CMD = 315, HELP_CMD = 316,
  KILL_CMD = 317, LIB_CMD = 318, LISTVAR_CMD = 319, SETRING_CMD = 320,
  TYPE_CMD = 321, STRINGTOK = 322, BLOCKTOK = 323, INT_CONST = 324,
  UNKNOWN_IDENT = 325, RINGVAR = 326, PROC_DEF = 327, APPLY = 328,
  ASSUME_CMD = 329, BREAK_CMD = 330, CONTINUE_CMD = 331, ELSE_CMD = 332,
  EVAL = 333, QUOTE = 334, FOR_CMD = 335, IF_CMD = 336,
  SYS_BREAK = 337, WHILE_CMD = 338, RETURN = 339, PARAMETER = 340,
  SYSVAR = 341, UMINUS = 342, NUM = 258, NEG = 259
}
 

Functions

static char * readString (ISTREAM &)
 
void yyerror (char *s)
 
int yylex ()
 
int yyparse (void)
 
static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
 
CanonicalForm readCF (ISTREAM &str)
 

Variables

static ISTREAMdefaultin = 0
 
static CanonicalFormretvalue = 0
 
YYSTYPE yylval
 
static const yytype_uint8 yytranslate []
 
static const yytype_int8 yypact []
 
static const yytype_uint8 yydefact []
 
static const yytype_int8 yypgoto []
 
static const yytype_int8 yydefgoto []
 
static const yytype_uint8 yytable []
 
static const yytype_int8 yycheck []
 
static const yytype_uint8 yystos []
 
static const yytype_uint8 yyr1 []
 
static const yytype_uint8 yyr2 []
 
int yychar
 
int yynerrs
 

Macro Definition Documentation

◆ _Noreturn

#define _Noreturn   YY_ATTRIBUTE ((__noreturn__))

Definition at line 260 of file readcf.cc.

◆ CERR

#define CERR   std::cerr

Definition at line 89 of file readcf.cc.

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0

Definition at line 340 of file readcf.cc.

◆ ISTREAM

#define ISTREAM   std::istream

Definition at line 88 of file readcf.cc.

◆ NEG

#define NEG   259

Definition at line 162 of file readcf.cc.

◆ NUM

#define NUM   258

Definition at line 161 of file readcf.cc.

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 233 of file readcf.cc.

◆ YY_ATTRIBUTE

#define YY_ATTRIBUTE (   Spec)    /* empty */

Definition at line 243 of file readcf.cc.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))

Definition at line 248 of file readcf.cc.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED   YY_ATTRIBUTE ((__unused__))

Definition at line 252 of file readcf.cc.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 283 of file readcf.cc.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 284 of file readcf.cc.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 280 of file readcf.cc.

◆ YY_NULLPTR

#define YY_NULLPTR   0

Definition at line 130 of file readcf.cc.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 749 of file readcf.cc.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 748 of file readcf.cc.

◆ YY_SYMBOL_PRINT

#define YY_SYMBOL_PRINT (   Title,
  Type,
  Value,
  Location 
)

Definition at line 747 of file readcf.cc.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 594 of file readcf.cc.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 593 of file readcf.cc.

◆ YYBACKUP

#define YYBACKUP (   Token,
  Value 
)
Value:
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
#define YY_(Msgid)
Definition: readcf.cc:233
if(yy_init)
Definition: libparse.cc:1418
int yychar
Definition: readcf.cc:1014
#define YYEMPTY
Definition: readcf.cc:590

Definition at line 600 of file readcf.cc.

◆ YYBISON

#define YYBISON   1

Definition at line 44 of file readcf.cc.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.0.5"

Definition at line 47 of file readcf.cc.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 589 of file readcf.cc.

◆ YYDEBUG

#define YYDEBUG   0

Definition at line 145 of file readcf.cc.

◆ YYDPRINTF

#define YYDPRINTF (   Args)

Definition at line 746 of file readcf.cc.

◆ YYEMPTY

#define YYEMPTY   (-2)

Definition at line 590 of file readcf.cc.

◆ YYEOF

#define YYEOF   0

Definition at line 591 of file readcf.cc.

◆ YYERRCODE

#define YYERRCODE   256

Definition at line 619 of file readcf.cc.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 588 of file readcf.cc.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 595 of file readcf.cc.

◆ YYERROR_VERBOSE

#define YYERROR_VERBOSE   0

Definition at line 139 of file readcf.cc.

◆ YYFINAL

#define YYFINAL   2

Definition at line 420 of file readcf.cc.

◆ YYFREE

#define YYFREE   free

Definition at line 350 of file readcf.cc.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 755 of file readcf.cc.

◆ YYLAST

#define YYLAST   44

Definition at line 422 of file readcf.cc.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 344 of file readcf.cc.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 766 of file readcf.cc.

◆ YYMAXUTOK

#define YYMAXUTOK   259

Definition at line 436 of file readcf.cc.

◆ YYNNTS

#define YYNNTS   4

Definition at line 427 of file readcf.cc.

◆ YYNRULES

#define YYNRULES   14

Definition at line 429 of file readcf.cc.

◆ YYNSTATES

#define YYNSTATES   25

Definition at line 431 of file readcf.cc.

◆ YYNTOKENS

#define YYNTOKENS   13

Definition at line 425 of file readcf.cc.

◆ YYPACT_NINF

#define YYPACT_NINF   -8

Definition at line 502 of file readcf.cc.

◆ yypact_value_is_default

#define yypact_value_is_default (   Yystate)    (!!((Yystate) == (-8)))

Definition at line 504 of file readcf.cc.

◆ YYPOPSTACK

#define YYPOPSTACK (   N)    (yyvsp -= (N), yyssp -= (N))

◆ YYPULL

#define YYPULL   1

Definition at line 59 of file readcf.cc.

◆ YYPURE

#define YYPURE   0

Definition at line 53 of file readcf.cc.

◆ YYPUSH

#define YYPUSH   0

Definition at line 56 of file readcf.cc.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 598 of file readcf.cc.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM   ((YYSIZE_T) -1)

Definition at line 223 of file readcf.cc.

◆ YYSIZE_T

#define YYSIZE_T   size_t

Definition at line 217 of file readcf.cc.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 50 of file readcf.cc.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 330 of file readcf.cc.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 333 of file readcf.cc.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 331 of file readcf.cc.

◆ YYSTYPE

#define YYSTYPE   ParseUtil

Definition at line 106 of file readcf.cc.

◆ YYTABLE_NINF

#define YYTABLE_NINF   -1

Definition at line 507 of file readcf.cc.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yytable_value)    0

Definition at line 509 of file readcf.cc.

◆ YYTERROR

#define YYTERROR   1

Definition at line 618 of file readcf.cc.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 153 of file readcf.cc.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

Definition at line 438 of file readcf.cc.

◆ YYUNDEFTOK

#define YYUNDEFTOK   2

Definition at line 435 of file readcf.cc.

◆ YYUSE

#define YYUSE (   E)    ((void) (E))

Definition at line 266 of file readcf.cc.

Typedef Documentation

◆ yytype_int16

typedef short int yytype_int16

Definition at line 207 of file readcf.cc.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 195 of file readcf.cc.

◆ yytype_uint16

typedef unsigned short int yytype_uint16

Definition at line 201 of file readcf.cc.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 189 of file readcf.cc.

Enumeration Type Documentation

◆ yytokentype

Enumerator
DOTDOT 
EQUAL_EQUAL 
GE 
LE 
MINUSMINUS 
NOT 
NOTEQUAL 
PLUSPLUS 
COLONCOLON 
ARROW 
GRING_CMD 
BIGINTMAT_CMD 
INTMAT_CMD 
PROC_CMD 
RING_CMD 
BEGIN_RING 
BUCKET_CMD 
IDEAL_CMD 
MAP_CMD 
MATRIX_CMD 
MODUL_CMD 
NUMBER_CMD 
POLY_CMD 
RESOLUTION_CMD 
SMATRIX_CMD 
VECTOR_CMD 
BETTI_CMD 
E_CMD 
FETCH_CMD 
FREEMODULE_CMD 
KEEPRING_CMD 
IMAP_CMD 
KOSZUL_CMD 
MAXID_CMD 
MONOM_CMD 
PAR_CMD 
PREIMAGE_CMD 
VAR_CMD 
VALTVARS 
VMAXDEG 
VMAXMULT 
VNOETHER 
VMINPOLY 
END_RING 
CMD_1 
CMD_2 
CMD_3 
CMD_12 
CMD_13 
CMD_23 
CMD_123 
CMD_M 
ROOT_DECL 
ROOT_DECL_LIST 
RING_DECL 
RING_DECL_LIST 
EXAMPLE_CMD 
EXPORT_CMD 
HELP_CMD 
KILL_CMD 
LIB_CMD 
LISTVAR_CMD 
SETRING_CMD 
TYPE_CMD 
STRINGTOK 
BLOCKTOK 
INT_CONST 
UNKNOWN_IDENT 
RINGVAR 
PROC_DEF 
APPLY 
ASSUME_CMD 
BREAK_CMD 
CONTINUE_CMD 
ELSE_CMD 
EVAL 
QUOTE 
FOR_CMD 
IF_CMD 
SYS_BREAK 
WHILE_CMD 
RETURN 
PARAMETER 
SYSVAR 
UMINUS 
DOTDOT 
EQUAL_EQUAL 
GE 
LE 
MINUSMINUS 
NOT 
NOTEQUAL 
PLUSPLUS 
COLONCOLON 
ARROW 
GRING_CMD 
BIGINTMAT_CMD 
INTMAT_CMD 
PROC_CMD 
RING_CMD 
BEGIN_RING 
BUCKET_CMD 
IDEAL_CMD 
MAP_CMD 
MATRIX_CMD 
MODUL_CMD 
NUMBER_CMD 
POLY_CMD 
RESOLUTION_CMD 
SMATRIX_CMD 
VECTOR_CMD 
BETTI_CMD 
E_CMD 
FETCH_CMD 
FREEMODULE_CMD 
KEEPRING_CMD 
IMAP_CMD 
KOSZUL_CMD 
MAXID_CMD 
MONOM_CMD 
PAR_CMD 
PREIMAGE_CMD 
VAR_CMD 
VALTVARS 
VMAXDEG 
VMAXMULT 
VNOETHER 
VMINPOLY 
END_RING 
CMD_1 
CMD_2 
CMD_3 
CMD_12 
CMD_13 
CMD_23 
CMD_123 
CMD_M 
ROOT_DECL 
ROOT_DECL_LIST 
RING_DECL 
RING_DECL_LIST 
EXAMPLE_CMD 
EXPORT_CMD 
HELP_CMD 
KILL_CMD 
LIB_CMD 
LISTVAR_CMD 
SETRING_CMD 
TYPE_CMD 
STRINGTOK 
BLOCKTOK 
INT_CONST 
UNKNOWN_IDENT 
RINGVAR 
PROC_DEF 
APPLY 
ASSUME_CMD 
BREAK_CMD 
CONTINUE_CMD 
ELSE_CMD 
EVAL 
QUOTE 
FOR_CMD 
IF_CMD 
SYS_BREAK 
WHILE_CMD 
RETURN 
PARAMETER 
SYSVAR 
UMINUS 
NUM 
NEG 

Definition at line 154 of file readcf.cc.

155  {
156  NUM = 258,
157  NEG = 259
158  };
#define NEG
Definition: readcf.cc:162
#define NUM
Definition: readcf.cc:161

Function Documentation

◆ readCF()

CanonicalForm readCF ( ISTREAM str)

Definition at line 1617 of file readcf.cc.

1618 {
1619  CanonicalForm theRetvalue;
1620  retvalue = new CanonicalForm();
1621 #ifdef BISONPP
1622  YY_parse_CLASS my_parser;
1623  defaultin = &str;
1624  if ( my_parser.yyparse() == 0 ) {
1625  theRetvalue = *retvalue;
1626  delete retvalue;
1627  return theRetvalue;
1628  }
1629  else {
1630  delete retvalue;
1631  return 0;
1632  }
1633 #else
1634  defaultin = &str;
1635  if ( yyparse() == 0 ) {
1636  theRetvalue = *retvalue;
1637  delete retvalue;
1638  return theRetvalue;
1639  }
1640  else {
1641  delete retvalue;
1642  return 0;
1643  }
1644 #endif
1645 }
static CanonicalForm * retvalue
Definition: readcf.cc:121
static ISTREAM * defaultin
Definition: readcf.cc:119
factory's main class
Definition: canonicalform.h:77
int yyparse(void)
Definition: readcf.cc:1027

◆ readString()

char * readString ( ISTREAM s)
static

Definition at line 1647 of file readcf.cc.

1648 {
1649  static char * buffer = 0;
1650  static int bufsize = 0;
1651 
1652  if ( buffer == 0 ) {
1653  bufsize = 10000;
1654  buffer = new char[bufsize];
1655  }
1656  int i = 0, c, goon = 1;
1657  while ( goon ) {
1658  while ( isdigit( c = s.get() ) && i < bufsize - 2 ) {
1659  buffer[i] = c;
1660  i++;
1661  }
1662  if ( isdigit( c ) ) {
1663  bufsize += 1000;
1664  char * newbuffer = (char*)memcpy( new char[bufsize], buffer, bufsize - 1000 );
1665  delete [] buffer;
1666  buffer = newbuffer;
1667  buffer[i] = c;
1668  i++;
1669  }
1670  else {
1671  goon = 0;
1672  buffer[i] = '\0';
1673  s.putback( c );
1674  }
1675  }
1676  return buffer;
1677 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
int i
Definition: cfEzgcd.cc:125

◆ yydestruct()

static void yydestruct ( const char *  yymsg,
int  yytype,
YYSTYPE yyvaluep 
)
static

Definition at line 998 of file readcf.cc.

999 {
1000  YYUSE (yyvaluep);
1001  if (!yymsg)
1002  yymsg = "Deleting";
1003  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
1004 
1006  YYUSE (yytype);
1008 }
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: readcf.cc:284
#define YYUSE(E)
Definition: readcf.cc:266
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: readcf.cc:747
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: readcf.cc:283

◆ yyerror()

void yyerror ( char *  s)

Definition at line 1556 of file readcf.cc.

1558 {
1559  CERR << s << "\n";
1560 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
#define CERR
Definition: readcf.cc:89

◆ yylex()

int yylex ( )

Definition at line 1565 of file readcf.cc.

1567 {
1568  int c;
1569 
1570  while ((c = defaultin->get()) == ' ' || c == '\t' || c == '\n' ) ;
1571  if ( isdigit( c ) ) {
1572  defaultin->putback( c );
1574  return NUM;
1575  }
1576  else if ( isalpha( c ) ) {
1577  // look for generators of GF(q)
1578  if ( getCharacteristic() > 0 && getGFDegree() > 1 && c == gf_name ) {
1579 #ifdef BISONPP
1580  this->yylval = getGFGenerator();
1581 #else
1582  yylval = getGFGenerator();
1583 #endif
1584  }
1585  else if ( c == getDefaultVarName() ) {
1586  int cc;
1587  cc = defaultin->get();
1588  if ( cc == '_' ) {
1590 #ifdef BISONPP
1591  this->yylval = Variable( index.getintval() );
1592 #else
1593  yylval = Variable( index.getintval() );
1594 #endif
1595  }
1596  else {
1597  defaultin->putback( cc );
1598 #ifdef BISONPP
1599  this->yylval = Variable( (char)c );
1600 #else
1601  yylval = Variable( (char)c );
1602 #endif
1603  }
1604  }
1605  else {
1606 #ifdef BISONPP
1607  this->yylval = Variable( (char)c );
1608 #else
1609  yylval = Variable( (char)c );
1610 #endif
1611  }
1612  return NUM;
1613  }
1614  return c;
1615 }
static char * readString(ISTREAM &)
Definition: readcf.cc:1647
factory's class for variables
Definition: factory.h:117
static ISTREAM * defaultin
Definition: readcf.cc:119
char gf_name
Definition: gfops.cc:52
int getCharacteristic()
Definition: cf_char.cc:51
char getDefaultVarName()
Definition: variable.cc:244
#define NUM
Definition: readcf.cc:161
CanonicalForm getGFGenerator()
Definition: cf_char.cc:62
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:592
YYSTYPE yylval
Definition: readcf.cc:1017
int getGFDegree()
Definition: cf_char.cc:56

◆ yyparse()

int yyparse ( void  )

Definition at line 1027 of file readcf.cc.

1028 {
1029  int yystate;
1030  /* Number of tokens to shift before error messages enabled. */
1031  int yyerrstatus;
1032 
1033  /* The stacks and their tools:
1034  'yyss': related to states.
1035  'yyvs': related to semantic values.
1036 
1037  Refer to the stacks through separate pointers, to allow yyoverflow
1038  to reallocate them elsewhere. */
1039 
1040  /* The state stack. */
1041  yytype_int16 yyssa[YYINITDEPTH];
1042  yytype_int16 *yyss;
1043  yytype_int16 *yyssp;
1044 
1045  /* The semantic value stack. */
1046  YYSTYPE yyvsa[YYINITDEPTH];
1047  YYSTYPE *yyvs;
1048  YYSTYPE *yyvsp;
1049 
1050  YYSIZE_T yystacksize;
1051 
1052  int yyn;
1053  int yyresult;
1054  /* Lookahead token as an internal (translated) token number. */
1055  int yytoken = 0;
1056  /* The variables used to return semantic value and location from the
1057  action routines. */
1058  YYSTYPE yyval;
1059 
1060 #if YYERROR_VERBOSE
1061  /* Buffer for error messages, and its allocated size. */
1062  char yymsgbuf[128];
1063  char *yymsg = yymsgbuf;
1064  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
1065 #endif
1066 
1067 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1068 
1069  /* The number of symbols on the RHS of the reduced rule.
1070  Keep to zero when no symbol should be popped. */
1071  int yylen = 0;
1072 
1073  yyssp = yyss = yyssa;
1074  yyvsp = yyvs = yyvsa;
1075  yystacksize = YYINITDEPTH;
1076 
1077  YYDPRINTF ((stderr, "Starting parse\n"));
1078 
1079  yystate = 0;
1080  yyerrstatus = 0;
1081  yynerrs = 0;
1082  yychar = YYEMPTY; /* Cause a token to be read. */
1083  goto yysetstate;
1084 
1085 /*------------------------------------------------------------.
1086 | yynewstate -- Push a new state, which is found in yystate. |
1087 `------------------------------------------------------------*/
1088  yynewstate:
1089  /* In all cases, when you get here, the value and location stacks
1090  have just been pushed. So pushing a state here evens the stacks. */
1091  yyssp++;
1092 
1093  yysetstate:
1094  *yyssp = yystate;
1095 
1096  if (yyss + yystacksize - 1 <= yyssp)
1097  {
1098  /* Get the current used size of the three stacks, in elements. */
1099  YYSIZE_T yysize = yyssp - yyss + 1;
1100 
1101 #ifdef yyoverflow
1102  {
1103  /* Give user a chance to reallocate the stack. Use copies of
1104  these so that the &'s don't force the real ones into
1105  memory. */
1106  YYSTYPE *yyvs1 = yyvs;
1107  yytype_int16 *yyss1 = yyss;
1108 
1109  /* Each stack pointer address is followed by the size of the
1110  data in use in that stack, in bytes. This used to be a
1111  conditional around just the two extra args, but that might
1112  be undefined if yyoverflow is a macro. */
1113  yyoverflow (YY_("memory exhausted"),
1114  &yyss1, yysize * sizeof (*yyssp),
1115  &yyvs1, yysize * sizeof (*yyvsp),
1116  &yystacksize);
1117 
1118  yyss = yyss1;
1119  yyvs = yyvs1;
1120  }
1121 #else /* no yyoverflow */
1122 # ifndef YYSTACK_RELOCATE
1123  goto yyexhaustedlab;
1124 # else
1125  /* Extend the stack our own way. */
1126  if (YYMAXDEPTH <= yystacksize)
1127  goto yyexhaustedlab;
1128  yystacksize *= 2;
1129  if (YYMAXDEPTH < yystacksize)
1130  yystacksize = YYMAXDEPTH;
1131 
1132  {
1133  yytype_int16 *yyss1 = yyss;
1134  union yyalloc *yyptr =
1135  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1136  if (! yyptr)
1137  goto yyexhaustedlab;
1138  YYSTACK_RELOCATE (yyss_alloc, yyss);
1139  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1140 # undef YYSTACK_RELOCATE
1141  if (yyss1 != yyssa)
1142  YYSTACK_FREE (yyss1);
1143  }
1144 # endif
1145 #endif /* no yyoverflow */
1146 
1147  yyssp = yyss + yysize - 1;
1148  yyvsp = yyvs + yysize - 1;
1149 
1150  YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1151  (unsigned long int) yystacksize));
1152 
1153  if (yyss + yystacksize - 1 <= yyssp)
1154  YYABORT;
1155  }
1156 
1157  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1158 
1159  if (yystate == YYFINAL)
1160  YYACCEPT;
1161 
1162  goto yybackup;
1163 
1164 /*-----------.
1165 | yybackup. |
1166 `-----------*/
1167 yybackup:
1168 
1169  /* Do appropriate processing given the current state. Read a
1170  lookahead token if we need one and don't already have one. */
1171 
1172  /* First try to decide what to do without reference to lookahead token. */
1173  yyn = yypact[yystate];
1174  if (yypact_value_is_default (yyn))
1175  goto yydefault;
1176 
1177  /* Not known => get a lookahead token if don't already have one. */
1178 
1179  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
1180  if (yychar == YYEMPTY)
1181  {
1182  YYDPRINTF ((stderr, "Reading a token: "));
1183  yychar = yylex ();
1184  }
1185 
1186  if (yychar <= YYEOF)
1187  {
1188  yychar = yytoken = YYEOF;
1189  YYDPRINTF ((stderr, "Now at end of input.\n"));
1190  }
1191  else
1192  {
1193  yytoken = YYTRANSLATE (yychar);
1194  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1195  }
1196 
1197  /* If the proper action on seeing token YYTOKEN is to reduce or to
1198  detect an error, take that action. */
1199  yyn += yytoken;
1200  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1201  goto yydefault;
1202  yyn = yytable[yyn];
1203  if (yyn <= 0)
1204  {
1205  if (yytable_value_is_error (yyn))
1206  goto yyerrlab;
1207  yyn = -yyn;
1208  goto yyreduce;
1209  }
1210 
1211  /* Count tokens shifted since error; after three, turn off error
1212  status. */
1213  if (yyerrstatus)
1214  yyerrstatus--;
1215 
1216  /* Shift the lookahead token. */
1217  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1218 
1219  /* Discard the shifted token. */
1220  yychar = YYEMPTY;
1221 
1222  yystate = yyn;
1224  *++yyvsp = yylval;
1226 
1227  goto yynewstate;
1228 
1229 
1230 /*-----------------------------------------------------------.
1231 | yydefault -- do the default action for the current state. |
1232 `-----------------------------------------------------------*/
1233 yydefault:
1234  yyn = yydefact[yystate];
1235  if (yyn == 0)
1236  goto yyerrlab;
1237  goto yyreduce;
1238 
1239 
1240 /*-----------------------------.
1241 | yyreduce -- Do a reduction. |
1242 `-----------------------------*/
1243 yyreduce:
1244  /* yyn is the number of a rule to reduce with. */
1245  yylen = yyr2[yyn];
1246 
1247  /* If YYLEN is nonzero, implement the default value of the action:
1248  '$$ = $1'.
1249 
1250  Otherwise, the following line sets YYVAL to garbage.
1251  This behavior is undocumented and Bison
1252  users should not rely upon it. Assigning to YYVAL
1253  unconditionally makes the parser a bit smaller, and it avoids a
1254  GCC warning that YYVAL may be used uninitialized. */
1255  yyval = yyvsp[1-yylen];
1256 
1257 
1258  YY_REDUCE_PRINT (yyn);
1259  switch (yyn)
1260  {
1261  case 5:
1262 #line 78 "readcf.yy" /* yacc.c:1648 */
1263  { *retvalue = (yyvsp[-1]).getval(); return 0; }
1264 #line 1265 "readcf.cc" /* yacc.c:1648 */
1265  break;
1266 
1267  case 6:
1268 #line 81 "readcf.yy" /* yacc.c:1648 */
1269  { (yyval) = (yyvsp[0]); }
1270 #line 1271 "readcf.cc" /* yacc.c:1648 */
1271  break;
1272 
1273  case 7:
1274 #line 82 "readcf.yy" /* yacc.c:1648 */
1275  { (yyval) = (yyvsp[-2]).getval() + (yyvsp[0]).getval(); }
1276 #line 1277 "readcf.cc" /* yacc.c:1648 */
1277  break;
1278 
1279  case 8:
1280 #line 83 "readcf.yy" /* yacc.c:1648 */
1281  { (yyval) = (yyvsp[-2]).getval() - (yyvsp[0]).getval(); }
1282 #line 1283 "readcf.cc" /* yacc.c:1648 */
1283  break;
1284 
1285  case 9:
1286 #line 84 "readcf.yy" /* yacc.c:1648 */
1287  { (yyval) = (yyvsp[-2]).getval() * (yyvsp[0]).getval(); }
1288 #line 1289 "readcf.cc" /* yacc.c:1648 */
1289  break;
1290 
1291  case 10:
1292 #line 85 "readcf.yy" /* yacc.c:1648 */
1293  { (yyval) = (yyvsp[-2]).getval() / (yyvsp[0]).getval(); }
1294 #line 1295 "readcf.cc" /* yacc.c:1648 */
1295  break;
1296 
1297  case 11:
1298 #line 86 "readcf.yy" /* yacc.c:1648 */
1299  { (yyval) = -(yyvsp[0]).getval(); }
1300 #line 1301 "readcf.cc" /* yacc.c:1648 */
1301  break;
1302 
1303  case 12:
1304 #line 87 "readcf.yy" /* yacc.c:1648 */
1305  { (yyval) = (yyvsp[0]).getval(); }
1306 #line 1307 "readcf.cc" /* yacc.c:1648 */
1307  break;
1308 
1309  case 13:
1310 #line 88 "readcf.yy" /* yacc.c:1648 */
1311  { (yyval) = power( (yyvsp[-2]).getval(), (yyvsp[0]).getintval() ); }
1312 #line 1313 "readcf.cc" /* yacc.c:1648 */
1313  break;
1314 
1315  case 14:
1316 #line 89 "readcf.yy" /* yacc.c:1648 */
1317  { (yyval) = (yyvsp[-1]).getval(); }
1318 #line 1319 "readcf.cc" /* yacc.c:1648 */
1319  break;
1320 
1321 
1322 #line 1323 "readcf.cc" /* yacc.c:1648 */
1323  default: break;
1324  }
1325  /* User semantic actions sometimes alter yychar, and that requires
1326  that yytoken be updated with the new translation. We take the
1327  approach of translating immediately before every use of yytoken.
1328  One alternative is translating here after every semantic action,
1329  but that translation would be missed if the semantic action invokes
1330  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
1331  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
1332  incorrect destructor might then be invoked immediately. In the
1333  case of YYERROR or YYBACKUP, subsequent parser actions might lead
1334  to an incorrect destructor call or verbose syntax error message
1335  before the lookahead is translated. */
1336  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
1337 
1338  YYPOPSTACK (yylen);
1339  yylen = 0;
1340  YY_STACK_PRINT (yyss, yyssp);
1341 
1342  *++yyvsp = yyval;
1343 
1344  /* Now 'shift' the result of the reduction. Determine what state
1345  that goes to, based on the state we popped back to and the rule
1346  number reduced by. */
1347 
1348  yyn = yyr1[yyn];
1349 
1350  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
1351  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
1352  yystate = yytable[yystate];
1353  else
1354  yystate = yydefgoto[yyn - YYNTOKENS];
1355 
1356  goto yynewstate;
1357 
1358 
1359 /*--------------------------------------.
1360 | yyerrlab -- here on detecting error. |
1361 `--------------------------------------*/
1362 yyerrlab:
1363  /* Make sure we have latest lookahead translation. See comments at
1364  user semantic actions for why this is necessary. */
1365  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
1366 
1367  /* If not already recovering from an error, report this error. */
1368  if (!yyerrstatus)
1369  {
1370  ++yynerrs;
1371 #if ! YYERROR_VERBOSE
1372  yyerror (YY_("syntax error"));
1373 #else
1374 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
1375  yyssp, yytoken)
1376  {
1377  char const *yymsgp = YY_("syntax error");
1378  int yysyntax_error_status;
1379  yysyntax_error_status = YYSYNTAX_ERROR;
1380  if (yysyntax_error_status == 0)
1381  yymsgp = yymsg;
1382  else if (yysyntax_error_status == 1)
1383  {
1384  if (yymsg != yymsgbuf)
1385  YYSTACK_FREE (yymsg);
1386  yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
1387  if (!yymsg)
1388  {
1389  yymsg = yymsgbuf;
1390  yymsg_alloc = sizeof yymsgbuf;
1391  yysyntax_error_status = 2;
1392  }
1393  else
1394  {
1395  yysyntax_error_status = YYSYNTAX_ERROR;
1396  yymsgp = yymsg;
1397  }
1398  }
1399  yyerror (yymsgp);
1400  if (yysyntax_error_status == 2)
1401  goto yyexhaustedlab;
1402  }
1403 # undef YYSYNTAX_ERROR
1404 #endif
1405  }
1406 
1407 
1408 
1409  if (yyerrstatus == 3)
1410  {
1411  /* If just tried and failed to reuse lookahead token after an
1412  error, discard it. */
1413 
1414  if (yychar <= YYEOF)
1415  {
1416  /* Return failure if at end of input. */
1417  if (yychar == YYEOF)
1418  YYABORT;
1419  }
1420  else
1421  {
1422  yydestruct ("Error: discarding",
1423  yytoken, &yylval);
1424  yychar = YYEMPTY;
1425  }
1426  }
1427 
1428  /* Else will try to reuse lookahead token after shifting the error
1429  token. */
1430  goto yyerrlab1;
1431 
1432 
1433 /*---------------------------------------------------.
1434 | yyerrorlab -- error raised explicitly by YYERROR. |
1435 `---------------------------------------------------*/
1436 yyerrorlab:
1437 
1438  /* Pacify compilers like GCC when the user code never invokes
1439  YYERROR and the label yyerrorlab therefore never appears in user
1440  code. */
1441  if (/*CONSTCOND*/ 0)
1442  goto yyerrorlab;
1443 
1444  /* Do not reclaim the symbols of the rule whose action triggered
1445  this YYERROR. */
1446  YYPOPSTACK (yylen);
1447  yylen = 0;
1448  YY_STACK_PRINT (yyss, yyssp);
1449  yystate = *yyssp;
1450  goto yyerrlab1;
1451 
1452 
1453 /*-------------------------------------------------------------.
1454 | yyerrlab1 -- common code for both syntax error and YYERROR. |
1455 `-------------------------------------------------------------*/
1456 yyerrlab1:
1457  yyerrstatus = 3; /* Each real token shifted decrements this. */
1458 
1459  for (;;)
1460  {
1461  yyn = yypact[yystate];
1462  if (!yypact_value_is_default (yyn))
1463  {
1464  yyn += YYTERROR;
1465  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
1466  {
1467  yyn = yytable[yyn];
1468  if (0 < yyn)
1469  break;
1470  }
1471  }
1472 
1473  /* Pop the current state because it cannot handle the error token. */
1474  if (yyssp == yyss)
1475  YYABORT;
1476 
1477 
1478  yydestruct ("Error: popping",
1479  yystos[yystate], yyvsp);
1480  YYPOPSTACK (1);
1481  yystate = *yyssp;
1482  YY_STACK_PRINT (yyss, yyssp);
1483  }
1484 
1486  *++yyvsp = yylval;
1488 
1489 
1490  /* Shift the error token. */
1491  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
1492 
1493  yystate = yyn;
1494  goto yynewstate;
1495 
1496 
1497 /*-------------------------------------.
1498 | yyacceptlab -- YYACCEPT comes here. |
1499 `-------------------------------------*/
1500 yyacceptlab:
1501  yyresult = 0;
1502  goto yyreturn;
1503 
1504 /*-----------------------------------.
1505 | yyabortlab -- YYABORT comes here. |
1506 `-----------------------------------*/
1507 yyabortlab:
1508  yyresult = 1;
1509  goto yyreturn;
1510 
1511 #if !defined yyoverflow || YYERROR_VERBOSE
1512 /*-------------------------------------------------.
1513 | yyexhaustedlab -- memory exhaustion comes here. |
1514 `-------------------------------------------------*/
1515 yyexhaustedlab:
1516  yyerror (YY_("memory exhausted"));
1517  yyresult = 2;
1518  /* Fall through. */
1519 #endif
1520 
1521 yyreturn:
1522  if (yychar != YYEMPTY)
1523  {
1524  /* Make sure we have latest lookahead translation. See comments at
1525  user semantic actions for why this is necessary. */
1526  yytoken = YYTRANSLATE (yychar);
1527  yydestruct ("Cleanup: discarding lookahead",
1528  yytoken, &yylval);
1529  }
1530  /* Do not reclaim the symbols of the rule whose action triggered
1531  this YYABORT or YYACCEPT. */
1532  YYPOPSTACK (yylen);
1533  YY_STACK_PRINT (yyss, yyssp);
1534  while (yyssp != yyss)
1535  {
1536  yydestruct ("Cleanup: popping",
1537  yystos[*yyssp], yyvsp);
1538  YYPOPSTACK (1);
1539  }
1540 #ifndef yyoverflow
1541  if (yyss != yyssa)
1542  YYSTACK_FREE (yyss);
1543 #endif
1544 #if YYERROR_VERBOSE
1545  if (yymsg != yymsgbuf)
1546  YYSTACK_FREE (yymsg);
1547 #endif
1548  return yyresult;
1549 }
#define YY_STACK_PRINT(Bottom, Top)
Definition: readcf.cc:748
CanonicalForm power(const CanonicalForm &f, int n)
exponentiation
static const yytype_uint8 yytable[]
Definition: readcf.cc:546
#define YYLAST
Definition: readcf.cc:422
#define YYSTACK_FREE
Definition: readcf.cc:331
void yyerror(char *s)
Definition: readcf.cc:1556
static CanonicalForm * retvalue
Definition: readcf.cc:121
static const yytype_uint8 yystos[]
Definition: readcf.cc:566
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: readcf.cc:284
static const yytype_uint8 yyr1[]
Definition: readcf.cc:574
#define YYFINAL
Definition: readcf.cc:420
#define YYPOPSTACK(N)
#define YYDPRINTF(Args)
Definition: readcf.cc:746
#define YY_(Msgid)
Definition: readcf.cc:233
#define YYNTOKENS
Definition: readcf.cc:425
#define YYTERROR
Definition: readcf.cc:618
#define YY_REDUCE_PRINT(Rule)
Definition: readcf.cc:749
#define YYSTACK_ALLOC
Definition: readcf.cc:330
int yychar
Definition: readcf.cc:1014
static const yytype_int8 yydefgoto[]
Definition: readcf.cc:538
static const yytype_int8 yycheck[]
Definition: readcf.cc:555
short int yytype_int16
Definition: grammar.cc:398
#define YYABORT
Definition: readcf.cc:594
static const yytype_uint8 yydefact[]
Definition: readcf.cc:524
#define YYEOF
Definition: readcf.cc:591
int yylex()
Definition: readcf.cc:1565
int yynerrs
Definition: readcf.cc:1019
#define YYEMPTY
Definition: readcf.cc:590
YYSTYPE yylval
Definition: readcf.cc:1017
#define YYACCEPT
Definition: readcf.cc:593
#define YYSTYPE
Definition: readcf.cc:106
#define YYINITDEPTH
Definition: readcf.cc:755
#define yypact_value_is_default(Yystate)
Definition: readcf.cc:504
#define YYMAXDEPTH
Definition: readcf.cc:766
#define YYSIZE_T
Definition: readcf.cc:217
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
Definition: readcf.cc:747
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: readcf.cc:283
static const yytype_uint8 yyr2[]
Definition: readcf.cc:581
#define yytable_value_is_error(Yytable_value)
Definition: readcf.cc:509
InternalCF * getval() const
#define YYTRANSLATE(YYX)
Definition: readcf.cc:438
static const yytype_int8 yypact[]
Definition: readcf.cc:514
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep)
Definition: readcf.cc:998
static const yytype_int8 yypgoto[]
Definition: readcf.cc:532

Variable Documentation

◆ defaultin

ISTREAM* defaultin = 0
static

Definition at line 119 of file readcf.cc.

◆ retvalue

CanonicalForm* retvalue = 0
static

Definition at line 121 of file readcf.cc.

◆ yychar

int yychar

Definition at line 1014 of file readcf.cc.

◆ yycheck

const yytype_int8 yycheck[]
static
Initial value:
=
{
4, 5, 9, 7, 3, -1, 3, 4, 5, 13,
14, 15, 16, 0, 11, -1, 3, 4, 5, -1,
-1, -1, -1, 10, 11, 4, 5, 6, 7, -1,
9, -1, -1, 12, 4, 5, 6, 7, -1, 9,
10, 6, 7, -1, 9
}

Definition at line 555 of file readcf.cc.

◆ yydefact

const yytype_uint8 yydefact[]
static
Initial value:
=
{
2, 0, 1, 6, 0, 0, 4, 0, 3, 0,
11, 12, 0, 0, 0, 0, 0, 0, 5, 14,
8, 7, 9, 10, 13
}

Definition at line 524 of file readcf.cc.

◆ yydefgoto

const yytype_int8 yydefgoto[]
static
Initial value:
=
{
-1, 1, 8, 9
}

Definition at line 538 of file readcf.cc.

◆ yylval

YYSTYPE yylval

Definition at line 1017 of file readcf.cc.

◆ yynerrs

int yynerrs

Definition at line 1019 of file readcf.cc.

◆ yypact

const yytype_int8 yypact[]
static
Initial value:
=
{
-8, 13, -8, -8, 3, 3, -8, 3, -8, 30,
-7, -7, 21, 3, 3, 3, 3, 1, -8, -8,
35, 35, -7, -7, -8
}

Definition at line 514 of file readcf.cc.

◆ yypgoto

const yytype_int8 yypgoto[]
static
Initial value:
=
{
-8, -8, -8, -4
}

Definition at line 532 of file readcf.cc.

◆ yyr1

const yytype_uint8 yyr1[]
static
Initial value:
=
{
0, 13, 14, 14, 15, 15, 16, 16, 16, 16,
16, 16, 16, 16, 16
}

Definition at line 574 of file readcf.cc.

◆ yyr2

const yytype_uint8 yyr2[]
static
Initial value:
=
{
0, 2, 0, 2, 1, 2, 1, 3, 3, 3,
3, 2, 2, 3, 3
}

Definition at line 581 of file readcf.cc.

◆ yystos

const yytype_uint8 yystos[]
static
Initial value:
=
{
0, 14, 0, 3, 4, 5, 10, 11, 15, 16,
16, 16, 16, 4, 5, 6, 7, 9, 10, 12,
16, 16, 16, 16, 3
}

Definition at line 566 of file readcf.cc.

◆ yytable

const yytype_uint8 yytable[]
static
Initial value:
=
{
10, 11, 17, 12, 24, 0, 3, 4, 5, 20,
21, 22, 23, 2, 7, 0, 3, 4, 5, 0,
0, 0, 0, 6, 7, 13, 14, 15, 16, 0,
17, 0, 0, 19, 13, 14, 15, 16, 0, 17,
18, 15, 16, 0, 17
}

Definition at line 546 of file readcf.cc.

◆ yytranslate

const yytype_uint8 yytranslate[]
static
Initial value:
=
{
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,
11, 12, 6, 5, 2, 4, 2, 7, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 10,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 9, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 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, 8
}

Definition at line 443 of file readcf.cc.