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 <limits.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define YYBISON   1
 
#define YYBISON_VERSION   "3.6.4"
 
#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_CAST(Type, Val)   static_cast<Type> (Val)
 
#define YY_REINTERPRET_CAST(Type, Val)   reinterpret_cast<Type> (Val)
 
#define YY_NULLPTR   0
 
#define YYDEBUG   0
 
#define YYTOKENTYPE
 
#define YYEOF   0
 
#define YYerror   256
 
#define YYUNDEF   257
 
#define NUM   258
 
#define NEG   259
 
#define YYPTRDIFF_T   long
 
#define YYPTRDIFF_MAXIMUM   LONG_MAX
 
#define YYSIZE_T   unsigned
 
#define YYSIZE_MAXIMUM
 
#define YYSIZEOF(X)   YY_CAST (YYPTRDIFF_T, sizeof (X))
 
#define YY_(Msgid)   Msgid
 
#define YY_ATTRIBUTE_PURE
 
#define YY_ATTRIBUTE_UNUSED
 
#define YYUSE(E)   ((void) (E))
 
#define YY_INITIAL_VALUE(Value)   Value
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
 
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
 
#define YY_IGNORE_USELESS_CAST_BEGIN
 
#define YY_IGNORE_USELESS_CAST_END
 
#define YY_ASSERT(E)   ((void) (0 && (E)))
 
#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 YYMAXUTOK   259
 
#define YYTRANSLATE(YYX)
 
#define YY_ACCESSING_SYMBOL(State)   YY_CAST (yysymbol_kind_t, yystos[State])
 Accessing symbol of state STATE. More...
 
#define YYPACT_NINF   (-8)
 
#define yypact_value_is_default(Yyn)    ((Yyn) == YYPACT_NINF)
 
#define YYTABLE_NINF   (-1)
 
#define yytable_value_is_error(Yyn)    0
 
#define yyerrok   (yyerrstatus = 0)
 
#define yyclearin   (yychar = YYEMPTY)
 
#define YYACCEPT   goto yyacceptlab
 
#define YYABORT   goto yyabortlab
 
#define YYERROR   goto yyerrorlab
 
#define YYRECOVERING()   (!!yyerrstatus)
 
#define YYBACKUP(Token, Value)
 
#define YYERRCODE   YYUNDEF
 
#define YYDPRINTF(Args)   ((void) 0)
 
#define YY_SYMBOL_PRINT(Title, Kind, 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 enum yytokentype yytoken_kind_t
 
typedef enum yysymbol_kind_t yysymbol_kind_t
 
typedef signed char yytype_int8
 
typedef short yytype_int16
 
typedef unsigned char yytype_uint8
 
typedef unsigned short yytype_uint16
 
typedef yytype_int8 yy_state_t
 
typedef int yy_state_fast_t
 

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, YYEMPTY = -2, YYEOF = 0,
  YYerror = 256, YYUNDEF = 257, NUM = 258, NEG = 259
}
 
enum  yysymbol_kind_t {
  YYSYMBOL_YYEMPTY = -2, YYSYMBOL_YYEOF = 0, YYSYMBOL_YYerror = 1, YYSYMBOL_YYUNDEF = 2,
  YYSYMBOL_NUM = 3, YYSYMBOL_4_ = 4, YYSYMBOL_5_ = 5, YYSYMBOL_6_ = 6,
  YYSYMBOL_7_ = 7, YYSYMBOL_NEG = 8, YYSYMBOL_9_ = 9, YYSYMBOL_10_ = 10,
  YYSYMBOL_11_ = 11, YYSYMBOL_12_ = 12, YYSYMBOL_YYACCEPT = 13, YYSYMBOL_input = 14,
  YYSYMBOL_line = 15, YYSYMBOL_exp = 16
}
 
enum  { YYENOMEM = -2 }
 

Functions

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

Variables

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

Macro Definition Documentation

◆ CERR

#define CERR   std::cerr

Definition at line 94 of file readcf.cc.

◆ EXIT_SUCCESS

#define EXIT_SUCCESS   0

Definition at line 444 of file readcf.cc.

◆ ISTREAM

#define ISTREAM   std::istream

Definition at line 93 of file readcf.cc.

◆ NEG

#define NEG   259

Definition at line 180 of file readcf.cc.

◆ NUM

#define NUM   258

Definition at line 179 of file readcf.cc.

◆ YY_

#define YY_ (   Msgid)    Msgid

Definition at line 333 of file readcf.cc.

◆ YY_ACCESSING_SYMBOL

#define YY_ACCESSING_SYMBOL (   State)    YY_CAST (yysymbol_kind_t, yystos[State])

Accessing symbol of state STATE.


Definition at line 588 of file readcf.cc.

◆ YY_ASSERT

#define YY_ASSERT (   E)    ((void) (0 && (E)))

Definition at line 393 of file readcf.cc.

◆ YY_ATTRIBUTE_PURE

#define YY_ATTRIBUTE_PURE

Definition at line 342 of file readcf.cc.

◆ YY_ATTRIBUTE_UNUSED

#define YY_ATTRIBUTE_UNUSED

Definition at line 350 of file readcf.cc.

◆ YY_CAST

#define YY_CAST (   Type,
  Val 
)    static_cast<Type> (Val)

Definition at line 133 of file readcf.cc.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN

Definition at line 373 of file readcf.cc.

◆ YY_IGNORE_MAYBE_UNINITIALIZED_END

#define YY_IGNORE_MAYBE_UNINITIALIZED_END

Definition at line 374 of file readcf.cc.

◆ YY_IGNORE_USELESS_CAST_BEGIN

#define YY_IGNORE_USELESS_CAST_BEGIN

Definition at line 388 of file readcf.cc.

