⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yy.tab.h

📁 使用flex和bison
💻 H
📖 第 1 页 / 共 2 页
字号:
#if !defined (_YY_TAB_H_)
#define _YY_TAB_H_

typedef union {
int iValue;
char szValue[1024];
} YYSTYPE;
  extern YYSTYPE yylval;
  extern FILE *dumpfile;

#define	NUMBER	258
#define	STR	259
#define	ID	260
#define	STATESTART	261
#define	RETURN	262
#define	INIT	263
#define	PROC	264
#define	FUNID	265
#define	INT	266
#define	STRING	267
#define	BREAK	268
#define	SWITCH	269
#define	CASE	270
#define	DEFAULT	271
#define	SF	272
#define	IF	273
#define	ELSE	274
#define	LEFTK	275
#define	RIGHTK	276
#define	COLON	277
#define	GOTO	278
#define	PLAYFILE	279
#define	READDIGITS	280
#define	CONFPLAYFILE	281
#define	JOINCONF	282
#define	DIALOUT	283
#define	TALKWITH	284
#define	RECFILE	285
#define	CONFRECFILE	286
#define	HANGUP	287
#define	LEFTC	288
#define	RIGHTC	289
#define	LEFTV	290
#define	RIGHTV	291
#define	LEFTVE	292
#define	RIGHTVE	293
#define	VVEE	294
#define	NOTVVEE	295
#define	VE	296
#define	ELSEIF	297
#define	ELSESF	298
#define	VOID	299
#define	SQLSELECT	300
#define	SQLCOMMAND	301
#define	STOI	302
#define	ITOS	303
#define	COMMENT	304
#define	SETCHANTIMER	305
#define	GETFREECHAN	306
#define	GETFREECONFNO	307
#define	GETFIELDVALUE	308
#define	GETAFFECTEDROW	309
#define	HANGUPPROC	310
#define GETSUBSTRING 311
#define GETRAND 312
#define GETRANDKEY 313
#define FINDFILE 314
#define JUMPAGENT 315
#define GETNOWTIME 316
#define STMTEND 317
#define ASSIGN 318
#define PLUS  319
#define MINUS 320 
#define TIMES 321
#define DIV   322
#define JUMPFLOW   323
#define WHILE 324
#define STRLEN 325
#define LINKPCMFILE 326
#define SLEEP 327
#define GOTOFLOW 328
#define GOTOSUBFLOW 329
#define SENDANC 330
#define GETUSEDSECONDS 331
#define GETDIALINTIME 332
#define ENTERSECTION 333
#define LEAVESECTION 334
#define ONHOOK 335
#define OFFHOOK 336
#define USERHANGUP 337
#define USERCALLIN 338
#define AGENTDIGIT 339
#define AGENTREQ 340
#define SWITCHAGENT 341
#define AGENTCALLOUT 342
#define AGENTIVRREQ 343
#define LOGMSG   344
#define	RGOTO	345
#define LISTENAGENT   346
#define	BREAKAGENT	347
#define	GETCONFNOMEMBERS	348
#define AGENTPLAYRING  349
#define AGENTREQEX 350
#define GETFREEIPCHANNO 351
#define IPCALL 352
#define MOD 353
#define TIMESPAN 354
#define SETDIALINTIME 355
#define CHECKINTSECTION 356
#define CHECKSTRINGSECTION 357
#define DATEDIFF 358
#define CONSTANTSIZE  100
#define GETUSEDCHAN  359
#define HANGUPDEST  360
#define STARTRECORD 361

#define STARTLINERECORD 362
#define AGENTIPCALL 363
#define AGENTIPREQ  364
#define IVRIPREQ 365
#define CHECKNETCONNECTION 366
#define ADDNETCONNECTION 367
#define	SETDIALOUTORICALLEENUM	368
#define VTTALKWITH 369
#define VTSETSCALE 370
#define SETPROCEVENT 371 
#define AGENTEVENTPROC 372
#define AGENTEVENTPROCSTART 373
#define AGENTEVENTPROCEND 374
#define	WAITEVENTPROC 375
#define	LJOINCONF	376
#define	RESETCONF	377
#define	SHAREFLOWVAR	378
#define	CHECKDIRECTORY	379
#define RESETAGENT 380
#define CONFSTOPFILE 381
#define JOINMULTICONF 382
#define LINEISOFFHOOK 383
#define GETRECORDSECONDS 384
#define STARTRECORDCTOC 385
#define GETFREECHANWITHLINK 386
#define SETORICALLEE 387
#define INTERSERVICE 389
#define REQUESTSERVICE 388

