oagTimerLibParser.cxx File Reference

#include <iostream>
#include <string.h>
#include "oaDesignDB.h"
#include "oagTimerLibData.h"

Include dependency graph for oagTimerLibParser.cxx:

Include dependency graph

Namespaces

namespace  oagTimer

Classes

class  oagTimer::exprTree2
union  YYSTYPE
union  oagTimerLib_yyalloc

Defines

#define YYBISON   1
#define YYSKELETON_NAME   "yacc.c"
#define YYPURE   0
#define YYLSP_NEEDED   0
#define IDENTIFIER   258
#define NUMBER   259
#define TNUMBER   260
#define K_AREA   261
#define K_CAPACITANCE   262
#define K_CAP_LOAD_UNIT   263
#define K_CELL   264
#define K_CELL_FALL   265
#define K_CELL_FOOTPRINT   266
#define K_CELL_LEAKAGE_POWER   267
#define K_CELL_RISE   268
#define K_CLOCK   269
#define K_DEFINE_CELL_AREA   270
#define K_DEFINE   271
#define K_DIRECTION   272
#define K_FALL_CAP_RANGE   273
#define K_FALL_CONS   274
#define K_FALL_TRAN   275
#define K_FANOUT_LEN   276
#define K_FF   277
#define K_FUNCTION   278
#define K_INDEX1   279
#define K_INDEX2   280
#define K_INDEX3   281
#define K_INTERNAL_POWER   282
#define K_INPUT_VOL   283
#define K_LATCH   284
#define K_LEAKAGE_POWER   285
#define K_LEAKAGE_POWER_UNIT   286
#define K_LIBRARY   287
#define K_LIB_FEATURE   288
#define K_LUTABLETEMP   289
#define K_MAXCAP   290
#define K_OP_COND   291
#define K_OUTPUT_VOL   292
#define K_PIN   293
#define K_POWER_TABLE   294
#define K_OUTPUT_CURRENT_TEMP   295
#define K_RELATED_PIN   296
#define K_RISE_CAP_RANGE   297
#define K_RISE_CONS   298
#define K_RISE_TRAN   299
#define K_SLEW_LOW_FALL   300
#define K_SLEW_LOW_RISE   301
#define K_SLEW_HIGH_FALL   302
#define K_SLEW_HIGH_RISE   303
#define K_SLOPE   304
#define K_STATETABLE   305
#define K_TECHNOLOGY   306
#define K_TEST_CELL   307
#define K_TIME_UNIT   308
#define K_TIMING   309
#define K_TIMING_SENSE   310
#define K_TIMING_TYPE   311
#define K_VALUES   312
#define K_VARIABLE_1   313
#define K_VARIABLE_2   314
#define K_VARIABLE_3   315
#define K_WIRE_LOAD   316
#define K_WIRE_LOAD_AREA   317
#define K_WIRE_LOAD_SEL   318
#define K_YIELD_METRIC   319
#define K_VOLTAGE_MAP   320
#define K_PG_PIN   321
#define YYDEBUG   0
#define YYERROR_VERBOSE   0
#define oagTimerLib_yystype   YYSTYPE
#define YYSTYPE_IS_DECLARED   1
#define YYSTYPE_IS_TRIVIAL   1
#define YYFREE   free
#define YYMALLOC   malloc
#define YYSTACK_ALLOC   YYMALLOC
#define YYSTACK_FREE   YYFREE
#define YYSTACK_GAP_MAXIMUM   (sizeof (union oagTimerLib_yyalloc) - 1)
#define YYSTACK_BYTES(N)
#define YYCOPY(To, From, Count)
#define YYSTACK_RELOCATE(Stack)
#define YYFINAL   4
#define YYLAST   1408
#define YYNTOKENS   87
#define YYNNTS   129
#define YYNRULES   306
#define YYNSTATES   642
#define YYUNDEFTOK   2
#define YYMAXUTOK   321
#define YYTRANSLATE(YYX)   ((unsigned int) (YYX) <= YYMAXUTOK ? oagTimerLib_yytranslate[YYX] : YYUNDEFTOK)
#define YYPACT_NINF   -520
#define YYTABLE_NINF   -306
#define YYSIZE_T   unsigned int
#define oagTimerLib_yyerrok   (oagTimerLib_yyerrstatus = 0)
#define oagTimerLib_yyclearin   (oagTimerLib_yychar = YYEMPTY)
#define YYEMPTY   (-2)
#define YYEOF   0
#define YYACCEPT   goto oagTimerLib_yyacceptlab
#define YYABORT   goto oagTimerLib_yyabortlab
#define YYERROR   goto oagTimerLib_yyerrorlab
#define YYFAIL   goto oagTimerLib_yyerrlab
#define YYRECOVERING()   (!!oagTimerLib_yyerrstatus)
#define YYBACKUP(Token, Value)
#define YYTERROR   1
#define YYERRCODE   256
#define YYLLOC_DEFAULT(Current, Rhs, N)
#define YYLEX   oagTimerLib_yylex ()
#define YYDPRINTF(Args)
#define YYDSYMPRINT(Args)
#define YYDSYMPRINTF(Title, Token, Value, Location)
#define YY_STACK_PRINT(Bottom, Top)
#define YY_REDUCE_PRINT(Rule)
#define YYINITDEPTH   200
#define YYMAXDEPTH   10000
#define YYPOPSTACK   (oagTimerLib_yyvsp--, oagTimerLib_yyssp--)

