Move support/lib into lib/Support
[oota-llvm.git] / support / tools / Burg / b.h
diff --git a/support/tools/Burg/b.h b/support/tools/Burg/b.h
deleted file mode 100644 (file)
index 164325d..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-/* $Id$ */
-
-#define MAX_ARITY      2
-
-typedef int ItemSetNum;
-typedef int OperatorNum;
-typedef int NonTerminalNum;
-typedef int RuleNum;
-typedef int ArityNum;
-typedef int ERuleNum;
-
-extern NonTerminalNum  last_user_nonterminal;
-extern NonTerminalNum  max_nonterminal;
-extern RuleNum         max_rule;
-extern ERuleNum                max_erule_num;
-extern int             max_arity;
-
-#ifdef __STDC__
-#define ARGS(x) x
-#else
-#define ARGS(x) ()
-#endif
-
-#ifndef NOLEX
-#define DELTAWIDTH     4
-typedef short DeltaCost[DELTAWIDTH];
-typedef short *DeltaPtr;
-extern void ASSIGNCOST ARGS((DeltaPtr, DeltaPtr));
-extern void ADDCOST ARGS((DeltaPtr, DeltaPtr));
-extern void MINUSCOST ARGS((DeltaPtr, DeltaPtr));
-extern void ZEROCOST ARGS((DeltaPtr));
-extern int LESSCOST ARGS((DeltaPtr, DeltaPtr));
-extern int EQUALCOST ARGS((DeltaPtr, DeltaPtr));
-#define PRINCIPLECOST(x)       (x[0])
-#else
-#define DELTAWIDTH     1
-typedef int DeltaCost;
-typedef int DeltaPtr;
-#define ASSIGNCOST(l, r)       ((l) = (r))
-#define ADDCOST(l, r)          ((l) += (r))
-#define MINUSCOST(l, r)                ((l) -= (r))
-#define ZEROCOST(x)            ((x) = 0)
-#define LESSCOST(l, r)         ((l) < (r))
-#define EQUALCOST(l, r)                ((l) == (r))
-#define PRINCIPLECOST(x)       (x)
-#endif /* NOLEX */
-#define NODIVERGE(c,state,nt,base)             if (prevent_divergence > 0) CHECKDIVERGE(c,state,nt,base);
-
-struct list {
-       void            *x;
-       struct list     *next;
-};
-typedef struct list    *List;
-
-struct intlist {
-       int             x;
-       struct intlist  *next;
-};
-typedef struct intlist *IntList;
-
-struct operator {
-       char            *name;
-       unsigned int    ref:1;
-       OperatorNum     num;
-       ItemSetNum      baseNum;
-       ItemSetNum      stateCount;
-       ArityNum        arity;
-       struct table    *table;
-};
-typedef struct operator        *Operator;
-
-struct nonterminal {
-       char            *name;
-       NonTerminalNum  num;
-       ItemSetNum      baseNum;
-       ItemSetNum      ruleCount;
-       struct plankMap *pmap;
-
-       struct rule     *sampleRule; /* diagnostic---gives "a" rule that with this lhs */
-};
-typedef struct nonterminal     *NonTerminal;
-
-struct pattern {
-       NonTerminal     normalizer;
-       Operator        op;             /* NULL if NonTerm -> NonTerm */
-       NonTerminal     children[MAX_ARITY];
-};
-typedef struct pattern *Pattern;
-
-struct rule {
-       DeltaCost       delta;
-       ERuleNum        erulenum;
-       RuleNum         num;
-       RuleNum         newNum;
-       NonTerminal     lhs;
-       Pattern         pat;
-       unsigned int    used:1;
-};
-typedef struct rule    *Rule;
-
-struct item {
-       DeltaCost       delta;
-       Rule            rule;
-};
-typedef struct item    Item;
-
-typedef short  *Relevant;      /* relevant non-terminals */
-
-typedef Item   *ItemArray;
-
-struct item_set {      /* indexed by NonTerminal */
-       ItemSetNum      num;
-       ItemSetNum      newNum;
-       Operator        op;
-       struct item_set *kids[2];
-       struct item_set *representative;
-       Relevant        relevant;
-       ItemArray       virgin;
-       ItemArray       closed;
-};
-typedef struct item_set        *Item_Set;
-
-#define DIM_MAP_SIZE   (1 << 8)
-#define GLOBAL_MAP_SIZE        (1 << 15)
-
-struct mapping {       /* should be a hash table for TS -> int */
-       List            *hash;
-       int             hash_size;
-       int             max_size;
-       ItemSetNum      count;
-       Item_Set        *set;   /* map: int <-> Item_Set */
-};
-typedef struct mapping *Mapping;
-
-struct index_map {
-       ItemSetNum      max_size;
-       Item_Set        *class;
-};
-typedef struct index_map       Index_Map;
-
-struct dimension {
-       Relevant        relevant;
-       Index_Map       index_map;
-       Mapping         map;
-       ItemSetNum      max_size;
-       struct plankMap *pmap;
-};
-typedef struct dimension       *Dimension;
-
-
-struct table {
-       Operator        op;
-       List            rules;
-       Relevant        relevant;
-       Dimension       dimen[MAX_ARITY];       /* 1 for each dimension */
-       Item_Set        *transition;    /* maps local indices to global
-                                               itemsets */
-};
-typedef struct table   *Table;
-
-struct relation {
-       Rule    rule;
-       DeltaCost       chain;
-       NonTerminalNum  nextchain;
-       DeltaCost       sibling;
-       int             sibFlag;
-       int             sibComputed;
-};
-typedef struct relation        *Relation;
-
-struct queue {
-       List head;
-       List tail;
-};
-typedef struct queue   *Queue;
-
-struct plank {
-       char *name;
-       List fields;
-       int width;
-};
-typedef struct plank   *Plank;
-
-struct except {
-       short index;
-       short value;
-};
-typedef struct except  *Exception;
-
-struct plankMap {
-       List exceptions;
-       int offset;
-       struct stateMap *values;
-};
-typedef struct plankMap        *PlankMap;
-
-struct stateMap {
-       char *fieldname;
-       Plank plank;
-       int width;
-       short *value;
-};
-typedef struct stateMap        *StateMap;
-
-struct stateMapTable {
-       List maps;
-};
-
-extern void CHECKDIVERGE ARGS((DeltaPtr, Item_Set, int, int));
-extern void zero ARGS((Item_Set));
-extern ItemArray newItemArray ARGS((void));
-extern ItemArray itemArrayCopy ARGS((ItemArray));
-extern Item_Set newItem_Set ARGS((Relevant));
-extern void freeItem_Set ARGS((Item_Set));
-extern Mapping newMapping ARGS((int));
-extern NonTerminal newNonTerminal ARGS((char *));
-extern int nonTerminalName ARGS((char *, int));
-extern Operator newOperator ARGS((char *, OperatorNum, ArityNum));
-extern Pattern newPattern ARGS((Operator));
-extern Rule newRule ARGS((DeltaPtr, ERuleNum, NonTerminal, Pattern));
-extern List newList ARGS((void *, List));
-extern IntList newIntList ARGS((int, IntList));
-extern int length ARGS((List));
-extern List appendList ARGS((void *, List));
-extern Table newTable ARGS((Operator));
-extern Queue newQ ARGS((void));
-extern void addQ ARGS((Queue, Item_Set));
-extern Item_Set popQ ARGS((Queue));
-extern int equivSet ARGS((Item_Set, Item_Set));
-extern Item_Set decode ARGS((Mapping, ItemSetNum));
-extern Item_Set encode ARGS((Mapping, Item_Set, int *));
-extern void build ARGS((void));
-extern Item_Set *transLval ARGS((Table, int, int));
-
-typedef void * (*ListFn) ARGS((void *));
-extern void foreachList ARGS((ListFn, List));
-extern void reveachList ARGS((ListFn, List));
-
-extern void addToTable ARGS((Table, Item_Set));
-
-extern void closure ARGS((Item_Set));
-extern void trim ARGS((Item_Set));
-extern void findChainRules ARGS((void));
-extern void findAllPairs ARGS((void));
-extern void addRelevant ARGS((Relevant, NonTerminalNum));
-
-extern void *zalloc ARGS((unsigned int));
-extern void zfree ARGS((void *));
-
-extern NonTerminal     start;
-extern List            rules;
-extern List            chainrules;
-extern List            operators;
-extern List            leaves;
-extern List            nonterminals;
-extern List            grammarNts;
-extern Queue           globalQ;
-extern Mapping         globalMap;
-extern int             exceptionTolerance;
-extern int             prevent_divergence;
-extern int             principleCost;
-extern int             lexical;
-extern struct rule     stub_rule;
-extern Relation        *allpairs;
-extern Item_Set                *sortedStates;
-extern Item_Set                errorState;
-
-extern void dumpRelevant ARGS((Relevant));
-extern void dumpOperator ARGS((Operator, int));
-extern void dumpOperator_s ARGS((Operator));
-extern void dumpOperator_l ARGS((Operator));
-extern void dumpNonTerminal ARGS((NonTerminal));
-extern void dumpRule ARGS((Rule));
-extern void dumpRuleList ARGS((List));
-extern void dumpItem ARGS((Item *));
-extern void dumpItem_Set ARGS((Item_Set));
-extern void dumpMapping ARGS((Mapping));
-extern void dumpQ ARGS((Queue));
-extern void dumpIndex_Map ARGS((Index_Map *));
-extern void dumpDimension ARGS((Dimension));
-extern void dumpPattern ARGS((Pattern));
-extern void dumpTable ARGS((Table, int));
-extern void dumpTransition ARGS((Table));
-extern void dumpCost ARGS((DeltaCost));
-extern void dumpAllPairs ARGS((void));
-extern void dumpRelation ARGS((Relation));
-extern void dumpSortedStates ARGS((void));
-extern void dumpSortedRules ARGS((void));
-extern int debugTrim;
-
-#ifdef DEBUG
-#define debug(a,b)     if (a) b
-#else
-#define debug(a,b)
-#endif
-extern int debugTables;
-
-#define TABLE_INCR     8
-#define STATES_INCR    64
-
-#ifdef NDEBUG
-#define assert(c) ((void) 0)
-#else
-#define assert(c) ((void) ((c) || fatal(__FILE__,__LINE__)))
-#endif
-
-extern void doStart ARGS((char *));
-extern void exit ARGS((int));
-extern int fatal ARGS((const char *, int));
-extern void yyerror ARGS((const char *));
-extern void yyerror1 ARGS((const char *));