typedef
  struct ststringheap
    {
	int  string_k;
	char string_name[1024];
	char string_value[1024];
   }
  ststringheap;
  typedef
  struct stintheap
    {
	  int int_k;
	char int_name[1024];
	int int_value;
   }
  stintheap;
    typedef
  struct stconstant
    {
	    int constant_value;
		char constant_name[1024];
   }
  stconstant;
   typedef
  struct stboolresultheap
    {
	  int bool_result;
	char szgo1[100];
	char szgo2[100];
   }
  boolresultheap;

typedef
struct stlineinfo
    {
	 int lineno;
	char gooooo[100];
   }
  stlineinfo;

typedef
struct stlinevar
 {
	int lineno;
	char gooooo[100];
   }
  stlinevar;
void inittable(void);
int addinttable(char *iname);
int addstringtable(char*s);
int lookstringtable(char *s);
int lookinttable(char *iname);
int lookconstanttable(char*iname);
int updateinttable(char*s,int ivalue);
int updatestringtable(char*s,char*v);
void dropstringtable();
void dropinttable();
int outboolresult();
void inboolresult(int i);
void leftkgo();
void rightkgo();
void elsego();
void ifgo();
void fgosssss(void);
void dcrmheap();
void icrmheap();
void whilego();
void whilego2();
void whilego3();

void casego();
void switchgo(void);
void breakgo(void);
void rightelseifgo();
void elseifgo();
void elsesfgo();
void dumpheap();
void dump(int i);
void setboolresult(int i);
void dumpout(int i);
void elsesfgo2();
void elsesfgo2();
void addlinevartable(char*s);
void addlineinfotable(char*s,int lineno);

#define	DDSTR  50001
#define	STRC_PAM  50002
#define	STRV_PAM  50003
#define	DEF_END  50004
#define	DDINT 50005
#define	INTV_PAM  50006
#define	INTC_PAM  50007
#define	AGN_STR  50008
#define	AGN_END  50009
#define	AGN_INT  50010
#define	PLUS_OPT  50011
#define	MINUS_OPT  50012
#define	MUL_OPT  50013
#define	DIV_OPT  50014
#define	MOD_OPT  50015

	/*整型比较 大于*/
#define IFLFV1  60001  /*60001 userid1 userid2 */ /*IFLFV1 userid1 userid2 */ /*if(userid1 > userid2) */ 
#define IFLFV2  60002  /*60002 userid1 2 */ /*IFLFV2 userid1 2 */ /*if(userid1 > 2) */
#define IFLFV3  60003  /*60003 1 userid2 */ /*IFLFV3 1 userid2 */ /*if(2 >userid1 ) */
#define IFLFV4  60004  /*60004 1 2 */ /*IFLFV4 1 2 */ /*if(1 >2 ) */
	/*整型比较 小于*/
#define    IFRFV1 60011  /*60011 userid1 userid2 */ /*IFRFV1 userid1 userid2 */ /*if(userid1 < userid2) */ 
#define    IFRFV2 60012 /*60012 userid1 2 */ /*IFRFV2 userid1 2 */ /*if(userid1 < 2) */
#define    IFRFV3 60013   /*60013 1 userid2 */ /*IFRFV3 1 userid2 */ /*if(2 <userid1 ) */
#define    IFRFV4 60014  /*60014 1 2 */ /*IFRFV4 1 2 */ /*if(1 <2 ) */
	/*字符串比较 大于*/
#define   SFLFV1 60021 /*60021 songid1 songid2 */ /*SFLFV1 songid1 songid2 */ /*sf(songid1 > songid2) */ 
#define   SFLFV2 60022   /*60022 songid1 */ /*IFLFV2 songid1 */ /*sf(songid1 > "welcome.pcm") */
					/* welcome.pcm*/	/* welcome.pcm*/