Typedefs

typedef YYSTYPE YYSTYPE
typedef short oagTimerLib_yysigned_char

Enumerations

enum  oagTimerLib_yytokentype {
  IDENTIFIER = 258, NUMBER = 259, TNUMBER = 260, K_AREA = 261,
  K_CAPACITANCE = 262, K_CAP_LOAD_UNIT = 263, K_CELL = 264, K_CELL_FALL = 265,
  K_CELL_FOOTPRINT = 266, K_CELL_LEAKAGE_POWER = 267, K_CELL_RISE = 268, K_CLOCK = 269,
  K_DEFINE_CELL_AREA = 270, K_DEFINE = 271, K_DIRECTION = 272, K_FALL_CAP_RANGE = 273,
  K_FALL_CONS = 274, K_FALL_TRAN = 275, K_FANOUT_LEN = 276, K_FF = 277,
  K_FUNCTION = 278, K_INDEX1 = 279, K_INDEX2 = 280, K_INDEX3 = 281,
  K_INTERNAL_POWER = 282, K_INPUT_VOL = 283, K_LATCH = 284, K_LEAKAGE_POWER = 285,
  K_LEAKAGE_POWER_UNIT = 286, K_LIBRARY = 287, K_LIB_FEATURE = 288, K_LUTABLETEMP = 289,
  K_MAXCAP = 290, K_OP_COND = 291, K_OUTPUT_VOL = 292, K_PIN = 293,
  K_POWER_TABLE = 294, K_OUTPUT_CURRENT_TEMP = 295, K_RELATED_PIN = 296, K_RISE_CAP_RANGE = 297,
  K_RISE_CONS = 298, K_RISE_TRAN = 299, K_SLEW_LOW_FALL = 300, K_SLEW_LOW_RISE = 301,
  K_SLEW_HIGH_FALL = 302, K_SLEW_HIGH_RISE = 303, K_SLOPE = 304, K_STATETABLE = 305,
  K_TECHNOLOGY = 306, K_TEST_CELL = 307, K_TIME_UNIT = 308, K_TIMING = 309,
  K_TIMING_SENSE = 310, K_TIMING_TYPE = 311, K_VALUES = 312, K_VARIABLE_1 = 313,
  K_VARIABLE_2 = 314, K_VARIABLE_3 = 315, K_WIRE_LOAD = 316, K_WIRE_LOAD_AREA = 317,
  K_WIRE_LOAD_SEL = 318, K_YIELD_METRIC = 319, K_VOLTAGE_MAP = 320, K_PG_PIN = 321
}

Functions

int oagTimerLib_yylex (void)
void oagTimerLib_yyerror (const char *s)
void oagTimerLib_yydestruct (oagTimerLib_yytype, oagTimerLib_yyvaluep) int oagTimerLib_yytype
int oagTimerLib_yyparse ()

Variables

