Node 189 syn/compile.c static void callErrBlock(Node * node) { Node 193 syn/compile.c static void Node_compile_c_ko(Node *node, int ko) Node 367 syn/compile.c static int countVariables(Node *node) Node 378 syn/compile.c static void defineVariables(Node *node) Node 390 syn/compile.c static void undefineVariables(Node *node) Node 401 syn/compile.c static void Rule_compile_c2(Node *node) Node 925 syn/compile.c int consumesInput(Node *node) Node 956 syn/compile.c Node *n; Node 965 syn/compile.c Node *n; Node 986 syn/compile.c void Rule_compile_c(Node *node) Node 988 syn/compile.c Node *n; Node 34 syn/greg.h typedef union Node Node; Node 36 syn/greg.h #define NODE_COMMON NodeType type; Node *next; char *errblock Node 37 syn/greg.h struct Rule { NODE_COMMON; char *name; Node *variables; Node *expression; int id; int flags; }; Node 38 syn/greg.h struct Variable { NODE_COMMON; char *name; Node *value; int offset; }; Node 39 syn/greg.h struct Name { NODE_COMMON; Node *rule; Node *variable; }; Node 44 syn/greg.h struct Action { NODE_COMMON; char *text; Node *list; char *name; Node *rule; }; Node 46 syn/greg.h struct Alternate { NODE_COMMON; Node *first; Node *last; }; Node 47 syn/greg.h struct Sequence { NODE_COMMON; Node *first; Node *last; }; Node 48 syn/greg.h struct PeekFor { NODE_COMMON; Node *element; }; Node 49 syn/greg.h struct PeekNot { NODE_COMMON; Node *element; }; Node 50 syn/greg.h struct Query { NODE_COMMON; Node *element; }; Node 51 syn/greg.h struct Star { NODE_COMMON; Node *element; }; Node 52 syn/greg.h struct Plus { NODE_COMMON; Node *element; }; Node 78 syn/greg.h extern Node *actions; Node 79 syn/greg.h extern Node *rules; Node 80 syn/greg.h extern Node *start; Node 86 syn/greg.h extern Node *makeRule(char *name, int starts); Node 87 syn/greg.h extern Node *findRule(char *name, int starts); Node 88 syn/greg.h extern Node *beginRule(Node *rule); Node 89 syn/greg.h extern void Rule_setExpression(Node *rule, Node *expression); Node 90 syn/greg.h extern Node *Rule_beToken(Node *rule); Node 91 syn/greg.h extern Node *makeVariable(char *name); Node 92 syn/greg.h extern Node *makeName(Node *rule); Node 93 syn/greg.h extern Node *makeDot(void); Node 94 syn/greg.h extern Node *makeCharacter(char *text); Node 95 syn/greg.h extern Node *makeString(char *text); Node 96 syn/greg.h extern Node *makeClass(char *text); Node 97 syn/greg.h extern Node *makeAction(char *text); Node 98 syn/greg.h extern Node *makePredicate(char *text); Node 99 syn/greg.h extern Node *makeAlternate(Node *e); Node 100 syn/greg.h extern Node *Alternate_append(Node *e, Node *f); Node 101 syn/greg.h extern Node *makeSequence(Node *e); Node 102 syn/greg.h extern Node *Sequence_append(Node *e, Node *f); Node 103 syn/greg.h extern Node *makePeekFor(Node *e); Node 104 syn/greg.h extern Node *makePeekNot(Node *e); Node 105 syn/greg.h extern Node *makeQuery(Node *e); Node 106 syn/greg.h extern Node *makeStar(Node *e); Node 107 syn/greg.h extern Node *makePlus(Node *e); Node 108 syn/greg.h extern Node *push(Node *node); Node 109 syn/greg.h extern Node *top(void); Node 110 syn/greg.h extern Node *pop(void); Node 113 syn/greg.h extern void Rule_compile_c(Node *node); Node 115 syn/greg.h extern void Node_print(Node *node); Node 116 syn/greg.h extern void Rule_print(Node *node); Node 117 syn/greg.h extern void Rule_free(Node *node); Node 68 syn/greg.y EQUAL expression { Node *e= pop(); Rule_setExpression(pop(), e); } Node 71 syn/greg.y expression= sequence (BAR sequence { Node *f= pop(); push(Alternate_append(pop(), f)); } Node 74 syn/greg.y sequence= prefix (prefix { Node *f= pop(); push(Sequence_append(pop(), f)); } Node 89 syn/greg.y COLON identifier !EQUAL { Node *name= makeName(findRule(yytext,0)); name->name.variable= pop(); push(name); } Node 98 syn/greg.y ) (errblock { Node *node = pop(); ((struct Any *) node)->errblock = strdup(yytext); push(node); })? Node 185 syn/greg.y Node *n; Node 27 syn/tree.c Node *actions= 0; Node 28 syn/tree.c Node *rules= 0; Node 29 syn/tree.c Node *thisRule= 0; Node 30 syn/tree.c Node *start= 0; Node 38 syn/tree.c static inline Node *_newNode(NodeType type, int size) Node 40 syn/tree.c Node *node= calloc(1, size); Node 48 syn/tree.c Node *makeRule(char *name, int starts) Node 50 syn/tree.c Node *node= newNode(Rule); Node 59 syn/tree.c Node *findRule(char *name, int starts) Node 61 syn/tree.c Node *n; Node 73 syn/tree.c Node *beginRule(Node *rule) Node 79 syn/tree.c void Rule_setExpression(Node *node, Node *expression) Node 91 syn/tree.c Node *makeVariable(char *name) Node 93 syn/tree.c Node *node; Node 105 syn/tree.c Node *makeName(Node *rule) Node 107 syn/tree.c Node *node= newNode(Name); Node 114 syn/tree.c Node *makeDot(void) Node 119 syn/tree.c Node *makeCharacter(char *text) Node 121 syn/tree.c Node *node= newNode(Character); Node 126 syn/tree.c Node *makeString(char *text) Node 128 syn/tree.c Node *node= newNode(String); Node 133 syn/tree.c Node *makeClass(char *text) Node 135 syn/tree.c Node *node= newNode(Class); Node 140 syn/tree.c Node *makeAction(char *text) Node 142 syn/tree.c Node *node= newNode(Action); Node 160 syn/tree.c Node *makePredicate(char *text) Node 162 syn/tree.c Node *node= newNode(Predicate); Node 167 syn/tree.c Node *makeAlternate(Node *e) Node 171 syn/tree.c Node *node= newNode(Alternate); Node 181 syn/tree.c Node *Alternate_append(Node *a, Node *e) Node 192 syn/tree.c Node *makeSequence(Node *e) Node 196 syn/tree.c Node *node= newNode(Sequence); Node 206 syn/tree.c Node *Sequence_append(Node *a, Node *e) Node 217 syn/tree.c Node *makePeekFor(Node *e) Node 219 syn/tree.c Node *node= newNode(PeekFor); Node 224 syn/tree.c Node *makePeekNot(Node *e) Node 226 syn/tree.c Node *node= newNode(PeekNot); Node 231 syn/tree.c Node *makeQuery(Node *e) Node 233 syn/tree.c Node *node= newNode(Query); Node 238 syn/tree.c Node *makeStar(Node *e) Node 240 syn/tree.c Node *node= newNode(Star); Node 245 syn/tree.c Node *makePlus(Node *e) Node 247 syn/tree.c Node *node= newNode(Plus); Node 253 syn/tree.c static Node *stack[1024]; Node 254 syn/tree.c static Node **stackPointer= stack; Node 260 syn/tree.c Node **p; Node 270 syn/tree.c Node *push(Node *node) Node 280 syn/tree.c Node *top(void) Node 286 syn/tree.c Node *pop(void) Node 296 syn/tree.c static void Node_fprint(FILE *stream, Node *node) Node 342 syn/tree.c void Node_print(Node *node) { Node_fprint(stderr, node); } Node 344 syn/tree.c static void Rule_fprint(FILE *stream, Node *node) Node 356 syn/tree.c void Rule_print(Node *node) { Rule_fprint(stderr, node); } Node 358 syn/tree.c void Rule_free(Node *node) Node 365 syn/tree.c Node *var= node->rule.variables; Node 372 syn/tree.c Node *tmp= var->any.next; Rule_free(var); var= tmp; Node 392 syn/tree.c Node *root= node; Node 398 syn/tree.c Node *tmp= node->any.next; Rule_free(node); node= tmp; Node 406 syn/tree.c Node *root= node; Node 412 syn/tree.c Node *tmp= node->any.next; Rule_free(node); node= tmp; Node 437 syn/tree.c Node *n; Node 440 syn/tree.c Node *tmp= n->any.next; Node 454 syn/tree.c Node *tmp= n->any.next;