◆ YY_IGNORE_USELESS_CAST_END

#define YY_IGNORE_USELESS_CAST_END

Definition at line 389 of file readcf.cc.

◆ YY_INITIAL_VALUE

#define YY_INITIAL_VALUE (   Value)    Value

Definition at line 370 of file readcf.cc.

◆ YY_NULLPTR

#define YY_NULLPTR   0

Definition at line 145 of file readcf.cc.

◆ YY_REDUCE_PRINT

#define YY_REDUCE_PRINT (   Rule)

Definition at line 871 of file readcf.cc.

◆ YY_REINTERPRET_CAST

#define YY_REINTERPRET_CAST (   Type,
  Val 
)    reinterpret_cast<Type> (Val)

Definition at line 134 of file readcf.cc.

◆ YY_STACK_PRINT

#define YY_STACK_PRINT (   Bottom,
  Top 
)

Definition at line 870 of file readcf.cc.

◆ YY_SYMBOL_PRINT

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

Definition at line 869 of file readcf.cc.

◆ YYABORT

#define YYABORT   goto yyabortlab

Definition at line 713 of file readcf.cc.

◆ YYACCEPT

#define YYACCEPT   goto yyacceptlab

Definition at line 712 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)

Definition at line 719 of file readcf.cc.

◆ YYBISON

#define YYBISON   1

Definition at line 49 of file readcf.cc.

◆ YYBISON_VERSION

#define YYBISON_VERSION   "3.6.4"

Definition at line 52 of file readcf.cc.

◆ yyclearin

#define yyclearin   (yychar = YYEMPTY)

Definition at line 710 of file readcf.cc.

◆ YYDEBUG

#define YYDEBUG   0

Definition at line 155 of file readcf.cc.

◆ YYDPRINTF

#define YYDPRINTF (   Args)    ((void) 0)

Definition at line 868 of file readcf.cc.

◆ YYEOF

#define YYEOF   0

Definition at line 176 of file readcf.cc.

◆ YYERRCODE

#define YYERRCODE   YYUNDEF

Definition at line 738 of file readcf.cc.

◆ yyerrok

#define yyerrok   (yyerrstatus = 0)

Definition at line 709 of file readcf.cc.

◆ YYerror

#define YYerror   256

Definition at line 177 of file readcf.cc.

◆ YYERROR

#define YYERROR   goto yyerrorlab

Definition at line 714 of file readcf.cc.

◆ YYFINAL

#define YYFINAL   2

Definition at line 523 of file readcf.cc.

◆ YYFREE

#define YYFREE   free

Definition at line 454 of file readcf.cc.

◆ YYINITDEPTH

#define YYINITDEPTH   200

Definition at line 877 of file readcf.cc.

◆ YYLAST

#define YYLAST   44

Definition at line 525 of file readcf.cc.

◆ YYMALLOC

#define YYMALLOC   malloc

Definition at line 448 of file readcf.cc.

◆ YYMAXDEPTH

#define YYMAXDEPTH   10000

Definition at line 888 of file readcf.cc.

◆ YYMAXUTOK

#define YYMAXUTOK   259

Definition at line 536 of file readcf.cc.

◆ YYNNTS

#define YYNNTS   4

Definition at line 530 of file readcf.cc.

◆ YYNRULES

#define YYNRULES   14

Definition at line 532 of file readcf.cc.

◆ YYNSTATES

#define YYNSTATES   25

Definition at line 534 of file readcf.cc.

◆ YYNTOKENS

#define YYNTOKENS   13

Definition at line 528 of file readcf.cc.

◆ YYPACT_NINF

#define YYPACT_NINF   (-8)

Definition at line 621 of file readcf.cc.

◆ yypact_value_is_default

#define yypact_value_is_default (   Yyn)     ((Yyn) == YYPACT_NINF)

Definition at line 623 of file readcf.cc.

◆ YYPOPSTACK

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

◆ YYPTRDIFF_MAXIMUM

#define YYPTRDIFF_MAXIMUM   LONG_MAX

Definition at line 293 of file readcf.cc.

◆ YYPTRDIFF_T

#define YYPTRDIFF_T   long

Definition at line 292 of file readcf.cc.

◆ YYPULL

#define YYPULL   1

Definition at line 64 of file readcf.cc.

◆ YYPURE

#define YYPURE   0

Definition at line 58 of file readcf.cc.

◆ YYPUSH

#define YYPUSH   0

Definition at line 61 of file readcf.cc.

◆ YYRECOVERING

#define YYRECOVERING ( )    (!!yyerrstatus)

Definition at line 717 of file readcf.cc.

◆ YYSIZE_MAXIMUM

#define YYSIZE_MAXIMUM
Value:

Definition at line 310 of file readcf.cc.

◆ YYSIZE_T

#define YYSIZE_T   unsigned

Definition at line 306 of file readcf.cc.

◆ YYSIZEOF

#define YYSIZEOF (   X)    YY_CAST (YYPTRDIFF_T, sizeof (X))

Definition at line 316 of file readcf.cc.

◆ YYSKELETON_NAME

#define YYSKELETON_NAME   "yacc.c"

Definition at line 55 of file readcf.cc.

◆ YYSTACK_ALLOC

#define YYSTACK_ALLOC   YYMALLOC

Definition at line 434 of file readcf.cc.

◆ YYSTACK_ALLOC_MAXIMUM

#define YYSTACK_ALLOC_MAXIMUM   YYSIZE_MAXIMUM

Definition at line 437 of file readcf.cc.

◆ YYSTACK_FREE

#define YYSTACK_FREE   YYFREE

Definition at line 435 of file readcf.cc.

◆ YYSTYPE

#define YYSTYPE   ParseUtil