LibData libParseData
const unsigned char oagTimerLib_yytranslate []
const unsigned char oagTimerLib_yyr1 []
const unsigned char oagTimerLib_yyr2 []
const unsigned short oagTimerLib_yydefact []
const short oagTimerLib_yydefgoto []
const short oagTimerLib_yypact []
const short oagTimerLib_yypgoto []
const short oagTimerLib_yytable []
const short oagTimerLib_yycheck []
const unsigned char oagTimerLib_yystos []
YYSTYPEoagTimerLib_yyvaluep
int oagTimerLib_yychar
YYSTYPE oagTimerLib_yylval
int oagTimerLib_yynerrs

Define Documentation

#define IDENTIFIER   258
 

#define K_AREA   261
 

#define K_CAP_LOAD_UNIT   263
 

#define K_CAPACITANCE   262
 

#define K_CELL   264
 

#define K_CELL_FALL   265
 

#define K_CELL_FOOTPRINT   266
 

#define K_CELL_LEAKAGE_POWER   267
 

#define K_CELL_RISE   268
 

#define K_CLOCK   269
 

#define K_DEFINE   271
 

#define K_DEFINE_CELL_AREA   270
 

#define K_DIRECTION   272
 

#define K_FALL_CAP_RANGE   273
 

#define K_FALL_CONS   274
 

#define K_FALL_TRAN   275
 

#define K_FANOUT_LEN   276
 

#define K_FF   277
 

#define K_FUNCTION   278
 

#define K_INDEX1   279
 

#define K_INDEX2   280
 

#define K_INDEX3   281
 

#define K_INPUT_VOL   283
 

#define K_INTERNAL_POWER   282
 

#define K_LATCH   284
 

#define K_LEAKAGE_POWER   285
 

#define K_LEAKAGE_POWER_UNIT   286
 

#define K_LIB_FEATURE   288
 

#define K_LIBRARY   287
 

#define K_LUTABLETEMP   289
 

#define K_MAXCAP   290
 

#define K_OP_COND   291
 

#define K_OUTPUT_CURRENT_TEMP   295
 

#define K_OUTPUT_VOL   292
 

#define K_PG_PIN   321
 

#define K_PIN   293
 

#define K_POWER_TABLE   294
 

#define K_RELATED_PIN   296
 

#define K_RISE_CAP_RANGE   297
 

#define K_RISE_CONS   298
 

#define K_RISE_TRAN   299
 

#define K_SLEW_HIGH_FALL   302
 

#define K_SLEW_HIGH_RISE   303
 

#define K_SLEW_LOW_FALL   300
 

#define K_SLEW_LOW_RISE   301
 

#define K_SLOPE   304
 

#define K_STATETABLE   305
 

#define K_TECHNOLOGY   306
 

#define K_TEST_CELL   307
 

#define K_TIME_UNIT   308
 

#define K_TIMING   309
 

#define K_TIMING_SENSE   310
 

#define K_TIMING_TYPE   311
 

#define K_VALUES   312
 

#define K_VARIABLE_1   313
 

#define K_VARIABLE_2   314
 

#define K_VARIABLE_3   315
 

#define K_VOLTAGE_MAP   320
 

#define K_WIRE_LOAD   316
 

#define K_WIRE_LOAD_AREA   317
 

#define K_WIRE_LOAD_SEL   318
 

#define K_YIELD_METRIC   319
 

#define NUMBER   259
 

#define oagTimerLib_yyclearin   (oagTimerLib_yychar = YYEMPTY)
 

#define oagTimerLib_yyerrok   (oagTimerLib_yyerrstatus = 0)
 

#define oagTimerLib_yystype   YYSTYPE
 

#define TNUMBER   260
 

#define YY_REDUCE_PRINT Rule   ) 
 

#define YY_STACK_PRINT Bottom,
Top   ) 
 

#define YYABORT   goto oagTimerLib_yyabortlab
 

#define YYACCEPT   goto oagTimerLib_yyacceptlab
 

#define YYBACKUP Token,
Value   ) 
 

Value:

do                                                              \
  if (oagTimerLib_yychar == YYEMPTY && oagTimerLib_yylen == 1)                          \
    {                                                           \
      oagTimerLib_yychar = (Token);                                             \
      oagTimerLib_yylval = (Value);                                             \
      oagTimerLib_yytoken = YYTRANSLATE (oagTimerLib_yychar);                           \
      YYPOPSTACK;                                               \
      goto oagTimerLib_yybackup;                                                \
    }                                                           \
  else                                                          \
    {                                                           \
      oagTimerLib_yyerror ("syntax error: cannot back up");\
      YYERROR;                                                  \
    }                                                           \
