dthelp: merge duplicate headers
This commit is contained in:
424
cde/programs/dthelp/parser/include/build/build.h
Normal file
424
cde/programs/dthelp/parser/include/build/build.h
Normal file
@@ -0,0 +1,424 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: build.h /main/3 1995/11/08 10:41:43 rswiston $ */
|
||||
/*
|
||||
Copyright 1986 Tandem Computers Incorporated.
|
||||
This product and information is proprietary of Tandem Computers Incorporated.
|
||||
Copyright (c) 1986, 1987, 1988, 1989 Hewlett-Packard Co.
|
||||
*/
|
||||
|
||||
/* Build.h is the primary include file for allocation of global variables
|
||||
for program BUILD. */
|
||||
|
||||
|
||||
#if defined(BUILDEF)
|
||||
#define BUILDEXTERN
|
||||
#define BUILDINIT(a) = a
|
||||
#else
|
||||
#define BUILDEXTERN extern
|
||||
#define BUILDINIT(a)
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include "basic.h"
|
||||
#include "trie.h"
|
||||
#include "common.h"
|
||||
|
||||
/* Defined types */
|
||||
typedef struct arc ARC ;
|
||||
typedef struct state STATE ;
|
||||
typedef struct tree TREE ;
|
||||
typedef struct statelist STATELIST ;
|
||||
typedef struct parameter PARAMETER ;
|
||||
typedef struct exception EXCEPTION ;
|
||||
typedef struct ptype PTYPE ;
|
||||
typedef struct eltstruct ELTSTRUCT ;
|
||||
typedef struct lhsstruct LHS ;
|
||||
typedef struct stack STACK ;
|
||||
typedef struct srefstruct SREFSTRUCT ;
|
||||
typedef struct srefdata SREFDATA ;
|
||||
typedef struct mapstruct MAP ;
|
||||
typedef struct andgroup ANDGROUP ;
|
||||
|
||||
/* Each item in a list of states contains value, a pointer to a state;
|
||||
next, a pointer to the next item in the list; and level, which
|
||||
indicates the level of nested subexpressions within the regular expression
|
||||
when the state was added to the FSA. */
|
||||
struct statelist {
|
||||
STATE *value ;
|
||||
STATELIST *next ;
|
||||
int level ;
|
||||
} ;
|
||||
|
||||
struct stack {
|
||||
STACK *oldtop ;
|
||||
STATELIST *starts ;
|
||||
STATELIST *finals ;
|
||||
STATELIST *allfinal ;
|
||||
STATELIST *newfinal ;
|
||||
ARC *starta ;
|
||||
} ;
|
||||
|
||||
BUILDEXTERN STACK bot
|
||||
#if defined(BUILDEF)
|
||||
= {
|
||||
NULL, NULL, NULL, NULL, NULL, NULL
|
||||
}
|
||||
#endif
|
||||
;
|
||||
|
||||
BUILDEXTERN STACK *top BUILDINIT(&bot) ;
|
||||
|
||||
BUILDEXTERN int stacklevels BUILDINIT(0) ;
|
||||
|
||||
|
||||
/* Used to report nondeterminism in and groups */
|
||||
#define ANDCONFLICT 1
|
||||
#define DATACONFLICT 2
|
||||
#define ELTCONFLICT 3
|
||||
|
||||
/* Name of an element, and of the first element on the left-hand side of
|
||||
the current rule */
|
||||
#define thisrule lhs->elt->enptr
|
||||
|
||||
/* Set declared entity type */
|
||||
#define SETETYPE(p,t) adddefent(p) ; entity->type = t
|
||||
|
||||
/* Definitions for entities */
|
||||
|
||||
#define EMPTYMAP 1
|
||||
|
||||
#define ERREXIT 1
|
||||
|
||||
/* Prefix for default short reference map and entities */
|
||||
#define M_PREFIX "M-"
|
||||
|
||||
/* State transition network generated by CONTEXT */
|
||||
#define sparse
|
||||
#include "sparse.h"
|
||||
|
||||
/* Function prototypes */
|
||||
#include "proto.h"
|
||||
|
||||
/* Frequently output strings */
|
||||
#define ndif "}\n#endif\n ;\n\n"
|
||||
#define SUBONE else fputs("[1] ;\n\n", dtd) ;
|
||||
|
||||
/* An array used to indicate which characters can appear within
|
||||
element names */
|
||||
#if defined(BUILDEF)
|
||||
#include "chartype.h"
|
||||
#else
|
||||
extern M_CHARTYPE m_ctarray[M_CHARSETLEN] ;
|
||||
#endif
|
||||
|
||||
/* Current state of the finite-state machine which controls BUILD */
|
||||
BUILDEXTERN int curcon BUILDINIT(RULE) ;
|
||||
BUILDEXTERN int m_token ;
|
||||
BUILDEXTERN M_WCHAR scanval ;
|
||||
|
||||
/* Used to pass names and literals from the scanner */
|
||||
BUILDEXTERN M_WCHAR name[M_NAMELEN + 1] ;
|
||||
BUILDEXTERN M_WCHAR literal[M_LITLEN + 1] ;
|
||||
|
||||
/* Scanner buffer for read-ahead */
|
||||
BUILDEXTERN int toundo BUILDINIT(0) ;
|
||||
BUILDEXTERN int maxundo BUILDINIT(0) ;
|
||||
/* Size of scanner buffer for read-ahead */
|
||||
#define SAVECHAR 50
|
||||
BUILDEXTERN int savechar[SAVECHAR] ;
|
||||
|
||||
/* Whether errors have occurred */
|
||||
BUILDEXTERN LOGICAL errexit BUILDINIT(FALSE) ;
|
||||
|
||||
/* FSA storage */
|
||||
|
||||
/* Each state in an FSA is represented by a flag indicating whether it is
|
||||
a final state, a pointer to a list of transitions from the state,
|
||||
and a flag that indicates whether parsed character data is possible
|
||||
from the state */
|
||||
struct state {
|
||||
LOGICAL final ;
|
||||
LOGICAL datacontent ;
|
||||
LOGICAL frompcdata ;
|
||||
ARC *first ;
|
||||
int count ;
|
||||
STATE *next ;
|
||||
} ;
|
||||
BUILDEXTERN STATE *firststate BUILDINIT(NULL) ;
|
||||
BUILDEXTERN STATE **nextstate BUILDINIT(&firststate) ;
|
||||
BUILDEXTERN STATE *startstate ;
|
||||
|
||||
/* Each arc in an FSA is an element in the arc list emanating from a
|
||||
particular state. Associated fields include label, a pointer to
|
||||
the name of the element labelling the arc (garbage if the label is an
|
||||
and group); optional, a flag indicating whether or not the label is
|
||||
contextually required; minim, a flag indicating whether or not the arc
|
||||
corresponds to an element selected by explicit minimization;
|
||||
and group, a pointer to the list of FSA's making
|
||||
up the andgroup if the arc's label is an andgroup; to, a pointer to the
|
||||
state entered by the arc; next, a pointer to the next arc
|
||||
in the current arc list; and finally, id, a pointer to the node in the
|
||||
tree representation of the model corresponding to the arc (id is used
|
||||
in the detection of ambiguity to differentiate between arcs with the same
|
||||
label corresponding to one model token and those with the same label
|
||||
corresponding to more than one model token).
|
||||
*/
|
||||
struct arc {
|
||||
ELTSTRUCT *label ;
|
||||
LOGICAL optional ;
|
||||
LOGICAL minim ;
|
||||
ANDGROUP *group ;
|
||||
STATE *to ;
|
||||
ARC *next ;
|
||||
int id ;
|
||||
} ;
|
||||
|
||||
/* Andgroups are elements in a list of the FSA's corresponding to the
|
||||
content submodels in an andgroup. Each list element contains a pointer
|
||||
to the start state of the FSA and a pointer to the next element in the
|
||||
list */
|
||||
struct andgroup{
|
||||
STATE *start ;
|
||||
ANDGROUP *nextptr ;
|
||||
ANDGROUP *next ;
|
||||
int count ;
|
||||
} ;
|
||||
BUILDEXTERN ANDGROUP *firstand BUILDINIT(NULL) ;
|
||||
BUILDEXTERN ANDGROUP **nextand BUILDINIT(&firstand) ;
|
||||
|
||||
/* Tree representation of a rule */
|
||||
/* Each node in the tree representation corresponds to a submodel.
|
||||
Associated with the node is the submodel's connector and occurrence
|
||||
indicator; terminal, a flag indicating whether the submodel in turn
|
||||
has submodels; value, the element of which a terminal submodel consists;
|
||||
pointers first and last to the first and last submodel of the node;
|
||||
and right pointing to the node's next sibling in the tree. */
|
||||
struct tree {
|
||||
int connector, occurrence ;
|
||||
ELTSTRUCT *value ;
|
||||
LOGICAL terminal ;
|
||||
LOGICAL minim ;
|
||||
TREE *first, *right, *parent ;
|
||||
int eltid ;
|
||||
} ;
|
||||
BUILDEXTERN TREE *ruletree BUILDINIT(NULL) ;
|
||||
BUILDEXTERN TREE *curtree ;
|
||||
|
||||
/* Various counters */
|
||||
BUILDEXTERN int eltsinrule BUILDINIT(0) ;
|
||||
BUILDEXTERN int stateused BUILDINIT(0) ;
|
||||
BUILDEXTERN int andused BUILDINIT(0) ;
|
||||
|
||||
/* Element names on the left-hand side of the current rule */
|
||||
struct lhsstruct {
|
||||
ELTSTRUCT *elt ;
|
||||
LHS *next ;
|
||||
} ;
|
||||
BUILDEXTERN LHS *lhs BUILDINIT(NULL) ;
|
||||
BUILDEXTERN LHS **nextlhs BUILDINIT(&lhs) ;
|
||||
|
||||
/* Content type (regular expression, ANY, NONE, CDATA, RCDATA) of the
|
||||
current rule. */
|
||||
BUILDEXTERN int contype ;
|
||||
|
||||
/* Indicates whether <PARAM>, <USEMAP>, or <MIN> fields have occurred in
|
||||
current rule */
|
||||
BUILDEXTERN LOGICAL poccur, uoccur, moccur ;
|
||||
|
||||
/* Indicates whether an ID parameter for this rule has occurred */
|
||||
BUILDEXTERN LOGICAL idoccur ;
|
||||
|
||||
/* Short reference map for this rule */
|
||||
BUILDEXTERN int srefp ;
|
||||
BUILDEXTERN LOGICAL useoradd ;
|
||||
|
||||
/* Whether start- and end-tag minimization are permitted for the current
|
||||
rule */
|
||||
BUILDEXTERN LOGICAL smin, emin ;
|
||||
|
||||
/* Suffix for generated entity names */
|
||||
BUILDEXTERN int egensuf ;
|
||||
|
||||
/* Storage for exceptions */
|
||||
BUILDEXTERN int excount BUILDINIT(0) ;
|
||||
struct exception {
|
||||
int element ;
|
||||
EXCEPTION *next ;
|
||||
EXCEPTION *nextptr ;
|
||||
} ;
|
||||
BUILDEXTERN EXCEPTION *firstex BUILDINIT(NULL) ;
|
||||
BUILDEXTERN EXCEPTION **nextex BUILDINIT(&firstex) ;
|
||||
BUILDEXTERN EXCEPTION *exlist ;
|
||||
|
||||
/* Total number of parameters for all elements */
|
||||
BUILDEXTERN int parcount BUILDINIT(0) ;
|
||||
|
||||
/* Primary representation of parameters */
|
||||
struct parameter {
|
||||
M_WCHAR *paramname ;
|
||||
int type ;
|
||||
int kwlist ;
|
||||
PTYPE *ptypep ;
|
||||
int deftype ;
|
||||
int defval ;
|
||||
M_WCHAR *defstring ;
|
||||
/* Next parameter for this element */
|
||||
PARAMETER *next ;
|
||||
/* Link for list of all parameters for all elements */
|
||||
PARAMETER *nextptr ;
|
||||
} ;
|
||||
BUILDEXTERN PARAMETER *newpar BUILDINIT(NULL) ;
|
||||
BUILDEXTERN PARAMETER *plist BUILDINIT(NULL) ;
|
||||
BUILDEXTERN PARAMETER *firstpar BUILDINIT(NULL) ;
|
||||
BUILDEXTERN PARAMETER **nextpar BUILDINIT(&firstpar) ;
|
||||
|
||||
/* Storage for parameter names */
|
||||
BUILDEXTERN int pnamelen BUILDINIT(0) ;
|
||||
|
||||
/* Storage for parameter values that are named keywords */
|
||||
BUILDEXTERN int ptypelen BUILDINIT(0) ;
|
||||
struct ptype {
|
||||
M_WCHAR *keyword ;
|
||||
int next ;
|
||||
PTYPE *nextptr ;
|
||||
} ;
|
||||
BUILDEXTERN PTYPE *firstptype BUILDINIT(NULL) ;
|
||||
BUILDEXTERN PTYPE *thisptype ;
|
||||
BUILDEXTERN PTYPE **nextptype BUILDINIT(&firstptype) ;
|
||||
BUILDEXTERN int kwlen BUILDINIT(0) ;
|
||||
|
||||
/* Storage for parameter default values */
|
||||
BUILDEXTERN int deflen BUILDINIT(0) ;
|
||||
|
||||
/* Characters needed for element names */
|
||||
BUILDEXTERN int enamelen BUILDINIT(0) ;
|
||||
|
||||
/* Description of an element: */
|
||||
struct eltstruct {
|
||||
/* Pointer to element name */
|
||||
M_WCHAR *enptr ;
|
||||
/* Start state of element's content model's FSA */
|
||||
STATE *model ;
|
||||
/* Type of element's content (Regular expression, ANY, RCDATA, etc) */
|
||||
int content ;
|
||||
/* Pointer to element's inclusion list */
|
||||
int inptr ;
|
||||
/* Pointer to element's exclusion list */
|
||||
int exptr ;
|
||||
/* Pointer to element's parameter list */
|
||||
PARAMETER *parptr ;
|
||||
/* Index in output of first item in element's parameter list */
|
||||
int parindex ;
|
||||
/* Number of element's parameters */
|
||||
int paramcount ;
|
||||
/* Whether start- and end-tag minimization are permitted */
|
||||
LOGICAL stmin, etmin ;
|
||||
/* Pointer to short reference map, if any */
|
||||
int srefptr ;
|
||||
/* TRUE for USEMAP, FALSE for ADDMAP */
|
||||
LOGICAL useoradd ;
|
||||
|
||||
ELTSTRUCT *next ;
|
||||
int eltno ;
|
||||
} ;
|
||||
BUILDEXTERN ELTSTRUCT *firstelt BUILDINIT(NULL) ;
|
||||
BUILDEXTERN ELTSTRUCT **nextelt BUILDINIT(&firstelt) ;
|
||||
|
||||
/* Most number of parameters had by a single element */
|
||||
BUILDEXTERN int maxpar BUILDINIT(0) ;
|
||||
/* Number of parameters current element has */
|
||||
BUILDEXTERN int pcount ;
|
||||
|
||||
BUILDEXTERN FILE *dtd ;
|
||||
BUILDEXTERN FILE *m_errfile ;
|
||||
|
||||
/* Line number in input file */
|
||||
BUILDEXTERN int m_line BUILDINIT(1) ;
|
||||
|
||||
/* Options */
|
||||
/* Scan trace */
|
||||
BUILDEXTERN LOGICAL scantrace BUILDINIT(FALSE) ;
|
||||
/* Trace calls to malloc/free */
|
||||
BUILDEXTERN LOGICAL m_malftrace BUILDINIT(FALSE) ;
|
||||
/* Test validity of heap in calls to malloc/free */
|
||||
BUILDEXTERN LOGICAL m_heapchk BUILDINIT(FALSE) ;
|
||||
/* Flag set if strictly conforming to ISO 8879 */
|
||||
BUILDEXTERN LOGICAL standard BUILDINIT(FALSE) ;
|
||||
|
||||
/* File pointer used by utilities in ..\util\scanutil for input file */
|
||||
BUILDEXTERN FILE *ifile ;
|
||||
|
||||
/* Element names are stored in a trie. */
|
||||
BUILDEXTERN M_TRIE eltree ;
|
||||
|
||||
/* Count of elements */
|
||||
BUILDEXTERN int ecount BUILDINIT(0) ;
|
||||
|
||||
/* Storage for short reference map names and definitions */
|
||||
BUILDEXTERN M_TRIE maptree ;
|
||||
BUILDEXTERN M_TRIE sreftree ;
|
||||
BUILDEXTERN int mapcnt BUILDINIT(0) ;
|
||||
BUILDEXTERN int curmap ;
|
||||
struct srefstruct {
|
||||
int srefcnt ;
|
||||
SREFDATA *data ;
|
||||
SREFSTRUCT *next ;
|
||||
} ;
|
||||
BUILDEXTERN SREFSTRUCT *firstsref BUILDINIT(NULL) ;
|
||||
BUILDEXTERN SREFSTRUCT **nextsref BUILDINIT(&firstsref) ;
|
||||
struct srefdata {
|
||||
int map ;
|
||||
int entidx ;
|
||||
SREFDATA *next ;
|
||||
} ;
|
||||
BUILDEXTERN SREFDATA *thissref ;
|
||||
BUILDEXTERN int sreflen BUILDINIT(0) ;
|
||||
BUILDEXTERN M_WCHAR mapname[M_NAMELEN + 1] ;
|
||||
BUILDEXTERN int maxsr ;
|
||||
BUILDEXTERN int maxseq ;
|
||||
struct mapstruct {
|
||||
int map ;
|
||||
M_WCHAR *mapname ;
|
||||
LOGICAL defined ;
|
||||
MAP *nextptr ;
|
||||
} ;
|
||||
BUILDEXTERN MAP *firstmap BUILDINIT(NULL) ;
|
||||
BUILDEXTERN MAP **nextmap BUILDINIT(&firstmap) ;
|
||||
|
||||
|
||||
/* Storage for entities */
|
||||
BUILDEXTERN M_TRIE m_enttrie[1] ;
|
||||
BUILDEXTERN M_ENTITY *entity ;
|
||||
BUILDEXTERN M_ENTITY *lastent BUILDINIT(NULL) ;
|
||||
BUILDEXTERN M_ENTITY *firstent BUILDINIT(NULL) ;
|
||||
BUILDEXTERN M_WCHAR entcontent[M_LITLEN + 1] ;
|
||||
BUILDEXTERN int entclen ;
|
||||
BUILDEXTERN int m_entcnt BUILDINIT(0) ;
|
||||
BUILDEXTERN FILE *entfile ;
|
||||
|
||||
BUILDEXTERN LOGICAL entrule BUILDINIT(FALSE) ;
|
||||
|
||||
BUILDEXTERN M_WCHAR genname[M_NAMELEN + sizeof(M_PREFIX)] ;
|
||||
|
||||
M_WCHAR *MakeWideCharString(const char *from);
|
||||
226
cde/programs/dthelp/parser/include/build/proto.h
Normal file
226
cde/programs/dthelp/parser/include/build/proto.h
Normal file
@@ -0,0 +1,226 @@
|
||||
/*
|
||||
* CDE - Common Desktop Environment
|
||||
*
|
||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
||||
*
|
||||
* These libraries and programs are free software; you can
|
||||
* redistribute them and/or modify them under the terms of the GNU
|
||||
* Lesser General Public License as published by the Free Software
|
||||
* Foundation; either version 2 of the License, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* These libraries and programs are distributed in the hope that
|
||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU Lesser General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with these libraries and programs; if not, write
|
||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
||||
* Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
/* $XConsortium: proto.h /main/3 1995/11/08 10:03:00 rswiston $ */
|
||||
/*
|
||||
Copyright (c) 1988, 1989 Hewlett-Packard Co.
|
||||
*/
|
||||
|
||||
/* Proto.h contains function prototypes for program BUILD. */
|
||||
|
||||
|
||||
int addarc(STATE *from, STATE *to, ELTSTRUCT *label, ANDGROUP *and, LOGICAL optional,
|
||||
int id, LOGICAL minim, ELTSTRUCT **errelt);
|
||||
|
||||
void adddefent(M_WCHAR *mapname);
|
||||
|
||||
LOGICAL addent(M_WCHAR *name);
|
||||
|
||||
void addex(void);
|
||||
|
||||
void addkeyword(void);
|
||||
|
||||
LOGICAL addmapname(M_WCHAR *p, LOGICAL define);
|
||||
|
||||
void addndent(M_WCHAR *p);
|
||||
|
||||
void addpar(void);
|
||||
|
||||
void addsref(M_WCHAR *p);
|
||||
|
||||
LOGICAL m_allwhite(const M_WCHAR *string);
|
||||
|
||||
void checkand(ANDGROUP *andstart, ANDGROUP *andptr, STATE *start, TREE *root,
|
||||
ELTSTRUCT **errelt);
|
||||
|
||||
LOGICAL checkdefault(const M_WCHAR *string);
|
||||
|
||||
int checkdfsa(STATE *from, ELTSTRUCT *label, ANDGROUP *and, int id, ELTSTRUCT **errelt);
|
||||
|
||||
int checkrepeat(STATE *from, ANDGROUP *and, ELTSTRUCT **errelt);
|
||||
|
||||
void copyintolist(STATELIST *from, STATELIST **to);
|
||||
|
||||
void countdown(M_TRIE *parent, int *count);
|
||||
|
||||
void defmapname(void);
|
||||
|
||||
char *deftype(int n);
|
||||
|
||||
void dellist(STATELIST **list);
|
||||
|
||||
void delstartarcs(void);
|
||||
|
||||
void done(void);
|
||||
|
||||
void dumpentnode(FILE *file, M_TRIE *value);
|
||||
|
||||
void dumpmapnode(FILE *file, M_TRIE *value);
|
||||
|
||||
void dumpsrefnode(FILE *file,
|
||||
M_TRIE *value);
|
||||
|
||||
void dumpptrie(M_TRIE *intname, char *extname, FILE *file, char *externdef, char *defdef,
|
||||
void (*proc)( FILE *, M_TRIE *));
|
||||
|
||||
void m_dumptrie(FILE *file,
|
||||
M_TRIE *xtrie,
|
||||
char *extname,
|
||||
int *count,
|
||||
void (*proc)(M_ENTITY *));
|
||||
|
||||
void eltblocks(FILE *tempfile);
|
||||
|
||||
void eltreeout(void);
|
||||
|
||||
void endmodel(void);
|
||||
|
||||
void entout(char *fname);
|
||||
|
||||
char *enttype(int n);
|
||||
|
||||
void m_error(char *text);
|
||||
|
||||
void m_err1(const char *text, const M_WCHAR *arg);
|
||||
|
||||
void m_mberr1(char *text, const char *arg);
|
||||
|
||||
void m_err2(const char *text, const M_WCHAR *arg1, const M_WCHAR *arg2);
|
||||
|
||||
void exout(void);
|
||||
|
||||
void m_free(void *block, char *msg);
|
||||
|
||||
void freetree(TREE *ruletree);
|
||||
|
||||
void found(LOGICAL *flag, char *delim);
|
||||
|
||||
void fsa(void);
|
||||
|
||||
int getachar(void);
|
||||
|
||||
ANDGROUP *getand(void);
|
||||
|
||||
LOGICAL getname(int first);
|
||||
|
||||
STATE *getstate(void);
|
||||
|
||||
int gettoken(int *c, int context);
|
||||
|
||||
TREE *gettreenode(void);
|
||||
|
||||
void initialize(void);
|
||||
|
||||
LOGICAL litproc(int delim);
|
||||
|
||||
void makeand(LOGICAL *canbenull, TREE *root, int optional);
|
||||
|
||||
LOGICAL makefsa(TREE *root, int optional);
|
||||
|
||||
void makeor(LOGICAL *canbenull, TREE *root);
|
||||
|
||||
void makeseq(LOGICAL *canbenull, TREE *root, int optional);
|
||||
|
||||
void *m_malloc(int size, char *msg);
|
||||
|
||||
void msgline(char *text);
|
||||
|
||||
void msg1line(char *text, char *arg1);
|
||||
|
||||
void nondeterm(TREE *root, int c, ELTSTRUCT *eltp);
|
||||
|
||||
void normdefault(M_WCHAR *string);
|
||||
|
||||
LOGICAL notinlist(STATELIST *item, STATELIST *list);
|
||||
|
||||
ELTSTRUCT *ntrelt(M_WCHAR *p);
|
||||
|
||||
void m_openchk(FILE **ptr, char *name, char *mode);
|
||||
|
||||
void parout(void);
|
||||
|
||||
char *partype(int n);
|
||||
|
||||
LOGICAL permitspcd(ARC *a);
|
||||
|
||||
void pop(void);
|
||||
|
||||
void prulend(void);
|
||||
|
||||
void push(void);
|
||||
|
||||
LOGICAL regenerate(TREE *start, TREE *stop);
|
||||
|
||||
void repeat(TREE *root);
|
||||
|
||||
void ruleinit(void);
|
||||
|
||||
void rulend(void);
|
||||
|
||||
LOGICAL samelabelarc(ARC *a, STATE *s);
|
||||
|
||||
void savelhs(LOGICAL param);
|
||||
|
||||
void savestartarcs(void);
|
||||
|
||||
int scan(void);
|
||||
|
||||
void setdefault(const M_WCHAR *string);
|
||||
|
||||
void simplebranch(TREE *root, ELTSTRUCT *value, ANDGROUP *group, int optional);
|
||||
|
||||
void skiptoend(void);
|
||||
|
||||
int m_sprscon(int i, int j);
|
||||
|
||||
void srefout(void);
|
||||
|
||||
STATE *startfsa(TREE *root, LOGICAL *canbenull);
|
||||
|
||||
void tempelt(ELTSTRUCT *eltp, FILE *tempfile);
|
||||
|
||||
void template(void);
|
||||
|
||||
char *typecon(int n);
|
||||
|
||||
void undodelim(M_WCHAR *delim);
|
||||
|
||||
void ungetachar(int c);
|
||||
|
||||
int m_wcupstrcmp(const M_WCHAR *p, const M_WCHAR *q);
|
||||
|
||||
int m_wcmbupstrcmp(const M_WCHAR *p, const char *q);
|
||||
|
||||
int m_mbmbupstrcmp(const char *p, const char *q);
|
||||
|
||||
void warning(char *text);
|
||||
|
||||
void warning1(char *text, M_WCHAR *arg);
|
||||
|
||||
void warning2(char *text, M_WCHAR *arg1, M_WCHAR *arg2);
|
||||
|
||||
void warning3(char *text, M_WCHAR *arg1, M_WCHAR *arg2, M_WCHAR *arg3);
|
||||
|
||||
void warning4(char *text, M_WCHAR *arg1, M_WCHAR *arg2, M_WCHAR *arg3, M_WCHAR *arg4);
|
||||
|
||||
LOGICAL m_whitespace(M_WCHAR c);
|
||||
|
||||
Reference in New Issue
Block a user