#define   SFLFV3 60023  /*60023 */			/*SFLFV3 */			/*sf("welcome.pcm" >songid1 )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*songid1 */ 		/*songid1 */ 
#define   SFLFV4 60024 /*60024 */			/*IFLFV4 */			/*sf("welcome.pcm" >"welcome1.pcm" )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*"welcome1.pcm" */ /*"welcome1.pcm" */ 
	/*字符串比较 小于*/
#define  SFRFV1 60031    /*60031 songid1 songid2 */ /*SFRFV1 songid1 songid2 */ /*sf(songid1 < songid2) */ 
#define  SFRFV2 60032     /*60032 songid1 */ /*SFRFV2 songid1 */ /*sf(songid1 < "welcome.pcm") */
					/* welcome.pcm*/	/* welcome.pcm*/
#define  SFRFV3 60033   /*60033 */			/*SFRFV3 */			/*sf("welcome.pcm" <songid1 )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*songid1 */ 		/*songid1 */ 
#define  SFRFV4 60034   /*60034 */			/*IFRFV4 */			/*sf("welcome.pcm" <"welcome1.pcm" )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*"welcome1.pcm" */ /*"welcome1.pcm" */ 
	/*整型比较 大于等于*/
#define  IFLVE1 60041  /*60041 userid1 userid2 */ /*IFLVE1 userid1 userid2 */ /*if(userid1 >= userid2) */ 
#define  IFLVE2 60042 /*60042 userid1 2 */ /*IFLVE2 userid1 2 */ /*if(userid1 >= 2) */
#define  IFLVE3 60043 /*60043 1 userid2 */ /*IFLVE3 1 userid2 */ /*if(2 >=userid1 ) */
#define  IFLVE4 60044  /*60044 1 2 */ /*IFLVE4 1 2 */ /*if(1 >=2 ) */
	/*整型比较 小于等于*/
#define  IFRVE1 60051  /*60051 userid1 userid2 */ /*IFRVE1 userid1 userid2 */ /*if(userid1 =< userid2) */ 
#define  IFRVE2 60052  /*60052 userid1 2 */ /*IFRVE2 userid1 2 */ /*if(userid1 =< 2) */
#define  IFRVE3 60053  /*60053 1 userid2 */ /*IFRVE3 1 userid2 */ /*if(2 =<userid1 ) */
#define  IFRVE4 60054   /*60054 1 2 */ /*IFRVE4 1 2 */ /*if(1 =<2 ) */
	/*字符串比较 大于等于*/
#define  SFLVE1 60061 /*60061 songid1 songid2 */ /*SFLVE1 songid1 songid2 */ /*sf(songid1 >= songid2) */ 
#define  SFLVE2 60062 /*60062 songid1 */ /*SFLVE1 songid1 */ /*sf(songid1 >= "welcome.pcm") */
					/* welcome.pcm*/	/* welcome.pcm*/
#define  SFLVE3 60063 /*60063 */			/*SFLVE1 */			/*sf("welcome.pcm" >=songid1 )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*songid1 */ 		/*songid1 */ 
#define  SFLVE4 60064/*60064 */			/*SFLVE1 */			/*sf("welcome.pcm" >="welcome1.pcm" )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*"welcome1.pcm" */ /*"welcome1.pcm" */ 
	/*字符串比较 小于*/
#define   SFRVE1 60071/*60071 songid1 songid2 */ /*SFRVE1 songid1 songid2 */ /*sf(songid1 <= songid2) */ 
#define   SFRVE2 60072 /*60072 songid1 */ /*SFRVE2 songid1 */ /*sf(songid1 <= "welcome.pcm") */
					/* welcome.pcm*/	/* welcome.pcm*/
#define   SFRVE3 60073 /*60073 */			/*SFRVE3 */			/*sf("welcome.pcm" <=songid1 )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*songid1 */ 		/*songid1 */ 
#define   SFRVE4 60074/*60074 */			/*SFRVE4 */			/*sf("welcome.pcm" <="welcome1.pcm" )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*"welcome1.pcm" */ /*"welcome1.pcm" */ 
	/*整型比较 等于*/