while (0)

#define YYBISON   1
 

#define YYCOPY To,
From,
Count   ) 
 

Value:

do                                      \
        {                                       \
          register YYSIZE_T oagTimerLib_yyi;            \
          for (oagTimerLib_yyi = 0; oagTimerLib_yyi < (Count); oagTimerLib_yyi++)       \
            (To)[oagTimerLib_yyi] = (From)[oagTimerLib_yyi];            \
        }                                       \
      while (0)

#define YYDEBUG   0
 

#define YYDPRINTF Args   ) 
 

#define YYDSYMPRINT Args   ) 
 

#define YYDSYMPRINTF Title,
Token,
Value,
Location   ) 
 

#define YYEMPTY   (-2)
 

#define YYEOF   0
 

#define YYERRCODE   256
 

#define YYERROR   goto oagTimerLib_yyerrorlab
 

#define YYERROR_VERBOSE   0
 

#define YYFAIL   goto oagTimerLib_yyerrlab
 

#define YYFINAL   4
 

#define YYFREE   free
 

#define YYINITDEPTH   200
 

#define YYLAST   1408
 

#define YYLEX   oagTimerLib_yylex ()
 

#define YYLLOC_DEFAULT Current,
Rhs,
 ) 
 

Value:

((Current).first_line   = (Rhs)[1].first_line,  \
    (Current).first_column = (Rhs)[1].first_column,     \
    (Current).last_line    = (Rhs)[N].last_line,        \
    (Current).last_column  = (Rhs)[N].last_column)

#define YYLSP_NEEDED   0
 

#define YYMALLOC   malloc
 

#define YYMAXDEPTH   10000
 

#define YYMAXUTOK   321
 

#define YYNNTS   129
 

#define YYNRULES   306
 

#define YYNSTATES   642
 

#define YYNTOKENS   87
 

#define YYPACT_NINF   -520
 

#define YYPOPSTACK   (oagTimerLib_yyvsp--, oagTimerLib_yyssp--)
 

#define YYPURE   0
 

 
#define YYRECOVERING  )     (!!oagTimerLib_yyerrstatus)
 

#define YYSIZE_T   unsigned int
 

#define YYSKELETON_NAME   "yacc.c"
 

#define YYSTACK_ALLOC   YYMALLOC
 

#define YYSTACK_BYTES  ) 
 

Value:

((N) * (sizeof (short) + sizeof (YYSTYPE))                              \
      + YYSTACK_GAP_MAXIMUM)

#define YYSTACK_FREE   YYFREE
 

#define YYSTACK_GAP_MAXIMUM   (sizeof (union oagTimerLib_yyalloc) - 1)
 

#define YYSTACK_RELOCATE Stack   ) 
 

Value:

do                                                                      \
      {                                                                 \
        YYSIZE_T oagTimerLib_yynewbytes;                                                \
        YYCOPY (&oagTimerLib_yyptr->Stack, Stack, oagTimerLib_yysize);                          \
        Stack = &oagTimerLib_yyptr->Stack;                                              \
        oagTimerLib_yynewbytes = oagTimerLib_yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
        oagTimerLib_yyptr += oagTimerLib_yynewbytes / sizeof (*oagTimerLib_yyptr);                              \
      }                                                                 \
    while (0)

#define YYSTYPE_IS_DECLARED   1
 

#define YYSTYPE_IS_TRIVIAL   1
 

#define YYTABLE_NINF   -306
 

#define YYTERROR   1
 

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

#define YYUNDEFTOK   2
 


Typedef Documentation

typedef short oagTimerLib_yysigned_char
 

typedef union YYSTYPE YYSTYPE
 


Enumeration Type Documentation

enum oagTimerLib_yytokentype
 

