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

📄 tokelist.h

📁 这可是我的倾情制作
💻 H
字号:
/*basic file to be included*/
#include <stdio.h>

/*define basic value*/
#define SIZEOFCHARBUFFER 	32	/*LEX BUFFER*/
#define SIZEOFSYMTABLE		211	/*symbol table list size*/
#define SIZEOFINPUTBUFFERH 	256	/*HALF INPUT BUFFER*/
#define SIZEOFINPUTBUFFERA	512	/*ALL INPUT BUFFER*/
#define EOS			'\0'	/*End Of String*/
#define SHOWPAGESIZE		30	/*Show Symbol Page*/
#define SUMOFSTATE		100	/*Sum of State in Analyze table*/
#define SUMOFTOKEN		100	/*Sum of Token */
#define FUNCLISTSIZE	200 /*Sum of G_FuncList which list all the functions residing in FuncList.cpp*/

/*define sematics info*/
/*Basic Type for Type field*/
#define TCHAR		1	/*Define char type index*/
#define TINT		2	/*Define int type index*/
#define TFLOAT		3	/*Define float type index*/
#define TVOID		4	/*Define void type index*/
#define TTYPEERR	5	/*Define type error type index*/
/*Composed Type for Kind field*/
#define TARRAY		1	/*Define array composed type*/
#define TFUNC		2	/*Define func composed type*/
#define TCOMMON		3	/*Define Common varible*/
/*Media Instrument Index Definition*/
#define	IASIGN	1	/*	:=	*/
#define	IADD	2	/*	+	*/
#define	IDEC	3	/*	-	*/
#define	IMUL	4	/*	*	*/
#define	IDIV	5	/*	/	*/
#define	IMOD	6	/*	%	*/
#define	IJMP	7	/*	goto	*/
#define	IJNZ	8	/*	<>0 goto	*/
#define	IFUN	9	/*	Function	*/
#define	IENTR	10	/*	Entry	*/
#define	ICALL	11	/*	Call Function	*/
#define	IPARAM	12	/*	Push Parameter	*/
#define	IRTRN	13	/*	Return	*/
#define	IHALT	14	/*	Halt in Main Func	*/
#define IINT2FLT 15 /*	Int2Float */
#define ILOR	16	/*	||	*/
#define ILAND	17	/*	&&	*/
#define ILEQAL	18	/*	==  */
#define ILNEQAL	19	/*	!=	*/
#define	IRG		20	/*	>	*/
#define	IRGE	21	/*	>=	*/
#define	IRL		22	/*	<	*/
#define	IRLE	23	/*	>=	*/




/*Below is Token-IntValue list*/
#define NUM          256/*      numberic:Int 16bits       */
#define ID           257/*      identifier                */
#define INT          258/*      integer                   */
#define DOUBLE       259/*      double                    */
#define STRUCT       260/*      struct                    */
#define BREAK        261/*      break                     */
#define ELSE         262/*      else                      */
#define LONG         263/*      long                      */
#define SWITCH       264/*      switch                    */
#define CASE         265/*      case                      */
#define ENUM         266/*      enum                      */
#define TYPEDEF      267/*      typedef                   */
#define CHAR         268/*      char                      */
#define RETURN       269/*      return                    */
#define EXTERN       270/*      extern                    */
#define UNION        271/*      union                     */
#define FLOAT        272/*      float                     */
#define SHORT        273/*      short                     */
#define UNSIGNED     274/*      unsigned                  */
#define CONTINUE     275/*      continue                  */
#define FOR          276/*      for                       */
#define SIGNED       277/*      signed                    */
#define VOID         278/*      void                      */
#define DEFAULT      279/*      default                   */
#define GOTO         280/*      goto                      */
#define SIZEOF       281/*      sizeof                    */
#define DO           282/*      do                        */
#define IF           283/*      if                        */
#define WHILE        284/*      while                     */
#define ADD          285/*      +                         */
#define DEC          286/*      -                         */
#define MUL          287/*      *                         */
#define DIV          288/*      /                         */
#define MOD          289/*      %                         */
#define INC          290/*      ++                        */
#define DEE          291/*      --                        */
#define INQ          292/*      +=                        */
#define DEQ          293/*      -=                        */
#define MUQ          294/*      *=                        */
#define DIQ          295/*      /=                        */
#define LOR          296/*      ||                        */
#define LAND         297/*      &&                        */
#define LNOT         298/*      !                         */
#define RLARG        299/*      >                         */
#define RSMAL        300/*      <                         */
#define RLARQ        301/*      >=                        */
#define RSMAQ        302/*      <=                        */
#define RNOTQ        303/*      !=                        */
#define REQUA        304/*      ==                        */
#define EQUA         305/*      =                         */
#define QUES         306/*      ?                         */
#define COMA         307/*      ,                         */
#define LBRAKET      308/*      (                         */
#define RBRAKET      309/*      )                         */
#define LBRACE       310/*      {                         */
#define RBRACE       311/*      }                         */
#define BMOVR        312/*      >>                        */
#define BMOVL        313/*      <<                        */
#define BOR          314/*      |                         */
#define BAND         315/*      &                         */
#define BNOT         316/*      ~                         */
#define FMAIN        317/*      main                      */
#define SHARP        318/*      #                         */
#define CDEF         319/*      define                    */
#define CINC         320/*      include                   */
#define COMML	     321/*      //*                       */
#define COMMR	     322/*	*_/ 			  */
#define NUM1	     333/*	numberic long 32bits	  */
#define NUM2	     334/*	numberic float 32bits	  */
#define LOWLINE	     335/*	_			  */
#define DONE	     336/*	Finish 			  */
#define ERROR	     337/*	Error 			  */
#define POINTTO	     338/*	->Pointer		  */
#define BEOR	     339/*	^			  */
#define BEORQ	     340/*	^=			  */
#define BMOVLQ	     341/*	<<=			  */
#define BMOVRQ	     342/*	>>=			  */
#define BANDQ	     343/*	&=			  */
#define BORQ	     344/*	|= 			  */
#define DOT	     345/*	.			  */
#define COLON	     346/*	:			  */
#define SCOLON	     347/*	;			  */
#define LSBRACE	     348/*	[ 			  */
#define RSBRACE      349/*	]			  */
#define MODQ	     350/*	%= 			  */
#define STRINGS	     351/*	string of chars		  */
#define CHARONE	     352/*	only one char between ''  */
#define KONG		 353/*	there is a e which means nothing*/
#define TEMPVAR		 356/*	Temporary Variable		*/

⌨️ 快捷键说明

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