Definition at line 111 of file readcf.cc.

◆ YYTABLE_NINF

#define YYTABLE_NINF   (-1)

Definition at line 626 of file readcf.cc.

◆ yytable_value_is_error

#define yytable_value_is_error (   Yyn)     0

Definition at line 628 of file readcf.cc.

◆ YYTOKENTYPE

#define YYTOKENTYPE

Definition at line 163 of file readcf.cc.

◆ YYTRANSLATE

#define YYTRANSLATE (   YYX)
Value:
(0 <= (YYX) && (YYX) <= YYMAXUTOK \

Definition at line 541 of file readcf.cc.

◆ YYUNDEF

#define YYUNDEF   257

Definition at line 178 of file readcf.cc.

◆ YYUSE

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

Definition at line 356 of file readcf.cc.

Typedef Documentation

◆ yy_state_fast_t

typedef int yy_state_fast_t

Definition at line 323 of file readcf.cc.

◆ yy_state_t

Definition at line 320 of file readcf.cc.

◆ yysymbol_kind_t

Definition at line 192 of file readcf.cc.

◆ yytoken_kind_t

Definition at line 126 of file readcf.cc.

◆ yytype_int16

typedef short yytype_int16

Definition at line 256 of file readcf.cc.

◆ yytype_int8

typedef signed char yytype_int8

Definition at line 248 of file readcf.cc.

◆ yytype_uint16

typedef unsigned short yytype_uint16

Definition at line 276 of file readcf.cc.

◆ yytype_uint8

typedef unsigned char yytype_uint8

Definition at line 265 of file readcf.cc.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
YYENOMEM 

Definition at line 707 of file readcf.cc.

707 { YYENOMEM = -2 };

◆ yysymbol_kind_t

Enumerator
YYSYMBOL_YYEMPTY 
YYSYMBOL_YYEOF 
YYSYMBOL_YYerror 
YYSYMBOL_YYUNDEF 
YYSYMBOL_NUM 
YYSYMBOL_4_ 
YYSYMBOL_5_ 
YYSYMBOL_6_ 
YYSYMBOL_7_ 
YYSYMBOL_NEG 
YYSYMBOL_9_ 
YYSYMBOL_10_ 
YYSYMBOL_11_ 
YYSYMBOL_12_ 
YYSYMBOL_YYACCEPT 
YYSYMBOL_input 
YYSYMBOL_line 
YYSYMBOL_exp 

Definition at line 196 of file readcf.cc.

197 {
198  YYSYMBOL_YYEMPTY = -2,
199  YYSYMBOL_YYEOF = 0, /* "end of file" */
200  YYSYMBOL_YYerror = 1, /* error */
201  YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
202  YYSYMBOL_NUM = 3, /* NUM */
203  YYSYMBOL_4_ = 4, /* '-' */
204  YYSYMBOL_5_ = 5, /* '+' */
205  YYSYMBOL_6_ = 6, /* '*' */
206  YYSYMBOL_7_ = 7, /* '/' */
207  YYSYMBOL_NEG = 8, /* NEG */
208  YYSYMBOL_9_ = 9, /* '^' */
209  YYSYMBOL_10_ = 10, /* ';' */
210  YYSYMBOL_11_ = 11, /* '(' */
211  YYSYMBOL_12_ = 12, /* ')' */
212  YYSYMBOL_YYACCEPT = 13, /* $accept */
213  YYSYMBOL_input = 14, /* input */
214  YYSYMBOL_line = 15, /* line */
215  YYSYMBOL_exp = 16 /* exp */
216 };

◆ 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 
YYEMPTY 
YYEOF 
YYerror 
YYUNDEF 
NUM 
NEG 

Definition at line 164 of file readcf.cc.

165  {
166  YYEMPTY = -2,
167  YYEOF = 0, /* "end of file" */
168  YYerror = 256, /* error */
169  YYUNDEF = 257, /* "invalid token" */
170  NUM = 258, /* NUM */
171  NEG = 259 /* NEG */
172  };

Function Documentation

◆ readCF()

CanonicalForm readCF ( ISTREAM str)

Definition at line 1505 of file readcf.cc.

1506 {
1507  CanonicalForm theRetvalue;
1508  retvalue = new CanonicalForm();
1509 #ifdef BISONPP
1510  YY_parse_CLASS my_parser;
1511  defaultin = &str;
1512  if ( my_parser.yyparse() == 0 ) {
1513  theRetvalue = *retvalue;
1514  delete retvalue;
1515  return theRetvalue;
1516  }
1517  else {
1518  delete retvalue;
1519  return 0;
1520  }
1521 #else
1522  defaultin = &str;
1523  if ( yyparse() == 0 ) {
1524  theRetvalue = *retvalue;
1525  delete retvalue;
1526  return theRetvalue;
1527  }
1528  else {
1529  delete retvalue;
1530  return 0;
1531  }
1532 #endif
1533 }

◆ readString()

char * readString ( ISTREAM s)
static

Definition at line 1535 of file readcf.cc.

1536 {
1537  static char * buffer = 0;
1538  static int bufsize = 0;
1539 
1540  if ( buffer == 0 ) {
1541  bufsize = 10000;
1542  buffer = new char[bufsize];
1543  }
1544  int i = 0, c, goon = 1;
1545  while ( goon ) {
1546  while ( isdigit( c = s.get() ) && i < bufsize - 2 ) {
1547  buffer[i] = c;
1548  i++;
1549  }
1550  if ( isdigit( c ) ) {
1551  bufsize += 1000;
1552  char * newbuffer = (char*)memcpy( new char[bufsize], buffer, bufsize - 1000 );
1553  delete [] buffer;
1554  buffer = newbuffer;
1555  buffer[i] = c;
1556  i++;
1557  }
1558  else {
1559  goon = 0;
1560  buffer[i] = '\0';
1561  s.putback( c );
1562  }
1563  }
1564  return buffer;
1565 }

◆ yydestruct()

static void yydestruct ( const char *  yymsg,
yysymbol_kind_t  yykind,
YYSTYPE yyvaluep 
)
static

Definition at line 901 of file readcf.cc.

903 {
904  YYUSE (yyvaluep);
905  if (!yymsg)
906  yymsg = "Deleting";
907  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
908 
910  YYUSE (yykind);
912 }

◆ yyerror()

void yyerror ( char *  s)

Definition at line 1444 of file readcf.cc.

1446 {
1447  CERR << s << "\n";
1448 }

◆ yylex()

int yylex ( )

Definition at line 1453 of file readcf.cc.

1455 {
1456  int c;
1457 
1458  while ((c = defaultin->get()) == ' ' || c == '\t' || c == '\n' ) ;
1459  if ( isdigit( c ) ) {
1460  defaultin->putback( c );
1462  return NUM;
1463  }
1464  else if ( isalpha( c ) ) {
1465  // look for generators of GF(q)
1466  if ( getCharacteristic() > 0 && getGFDegree() > 1 && c == gf_name ) {
1467 #ifdef BISONPP
1468  this->yylval = getGFGenerator();
1469 #else
1470  yylval = getGFGenerator();
1471 #endif
1472  }
1473  else if ( c == getDefaultVarName() ) {
1474  int cc;
1475  cc = defaultin->get();
1476  if ( cc == '_' ) {
1478 #ifdef BISONPP
1479  this->yylval = Variable( index.getintval() );
1480 #else
1481  yylval = Variable( index.getintval() );
1482 #endif
1483  }
1484  else {
1485  defaultin->putback( cc );
1486 #ifdef BISONPP
1487  this->yylval = Variable( (char)c );
1488 #else
1489  yylval = Variable( (char)c );
1490 #endif
1491  }
1492  }
1493  else {
1494 #ifdef BISONPP
1495  this->yylval = Variable( (char)c );
1496 #else
1497  yylval = Variable( (char)c );
1498 #endif
1499  }
1500  return NUM;
1501  }
1502  return c;
1503 }

◆ yyparse()

int yyparse ( void  )

Definition at line 931 of file readcf.cc.

932 {
933  yy_state_fast_t yystate;
934  /* Number of tokens to shift before error messages enabled. */
935  int yyerrstatus;
936 
937  /* The stacks and their tools:
938  'yyss': related to states.
939  'yyvs': related to semantic values.
940 
941  Refer to the stacks through separate pointers, to allow yyoverflow
942  to reallocate them elsewhere. */
943 
944  /* Their size. */
945  YYPTRDIFF_T yystacksize;
946 
947  /* The state stack. */
948  yy_state_t yyssa[YYINITDEPTH];
949  yy_state_t *yyss;
950  yy_state_t *yyssp;
951 
952  /* The semantic value stack. */
953  YYSTYPE yyvsa[YYINITDEPTH];
954  YYSTYPE *yyvs;
955  YYSTYPE *yyvsp;
956 
957  int yyn;
958  /* The return value of yyparse. */
959  int yyresult;
960  /* Lookahead token as an internal (translated) token number. */
962  /* The variables used to return semantic value and location from the
963  action routines. */
964  YYSTYPE yyval;
965 
966 
967 
968 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
969 
970  /* The number of symbols on the RHS of the reduced rule.
971  Keep to zero when no symbol should be popped. */
972  int yylen = 0;
973 
974  yynerrs = 0;
975  yystate = 0;
976  yyerrstatus = 0;
977 
978  yystacksize = YYINITDEPTH;
979  yyssp = yyss = yyssa;
980  yyvsp = yyvs = yyvsa;
981 
982 
983  YYDPRINTF ((stderr, "Starting parse\n"));
984 
985  yychar = YYEMPTY; /* Cause a token to be read. */
986  goto yysetstate;
987 
988 
989 /*------------------------------------------------------------.
990 | yynewstate -- push a new state, which is found in yystate. |
991 `------------------------------------------------------------*/
992 yynewstate:
993  /* In all cases, when you get here, the value and location stacks
994  have just been pushed. So pushing a state here evens the stacks. */
995  yyssp++;
996 
997 
998 /*--------------------------------------------------------------------.
999 | yysetstate -- set current state (the top of the stack) to yystate. |
1000 `--------------------------------------------------------------------*/
1001 yysetstate:
1002  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1003  YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
1005  *yyssp = YY_CAST (yy_state_t, yystate);
1007  YY_STACK_PRINT (yyss, yyssp);
1008 
1009  if (yyss + yystacksize - 1 <= yyssp)
1010 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1011  goto yyexhaustedlab;
1012 #else
1013  {
1014  /* Get the current used size of the three stacks, in elements. */
1015  YYPTRDIFF_T yysize = yyssp - yyss + 1;
1016 
1017 # if defined yyoverflow
1018  {
1019  /* Give user a chance to reallocate the stack. Use copies of
1020  these so that the &'s don't force the real ones into
1021  memory. */
1022  yy_state_t *yyss1 = yyss;
1023  YYSTYPE *yyvs1 = yyvs;
1024 
1025  /* Each stack pointer address is followed by the size of the
1026  data in use in that stack, in bytes. This used to be a
1027  conditional around just the two extra args, but that might
1028  be undefined if yyoverflow is a macro. */
1029  yyoverflow (YY_("memory exhausted"),
1030  &yyss1, yysize * YYSIZEOF (*yyssp),
1031  &yyvs1, yysize * YYSIZEOF (*yyvsp),
1032  &yystacksize);
1033  yyss = yyss1;
1034  yyvs = yyvs1;
1035  }
1036 # else /* defined YYSTACK_RELOCATE */
1037  /* Extend the stack our own way. */
1038  if (YYMAXDEPTH <= yystacksize)
1039  goto yyexhaustedlab;
1040  yystacksize *= 2;
1041  if (YYMAXDEPTH < yystacksize)
1042  yystacksize = YYMAXDEPTH;
1043 
1044  {
1045  yy_state_t *yyss1 = yyss;
1046  union yyalloc *yyptr =
1047  YY_CAST (union yyalloc *,
1048  YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
1049  if (! yyptr)
1050  goto yyexhaustedlab;
1051  YYSTACK_RELOCATE (yyss_alloc, yyss);
1052  YYSTACK_RELOCATE (yyvs_alloc, yyvs);
1053 # undef YYSTACK_RELOCATE
1054  if (yyss1 != yyssa)
1055  YYSTACK_FREE (yyss1);
1056  }
1057 # endif
1058 
1059  yyssp = yyss + yysize - 1;
1060  yyvsp = yyvs + yysize - 1;
1061 
1063  YYDPRINTF ((stderr, "Stack size increased to %ld\n",
1064  YY_CAST (long, yystacksize)));
1066 
1067  if (yyss + yystacksize - 1 <= yyssp)
1068  YYABORT;
1069  }
1070 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
1071 
1072  if (yystate == YYFINAL)
1073  YYACCEPT;
1074 
1075  goto yybackup;
1076 
1077 
1078 /*-----------.
1079 | yybackup. |
1080 `-----------*/
1081 yybackup:
1082  /* Do appropriate processing given the current state. Read a
1083  lookahead token if we need one and don't already have one. */
1084 
1085  /* First try to decide what to do without reference to lookahead token. */
1086  yyn = yypact[yystate];
1087  if (yypact_value_is_default (yyn))
1088  goto yydefault;
1089 
1090  /* Not known => get a lookahead token if don't already have one. */
1091 
1092  /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
1093  if (yychar == YYEMPTY)
1094  {
1095  YYDPRINTF ((stderr, "Reading a token\n"));
1096  yychar = yylex ();
1097  }
1098 
1099  if (yychar <= YYEOF)
1100  {
1101  yychar = YYEOF;
1102  yytoken = YYSYMBOL_YYEOF;
1103  YYDPRINTF ((stderr, "Now at end of input.\n"));
1104  }
1105  else if (yychar == YYerror)
1106  {
1107  /* The scanner already issued an error message, process directly
1108  to error recovery. But do not keep the error token as
1109  lookahead, it is too special and may lead us to an endless
1110  loop in error recovery. */
1111  yychar = YYUNDEF;
1112  yytoken = YYSYMBOL_YYerror;
1113  goto yyerrlab1;
1114  }
1115  else
1116  {
1117  yytoken = YYTRANSLATE (yychar);
1118  YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
1119  }
1120 
1121  /* If the proper action on seeing token YYTOKEN is to reduce or to
1122  detect an error, take that action. */
1123  yyn += yytoken;
1124  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
1125  goto yydefault;
1126  yyn = yytable[yyn];
1127  if (yyn <= 0)
1128  {
1129  if (yytable_value_is_error (yyn))
1130  goto yyerrlab;
1131  yyn = -yyn;
1132  goto yyreduce;
1133  }
1134 
1135  /* Count tokens shifted since error; after three, turn off error
1136  status. */
1137  if (yyerrstatus)
1138  yyerrstatus--;
1139 
1140  /* Shift the lookahead token. */
1141  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
1142  yystate = yyn;
1144  *++yyvsp = yylval;
1146 
1147  /* Discard the shifted token. */
1148  yychar = YYEMPTY;
1149  goto yynewstate;
1150 
1151 
1152 /*-----------------------------------------------------------.
1153 | yydefault -- do the default action for the current state. |
1154 `-----------------------------------------------------------*/
1155 yydefault:
1156  yyn = yydefact[yystate];
1157  if (yyn == 0)
1158  goto yyerrlab;
1159  goto yyreduce;
1160 
1161 
1162 /*-----------------------------.
1163 | yyreduce -- do a reduction. |
1164 `-----------------------------*/
1165 yyreduce:
1166  /* yyn is the number of a rule to reduce with. */
1167  yylen = yyr2[yyn];
1168 
1169  /* If YYLEN is nonzero, implement the default value of the action:
1170  '$$ = $1'.
1171 
1172  Otherwise, the following line sets YYVAL to garbage.
1173  This behavior is undocumented and Bison
1174  users should not rely upon it. Assigning to YYVAL
1175  unconditionally makes the parser a bit smaller, and it avoids a
1176  GCC warning that YYVAL may be used uninitialized. */
1177  yyval = yyvsp[1-yylen];
1178 
1179 
1180  YY_REDUCE_PRINT (yyn);
1181  switch (yyn)
1182  {
1183  case 5:
1184 #line 78 "readcf.yy"
1185  { *retvalue = yyvsp[-1].getval(); return 0; }
1186 #line 1187 "readcf.cc"
1187  break;
1188 
1189  case 6:
1190 #line 81 "readcf.yy"
1191  { yyval = yyvsp[0]; }
1192 #line 1193 "readcf.cc"
1193  break;
1194 
1195  case 7:
1196 #line 82 "readcf.yy"
1197  { yyval = yyvsp[-2].getval() + yyvsp[0].getval(); }
1198 #line 1199 "readcf.cc"
1199  break;
1200 
1201  case 8:
1202 #line 83 "readcf.yy"
1203  { yyval = yyvsp[-2].getval() - yyvsp[0].getval(); }
1204 #line 1205 "readcf.cc"
1205  break;
1206 
1207  case 9:
1208 #line 84 "readcf.yy"
1209  { yyval = yyvsp[-2].getval() * yyvsp[0].getval(); }
1210 #line 1211 "readcf.cc"
1211  break;
1212 
1213  case 10:
1214 #line 85 "readcf.yy"
1215  { yyval = yyvsp[-2].getval() / yyvsp[0].getval(); }
1216 #line 1217 "readcf.cc"
1217  break;
1218 
1219  case 11:
1220 #line 86 "readcf.yy"
1221  { yyval = -yyvsp[0].getval(); }
1222 #line 1223 "readcf.cc"
1223  break;
1224 
1225  case 12:
1226 #line 87 "readcf.yy"
1227  { yyval = yyvsp[0].getval(); }
1228 #line 1229 "readcf.cc"
1229  break;
1230 
1231  case 13:
1232 #line 88 "readcf.yy"
1233  { yyval = power( yyvsp[-2].getval(), yyvsp[0].getintval() ); }
1234 #line 1235 "readcf.cc"
1235  break;
1236 
1237  case 14:
1238 #line 89 "readcf.yy"
1239  { yyval = yyvsp[-1].getval(); }
1240 #line 1241 "readcf.cc"
1241  break;
1242 
1243 
1244 #line 1245 "readcf.cc"
1245 
1246  default: break;
1247  }
1248  /* User semantic actions sometimes alter yychar, and that requires
1249  that yytoken be updated with the new translation. We take the
1250  approach of translating immediately before every use of yytoken.
1251  One alternative is translating here after every semantic action,
1252  but that translation would be missed if the semantic action invokes
1253  YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
1254  if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
1255  incorrect destructor might then be invoked immediately. In the
1256  case of YYERROR or YYBACKUP, subsequent parser actions might lead
1257  to an incorrect destructor call or verbose syntax error message
1258  before the lookahead is translated. */
1259  YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
1260 
1261  YYPOPSTACK (yylen);
1262  yylen = 0;
1263 
1264  *++yyvsp = yyval;
1265 
1266  /* Now 'shift' the result of the reduction. Determine what state
1267  that goes to, based on the state we popped back to and the rule
1268  number reduced by. */
1269  {
1270  const int yylhs = yyr1[yyn] - YYNTOKENS;
1271  const int yyi = yypgoto[yylhs] + *yyssp;
1272  yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
1273  ? yytable[yyi]
1274  : yydefgoto[yylhs]);
1275  }
1276 
1277  goto yynewstate;
1278 
1279 
1280 /*--------------------------------------.
1281 | yyerrlab -- here on detecting error. |
1282 `--------------------------------------*/
1283 yyerrlab:
1284  /* Make sure we have latest lookahead translation. See comments at
1285  user semantic actions for why this is necessary. */
1286  yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
1287  /* If not already recovering from an error, report this error. */
1288  if (!yyerrstatus)
1289  {
1290  ++yynerrs;
1291  yyerror (YY_("syntax error"));
1292  }
1293 
1294  if (yyerrstatus == 3)
1295  {
1296  /* If just tried and failed to reuse lookahead token after an
1297  error, discard it. */
1298 
1299  if (yychar <= YYEOF)
1300  {
1301  /* Return failure if at end of input. */
1302  if (yychar == YYEOF)
1303  YYABORT;
1304  }
1305  else
1306  {
1307  yydestruct ("Error: discarding",
1308  yytoken, &yylval);
1309  yychar = YYEMPTY;
1310  }
1311  }
1312 
1313  /* Else will try to reuse lookahead token after shifting the error
1314  token. */
1315  goto yyerrlab1;
1316 
1317 
1318 /*---------------------------------------------------.
1319 | yyerrorlab -- error raised explicitly by YYERROR. |
1320 `---------------------------------------------------*/
1321 yyerrorlab:
1322  /* Pacify compilers when the user code never invokes YYERROR and the
1323  label yyerrorlab therefore never appears in user code. */
1324  if (0)
1325  YYERROR;
1326 
1327  /* Do not reclaim the symbols of the rule whose action triggered
1328  this YYERROR. */
1329  YYPOPSTACK (yylen);
1330  yylen = 0;
1331  YY_STACK_PRINT (yyss, yyssp);
1332  yystate = *yyssp;
1333  goto yyerrlab1;
1334 
1335 
1336 /*-------------------------------------------------------------.
1337 | yyerrlab1 -- common code for both syntax error and YYERROR. |
1338 `-------------------------------------------------------------*/
1339 yyerrlab1:
1340  yyerrstatus = 3; /* Each real token shifted decrements this. */
1341 
1342  /* Pop stack until we find a state that shifts the error token. */
1343  for (;;)
1344  {
1345  yyn = yypact[yystate];
1346  if (!yypact_value_is_default (yyn))
1347  {
1348  yyn += YYSYMBOL_YYerror;
1349  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
1350  {
1351  yyn = yytable[yyn];
1352  if (0 < yyn)
1353  break;
1354  }
1355  }
1356 
1357  /* Pop the current state because it cannot handle the error token. */
1358  if (yyssp == yyss)
1359  YYABORT;
1360 
1361 
1362  yydestruct ("Error: popping",
1363  YY_ACCESSING_SYMBOL (yystate), yyvsp);
1364  YYPOPSTACK (1);
1365  yystate = *yyssp;
1366  YY_STACK_PRINT (yyss, yyssp);
1367  }
1368 
1370  *++yyvsp = yylval;
1372 
1373 
1374  /* Shift the error token. */
1375  YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
1376 
1377  yystate = yyn;
1378  goto yynewstate;
1379 
1380 
1381 /*-------------------------------------.
1382 | yyacceptlab -- YYACCEPT comes here. |
1383 `-------------------------------------*/
1384 yyacceptlab:
1385  yyresult = 0;
1386  goto yyreturn;
1387 
1388 
1389 /*-----------------------------------.
1390 | yyabortlab -- YYABORT comes here. |
1391 `-----------------------------------*/
1392 yyabortlab:
1393  yyresult = 1;
1394  goto yyreturn;
1395 
1396 
1397 #if !defined yyoverflow
1398 /*-------------------------------------------------.
1399 | yyexhaustedlab -- memory exhaustion comes here. |
1400 `-------------------------------------------------*/
1401 yyexhaustedlab:
1402  yyerror (YY_("memory exhausted"));
1403  yyresult = 2;
1404  /* Fall through. */
1405 #endif
1406 
1407 
1408 /*-----------------------------------------------------.
1409 | yyreturn -- parsing is finished, return the result. |
1410 `-----------------------------------------------------*/
1411 yyreturn:
1412  if (yychar != YYEMPTY)
1413  {
1414  /* Make sure we have latest lookahead translation. See comments at
1415  user semantic actions for why this is necessary. */
1416  yytoken = YYTRANSLATE (yychar);
1417  yydestruct ("Cleanup: discarding lookahead",
1418  yytoken, &yylval);
1419  }
1420  /* Do not reclaim the symbols of the rule whose action triggered
1421  this YYABORT or YYACCEPT. */
1422  YYPOPSTACK (yylen);
1423  YY_STACK_PRINT (yyss, yyssp);
1424  while (yyssp != yyss)
1425  {
1426  yydestruct ("Cleanup: popping",
1427  YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
1428  YYPOPSTACK (1);
1429  }
1430 #ifndef yyoverflow
1431  if (yyss != yyssa)
1432  YYSTACK_FREE (yyss);
1433 #endif
1434 
1435  return yyresult;
1436 }

Variable Documentation

◆ defaultin

ISTREAM* defaultin = 0
static

Definition at line 124 of file readcf.cc.

◆ retvalue

CanonicalForm* retvalue = 0
static

Definition at line 126 of file readcf.cc.

◆ yychar

int yychar

Definition at line 916 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 674 of file readcf.cc.

◆ yydefact

const yytype_int8 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 643 of file readcf.cc.

◆ yydefgoto

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

Definition at line 657 of file readcf.cc.

◆ yylval

YYSTYPE yylval

Definition at line 919 of file readcf.cc.

◆ yynerrs

int yynerrs

Definition at line 921 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 633 of file readcf.cc.

◆ yypgoto

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

Definition at line 651 of file readcf.cc.

◆ yyr1

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

Definition at line 693 of file readcf.cc.

◆ yyr2

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

Definition at line 700 of file readcf.cc.

◆ yystos

const yytype_int8 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 685 of file readcf.cc.

◆ yytable

const yytype_int8 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 665 of file readcf.cc.

◆ yytranslate

const yytype_int8 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 548 of file readcf.cc.

YYMAXUTOK
#define YYMAXUTOK
Definition: readcf.cc:536
YYSYMBOL_NUM
@ YYSYMBOL_NUM
Definition: readcf.cc:202
yytable_value_is_error
#define yytable_value_is_error(Yyn)
Definition: readcf.cc:628
yyparse
int yyparse(void)
Definition: readcf.cc:931
YYSYMBOL_NEG
@ YYSYMBOL_NEG
Definition: readcf.cc:207
YYSYMBOL_4_
@ YYSYMBOL_4_
Definition: readcf.cc:203
YYSYMBOL_9_
@ YYSYMBOL_9_
Definition: readcf.cc:208
YYSYMBOL_input
@ YYSYMBOL_input
Definition: readcf.cc:213
yypact_value_is_default
#define yypact_value_is_default(Yyn)
Definition: readcf.cc:623
retvalue
static CanonicalForm * retvalue
Definition: readcf.cc:126
yyr1
static const yytype_int8 yyr1[]
Definition: readcf.cc:693
YYNSTATES
#define YYNSTATES
Definition: readcf.cc:534
YYPOPSTACK
#define YYPOPSTACK(N)
NEG
#define NEG
Definition: readcf.cc:180
yy_state_fast_t
int yy_state_fast_t
Definition: readcf.cc:323
readString
static char * readString(ISTREAM &)
Definition: readcf.cc:1535
YYSYMBOL_10_
@ YYSYMBOL_10_
Definition: readcf.cc:209
YY_SYMBOL_PRINT
#define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
Definition: readcf.cc:869
YY_STACK_PRINT
#define YY_STACK_PRINT(Bottom, Top)
Definition: readcf.cc:870
YY_IGNORE_MAYBE_UNINITIALIZED_END
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
Definition: readcf.cc:374
YYSYMBOL_YYEMPTY
@ YYSYMBOL_YYEMPTY
Definition: readcf.cc:198
YYSYMBOL_exp
@ YYSYMBOL_exp
Definition: readcf.cc:215
power
CanonicalForm power(const CanonicalForm &f, int n)
exponentiation
Definition: canonicalform.cc:1837
NUM
#define NUM
Definition: readcf.cc:179
YY_IGNORE_USELESS_CAST_END
#define YY_IGNORE_USELESS_CAST_END
Definition: readcf.cc:389
YYUNDEF
#define YYUNDEF
Definition: readcf.cc:178
defaultin
static ISTREAM * defaultin
Definition: readcf.cc:124
YYPTRDIFF_MAXIMUM
#define YYPTRDIFF_MAXIMUM
Definition: readcf.cc:293
yyr2
static const yytype_int8 yyr2[]
Definition: readcf.cc:700
yyerror
void yyerror(char *s)
Definition: readcf.cc:1444
YY_ACCESSING_SYMBOL
#define YY_ACCESSING_SYMBOL(State)
Accessing symbol of state STATE.
Definition: readcf.cc:588
YYSTACK_ALLOC
#define YYSTACK_ALLOC
Definition: readcf.cc:434
YYSYMBOL_5_
@ YYSYMBOL_5_
Definition: readcf.cc:204
gf_name
char gf_name
Definition: gfops.cc:52
getCharacteristic
int getCharacteristic()
Definition: cf_char.cc:51
YYFINAL
#define YYFINAL
Definition: readcf.cc:523
yychar
int yychar
Definition: readcf.cc:916
YYSIZEOF
#define YYSIZEOF(X)
Definition: readcf.cc:316
CanonicalForm
factory's main class
Definition: canonicalform.h:83
getDefaultVarName
char getDefaultVarName()
Definition: variable.cc:244
YYSYMBOL_7_
@ YYSYMBOL_7_
Definition: readcf.cc:206
YY_REDUCE_PRINT
#define YY_REDUCE_PRINT(Rule)
Definition: readcf.cc:871
YY_
#define YY_(Msgid)
Definition: readcf.cc:333
i
int i
Definition: cfEzgcd.cc:125
YYNTOKENS
#define YYNTOKENS
Definition: readcf.cc:528
CERR
#define CERR
Definition: readcf.cc:94
yydestruct
static void yydestruct(const char *yymsg, yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
Definition: readcf.cc:901
yycheck
static const yytype_int8 yycheck[]
Definition: readcf.cc:674
getGFGenerator
CanonicalForm getGFGenerator()
Definition: cf_char.cc:62
yydefact
static const yytype_int8 yydefact[]
Definition: readcf.cc:643
yytable
static const yytype_int8 yytable[]
Definition: readcf.cc:665
YYDPRINTF
#define YYDPRINTF(Args)
Definition: readcf.cc:868
yynerrs
int yynerrs
Definition: readcf.cc:921
YYSYMBOL_YYUNDEF
@ YYSYMBOL_YYUNDEF
Definition: readcf.cc:201
YYSYMBOL_YYACCEPT
@ YYSYMBOL_YYACCEPT
Definition: readcf.cc:212
YYENOMEM
@ YYENOMEM
Definition: readcf.cc:707
YYINITDEPTH
#define YYINITDEPTH
Definition: readcf.cc:877
YYSYMBOL_12_
@ YYSYMBOL_12_
Definition: readcf.cc:211
yydefgoto
static const yytype_int8 yydefgoto[]
Definition: readcf.cc:657
getGFDegree
int getGFDegree()
Definition: cf_char.cc:56
yysymbol_kind_t
yysymbol_kind_t
Definition: readcf.cc:197
YYerror
#define YYerror
Definition: readcf.cc:177
YYSYMBOL_11_
@ YYSYMBOL_11_
Definition: readcf.cc:210
yylval
YYSTYPE yylval
Definition: readcf.cc:919
YYSYMBOL_line
@ YYSYMBOL_line
Definition: readcf.cc:214
YYABORT
#define YYABORT
Definition: readcf.cc:713
YYSYMBOL_6_
@ YYSYMBOL_6_
Definition: readcf.cc:205
YYEOF
#define YYEOF
Definition: readcf.cc:176
YYSYMBOL_YYEOF
@ YYSYMBOL_YYEOF
Definition: readcf.cc:199
YYSTYPE
#define YYSTYPE
Definition: readcf.cc:111
Variable
factory's class for variables
Definition: factory.h:118
YYSYMBOL_YYerror
@ YYSYMBOL_YYerror
Definition: readcf.cc:200
yypact
static const yytype_int8 yypact[]
Definition: readcf.cc:633
YYACCEPT
#define YYACCEPT
Definition: readcf.cc:712
YYERROR
#define YYERROR
Definition: readcf.cc:714
YYTRANSLATE
#define YYTRANSLATE(YYX)
Definition: readcf.cc:541
YY_IGNORE_USELESS_CAST_BEGIN
#define YY_IGNORE_USELESS_CAST_BEGIN
Definition: readcf.cc:388
YYUSE
#define YYUSE(E)
Definition: readcf.cc:356
yylex
int yylex()
Definition: readcf.cc:1453
YYSIZE_T
#define YYSIZE_T
Definition: readcf.cc:306
yytranslate
static const yytype_int8 yytranslate[]
Definition: readcf.cc:548
yypgoto
static const yytype_int8 yypgoto[]
Definition: readcf.cc:651
YY_CAST
#define YY_CAST(Type, Val)
Definition: readcf.cc:133
s
const CanonicalForm int s
Definition: facAbsFact.cc:55
ParseUtil
Definition: parseutil.h:15
YYEMPTY
@ YYEMPTY
Definition: readcf.cc:166
YY_ASSERT
#define YY_ASSERT(E)
Definition: readcf.cc:393
index
static int index(p_Length length, p_Ord ord)
Definition: p_Procs_Impl.h:592
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
Definition: readcf.cc:373
YYSTACK_FREE
#define YYSTACK_FREE
Definition: readcf.cc:435
YYMAXDEPTH
#define YYMAXDEPTH
Definition: readcf.cc:888
if
if(yy_init)
Definition: libparse.cc:1418
YYLAST
#define YYLAST
Definition: readcf.cc:525
YYPTRDIFF_T
#define YYPTRDIFF_T
Definition: readcf.cc:292
CanonicalForm::getval
InternalCF * getval() const
Definition: canonicalform.cc:31
yy_state_t
yytype_int8 yy_state_t
Definition: readcf.cc:320