#define     IFVVE1 60081/*60081 userid1 userid2 */ /*IFVVE1 userid1 userid2 */ /*if(userid1 == userid2) */ 
#define     IFVVE2 60082/*60082 userid1 2 */ /*IFVVE2 userid1 2 */ /*if(userid1 == 2) */
#define     IFVVE3 60083/*60083 1 userid2 */ /*IFVVE3 1 userid2 */ /*if(2 ==userid1 ) */
#define     IFVVE4 60084/*60084 1 2 */ /*IFVVE4 1 2 */ /*if(1 ==2 ) */

	/*字符串比较 等于*/
#define     SFVVE1 60091/*60091 songid1 songid2 */ /*SFVVE1 songid1 songid2 */ /*sf(songid1 == songid2) */ 
#define     SFVVE2 60092/*60092 songid1 */ /*SFVVE2 songid1 */ /*sf(songid1 == "welcome.pcm") */
					/* welcome.pcm*/	/* welcome.pcm*/
#define     SFVVE3 60093/*60093 */			/*SFVVE3 */			/*sf("welcome.pcm" ==songid1 )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*songid1 */ 		/*songid1 */ 
#define     SFVVE4 60094/*60094 */			/*SFVVE4 */			/*sf("welcome.pcm" =="welcome1.pcm" )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*"welcome1.pcm" */ /*"welcome1.pcm" */ 

	/*整型比较 不等于*/
#define     IFNTE1 60101/*60101 userid1 userid2 */ /*IFNTE1 userid1 userid2 */ /*if(userid1 != userid2) */ 
#define     IFNTE2 60102/*60102 userid1 2 */ /*IFNTE2 userid1 2 */ /*if(userid1 != 2) */
#define     IFNTE3 60103/*60102 1 userid2 */ /*IFNTE3 1 userid2 */ /*if(2 !=userid1 ) */
#define     IFNTE4 60104/*60103 1 2 */ /*IFNTE4 1 2 */ /*if(1 !=2 ) */
	/*字符串比较 不等于*/
#define     SFNTE1 60111/*60111 songid1 songid2 */ /*SFNTE1 songid1 songid2 */ /*sf(songid1 != songid2) */ 
#define     SFNTE2 60112/*60112 songid1 */ /*SFNTE2 songid1 */ /*sf(songid1!= "welcome.pcm") */
					/* welcome.pcm*/	/* welcome.pcm*/
#define     SFNTE3 60113/*60113 */			/*SFNTE3 */			/*sf("welcome.pcm" !=songid1 )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*songid1 */ 		/*songid1 */ 
#define     SFNTE4 60114/*60114 */			/*SFNTE4 */			/*sf("welcome.pcm" !="welcome1.pcm" )
					/*"welcome.pcm"*/ 	/*"welcome.pcm"*/ 
					/*"welcome1.pcm" */ /*"welcome1.pcm" */ 

	
#define     NSTATE 20001/*20001 M_1_BEIJING*/  /*NSTATE M_1_BEIJING*/  /*STAET M_1_BEIJING*/ 
#define     NSINIT 20002/*20002*/  /* NSINIT*/  /* init */		/*NOP*/
#define     NSPROC 20003/*20003*/  /* NSPROC*/  /* proc */		/*NOP*/
#define     ICHEAP 20004/*20004*/  /* ICHEAP*/  /*加大变量层次变量进堆, */
#define     DEHEAP 20005/*20005*/  /* DEHEAP*/  /*减少变量层次变量出堆, */
#define     RESULT 20006/*20006 243 454*/  /* RESULT 243 454*/  /*判断当前ifresult结果,如果1 转到243,否则转到454 */
#define     TESTIF 20007/*20007 243 454*/  /* TESTIF 243 454*/  /*判断当前ifresult结果,如果1 转到454,否则转到243 */
#define     NELSE   20008/*20008 344 */  /* ELSE 344*/  /*判断当前ifresult结果,如果1 转到344,否则走到下一条 */
#define     TESTSF   20009	
#define     CASERESULT   20010	
#define     CASESF   20011	
#define     CASEGOTO 20012
#define     CASEDEFAULT 20013
#define     STATEGOTO 20014

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -