diff options
Diffstat (limited to 'Include/grammar.h')
-rw-r--r-- | Include/grammar.h | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/Include/grammar.h b/Include/grammar.h index a15316eca2..ba67f90152 100644 --- a/Include/grammar.h +++ b/Include/grammar.h @@ -1,9 +1,3 @@ -#ifndef Py_GRAMMAR_H -#define Py_GRAMMAR_H -#ifdef __cplusplus -extern "C" { -#endif - /*********************************************************** Copyright (c) 2000, BeOpen.com. Copyright (c) 1995-2000, Corporation for National Research Initiatives. @@ -16,13 +10,19 @@ redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. /* Grammar interface */ +#ifndef Py_GRAMMAR_H +#define Py_GRAMMAR_H +#ifdef __cplusplus +extern "C" { +#endif + #include "bitset.h" /* Sigh... */ /* A label of an arc */ typedef struct { - int lb_type; - char *lb_str; + int lb_type; + char *lb_str; } label; #define EMPTY 0 /* Label number 0 is by definition the empty label */ @@ -30,72 +30,72 @@ typedef struct { /* A list of labels */ typedef struct { - int ll_nlabels; - label *ll_label; + int ll_nlabels; + label *ll_label; } labellist; /* An arc from one state to another */ typedef struct { - short a_lbl; /* Label of this arc */ - short a_arrow; /* State where this arc goes to */ + short a_lbl; /* Label of this arc */ + short a_arrow; /* State where this arc goes to */ } arc; /* A state in a DFA */ typedef struct { - int s_narcs; - arc *s_arc; /* Array of arcs */ + int s_narcs; + arc *s_arc; /* Array of arcs */ - /* Optional accelerators */ - int s_lower; /* Lowest label index */ - int s_upper; /* Highest label index */ - int *s_accel; /* Accelerator */ - int s_accept; /* Nonzero for accepting state */ + /* Optional accelerators */ + int s_lower; /* Lowest label index */ + int s_upper; /* Highest label index */ + int *s_accel; /* Accelerator */ + int s_accept; /* Nonzero for accepting state */ } state; /* A DFA */ typedef struct { - int d_type; /* Non-terminal this represents */ - char *d_name; /* For printing */ - int d_initial; /* Initial state */ - int d_nstates; - state *d_state; /* Array of states */ - bitset d_first; + int d_type; /* Non-terminal this represents */ + char *d_name; /* For printing */ + int d_initial; /* Initial state */ + int d_nstates; + state *d_state; /* Array of states */ + bitset d_first; } dfa; /* A grammar */ typedef struct { - int g_ndfas; - dfa *g_dfa; /* Array of DFAs */ - labellist g_ll; - int g_start; /* Start symbol of the grammar */ - int g_accel; /* Set if accelerators present */ + int g_ndfas; + dfa *g_dfa; /* Array of DFAs */ + labellist g_ll; + int g_start; /* Start symbol of the grammar */ + int g_accel; /* Set if accelerators present */ } grammar; /* FUNCTIONS */ -grammar *newgrammar Py_PROTO((int start)); -dfa *adddfa Py_PROTO((grammar *g, int type, char *name)); -int addstate Py_PROTO((dfa *d)); -void addarc Py_PROTO((dfa *d, int from, int to, int lbl)); -dfa *PyGrammar_FindDFA Py_PROTO((grammar *g, int type)); -char *typename Py_PROTO((grammar *g, int lbl)); +grammar *newgrammar(int start); +dfa *adddfa(grammar *g, int type, char *name); +int addstate(dfa *d); +void addarc(dfa *d, int from, int to, int lbl); +dfa *PyGrammar_FindDFA(grammar *g, int type); +char *typename(grammar *g, int lbl); -int addlabel Py_PROTO((labellist *ll, int type, char *str)); -int findlabel Py_PROTO((labellist *ll, int type, char *str)); -char *PyGrammar_LabelRepr Py_PROTO((label *lb)); -void translatelabels Py_PROTO((grammar *g)); +int addlabel(labellist *ll, int type, char *str); +int findlabel(labellist *ll, int type, char *str); +char *PyGrammar_LabelRepr(label *lb); +void translatelabels(grammar *g); -void addfirstsets Py_PROTO((grammar *g)); +void addfirstsets(grammar *g); -void PyGrammar_AddAccelerators Py_PROTO((grammar *g)); -void PyGrammar_RemoveAccelerators Py_PROTO((grammar *)); +void PyGrammar_AddAccelerators(grammar *g); +void PyGrammar_RemoveAccelerators(grammar *); -void printgrammar Py_PROTO((grammar *g, FILE *fp)); -void printnonterminals Py_PROTO((grammar *g, FILE *fp)); +void printgrammar(grammar *g, FILE *fp); +void printnonterminals(grammar *g, FILE *fp); #ifdef __cplusplus } |