Enumeration values:
IDENTIFIER 
NUMBER 
TNUMBER 
K_AREA 
K_CAPACITANCE 
K_CAP_LOAD_UNIT 
K_CELL 
K_CELL_FALL 
K_CELL_FOOTPRINT 
K_CELL_LEAKAGE_POWER 
K_CELL_RISE 
K_CLOCK 
K_DEFINE_CELL_AREA 
K_DEFINE 
K_DIRECTION 
K_FALL_CAP_RANGE 
K_FALL_CONS 
K_FALL_TRAN 
K_FANOUT_LEN 
K_FF 
K_FUNCTION 
K_INDEX1 
K_INDEX2 
K_INDEX3 
K_INTERNAL_POWER 
K_INPUT_VOL 
K_LATCH 
K_LEAKAGE_POWER 
K_LEAKAGE_POWER_UNIT 
K_LIBRARY 
K_LIB_FEATURE 
K_LUTABLETEMP 
K_MAXCAP 
K_OP_COND 
K_OUTPUT_VOL 
K_PIN 
K_POWER_TABLE 
K_OUTPUT_CURRENT_TEMP 
K_RELATED_PIN 
K_RISE_CAP_RANGE 
K_RISE_CONS 
K_RISE_TRAN 
K_SLEW_LOW_FALL 
K_SLEW_LOW_RISE 
K_SLEW_HIGH_FALL 
K_SLEW_HIGH_RISE 
K_SLOPE 
K_STATETABLE 
K_TECHNOLOGY 
K_TEST_CELL 
K_TIME_UNIT 
K_TIMING 
K_TIMING_SENSE 
K_TIMING_TYPE 
K_VALUES 
K_VARIABLE_1 
K_VARIABLE_2 
K_VARIABLE_3 
K_WIRE_LOAD 
K_WIRE_LOAD_AREA 
K_WIRE_LOAD_SEL 
K_YIELD_METRIC 
K_VOLTAGE_MAP 
K_PG_PIN 


Function Documentation

void oagTimerLib_yydestruct oagTimerLib_yytype  ,
oagTimerLib_yyvaluep 
[static]
 

void oagTimerLib_yyerror const char *  s  ) 
 

int oagTimerLib_yylex void   ) 
 

int oagTimerLib_yyparse  ) 
 

Here is the call graph for this function:


Variable Documentation

LibData oagTimer::libParseData
 

the parse data for .lib file

int oagTimerLib_yychar
 

const short oagTimerLib_yycheck[] [static]
 

const unsigned short oagTimerLib_yydefact[] [static]
 

const short oagTimerLib_yydefgoto[] [static]
 

Initial value:

{
      -1,     2,     7,     9,    40,    41,    42,    43,    44,    45,
      46,    47,    48,    49,    50,    51,   182,   225,   226,   227,
     228,   229,   264,   265,   334,   355,   266,   335,   359,    52,
      53,   186,   236,   237,   238,   239,    54,   178,   209,   210,
     211,   212,   213,   344,   351,   376,   377,   378,   379,   380,
     381,   442,   469,   382,   441,   456,   457,   531,   470,   471,
     472,   473,   524,   474,   529,   475,   523,   476,   526,   477,
     528,   478,   525,   545,   546,   547,   562,   563,   604,   614,
     564,   605,   619,   549,   550,   551,   571,   572,   606,   624,
     573,   607,   629,   559,   592,   603,   609,   633,   383,   427,
     409,   410,   428,   214,   215,   216,   217,   218,   332,   349,
     350,   435,   446,   447,   448,   543,   555,   582,    55,    56,
     153,   174,    58,   175,   195,   297,   323,    80,   125
}

YYSTYPE oagTimerLib_yylval
 

int oagTimerLib_yynerrs
 

const short oagTimerLib_yypact[] [static]
 

const short oagTimerLib_yypgoto[] [static]
 

Initial value:

{
    -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -520,  -520,  -520,    13,  -520,  -520,  -520,
    -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,   609,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -520,   507,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -519,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,   327,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -482,  -520,  -520,  -520,  -520,  -520,   380,
    -520,  -520,  -520,   520,  -520,  -520,  -520,  -520,  -520,  -520,
    -520,  -520,  -520,  -520,  -520,  -520,   308,  -520,  -520,  -520,
    -162,    -9,  -520,  -520,   335,  -271,  -520,   -59,  -520
}

const unsigned char oagTimerLib_yyr1[] [static]
 

const unsigned char oagTimerLib_yyr2[] [static]
 

const unsigned char oagTimerLib_yystos[] [static]
 

const short oagTimerLib_yytable[] [static]
 

const unsigned char oagTimerLib_yytranslate[] [static]
 

YYSTYPE* oagTimerLib_yyvaluep
 


Generated on Thu Aug 25 14:24:19 2011 by  doxygen 1.3.9.1