Milán Major

netscape-revival

1 branch
Code

mocha/include/mo_prvtd.h

#ifndef _mo_prvtd_h_
#define _mo_prvtd_h_
/*
** Mocha private type definitions.
**
** This header is included only in other .h files, for convenience and for
** simplicity of type naming.  The alternative for structures is to use tags,
** which I have named the same as their typedef names (legal in C, and less
** noisy than suffixing the typedef name with "Struct" or "Str").  Instead,
** all .h files that include this file may use the same typename, whether
** declaring a pointer to struct type, or defining a member of struct type.
**
** A few fundamental scalar types are defined here too.  Neither the scalar
** nor the struct typedefs should change much, therefore the nearly-global
** make dependency induced by this file should not prove burdensome.
**
** Brendan Eich, 6/14/95
*/

#include "mo_pubtd.h"

/* Private typedefs. */
typedef struct CodeGenerator    CodeGenerator;
typedef uint16                  SourceNote;
typedef struct MochaToken       MochaToken;
typedef struct MochaTokenStream MochaTokenStream;

/* Friend "Advanced API" typedefs. */
typedef int32                   MochaInt;
typedef uint32                  MochaUint;

#define MOCHA_INT_MAX           (((MochaUint)1 << 31) - 1)
#define MOCHA_INT_MIN           ((MochaInt)1 << 31)

typedef struct MochaAtomMap     MochaAtomMap;
typedef uint32                  MochaAtomNumber;
typedef struct MochaAtomState   MochaAtomState;
typedef struct MochaCodeSpec    MochaCodeSpec;
typedef struct MochaObjectStack MochaObjectStack;
typedef struct MochaPrinter     MochaPrinter;
typedef struct MochaProperty    MochaProperty;
typedef struct MochaStackFrame  MochaStackFrame;
typedef struct MochaStack       MochaStack;

#endif /* _mo_prvtd_h_ */