home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_PDOS_PARSING_H
- #define __INC_POS_PDOS_PARSING_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>Parsing.h<< 31 Jul 1996 09:12:46 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PDOS_DOSTYPES_H
- #include <pDOS/DosTypes.h>
- #endif
- #ifndef __INC_POS_PEXEC_MEMORY_H
- #include <pExec/Memory.h>
- #endif
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_Parse
- {
- struct pOS_MemPool ptmt_MemPool; /* Handler private */
- struct pOS_ParseObject **ptmt_StackLower;
- struct pOS_ParseObject **ptmt_StackUpper;
- struct pOS_ParseObject **ptmt_Stack;
- SWORD ptmt_Error;
- UBYTE ptmt_ActChar; /* Handler private */
- UBYTE ptmt_Pri;
- const CHAR *ptmt_String; /* Handler private */
- ULONG ptmt_UserData[2];
-
- struct pOS_ParseObject *(*ptmt_Parse)(struct pOS_Parse*,UBYTE priLevel);
-
- UBYTE ptmt_Reserved[16];
- };
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_ParseObject
- {
- struct pOS_ParseObject *ptob_Left;
- struct pOS_ParseObject *ptob_Right;
- struct pOS_ParseObject *ptob_Parent;
- };
-
-
- VOID pOS_PUSHPARSESTK(struct pOS_Parse*,struct pOS_ParseObject*);
- struct pOS_ParseObject* pOS_POPPARSESTK(struct pOS_Parse*);
- BOOL pOS_EMPTYPARSESTK(struct pOS_Parse*);
- BOOL pOS_FULLPARSESTK(struct pOS_Parse*);
-
- #define pOS_PUSHPARSESTK(parse,nd) ( *--(parse)->ptmt_Stack=nd )
- #define pOS_POPPARSESTK(parse) ( *(parse)->ptmt_Stack++ )
- #define pOS_EMPTYPARSESTK(parse) ( (parse)->ptmt_Stack[0]==NULL )
- #define pOS_FULLPARSESTK(parse) ( (ULONG)(parse)->ptmt_Stack<=(ULONG)(parse)->ptmt_StackLower )
-
-
- #endif
-