Lines Matching refs:symbols

154   int nrhs;                /* Number of RHS symbols */
155 struct symbol **rhs; /* The RHS symbols */
169 ** symbols which are allowed to immediately follow the end of the rule.
237 int nsymbol; /* Number of terminal and nonterminal symbols */
238 int nterminal; /* Number of terminal symbols */
239 struct symbol **symbols; /* Sorted array of pointers to symbols */
244 char *tokentype; /* Type of terminal symbols in the parser stack */
245 char *vartype; /* The default type of non-terminal symbols */
300 /* Routines for handling symbols of the grammar */
581 ** are not RHS symbols with a defined precedence, the precedence
604 ** The first set is the set of all terminal symbols which can begin
615 lemp->symbols[i]->lambda = B_FALSE;
618 lemp->symbols[i]->firstset = SetNew();
849 ** A followset is the set of all symbols which can come immediately
909 ** rule "cfp->rp" if the lookahead symbol is "lemp->symbols[j]" */
910 Action_add(&stp->ap,REDUCE,lemp->symbols[j],(char *)cfp->rp);
1381 /* Count and index the symbols of the grammar */
1384 lem.symbols = Symbol_arrayof();
1385 for(i=0; i<=lem.nsymbol; i++) lem.symbols[i]->index = i;
1386 qsort(lem.symbols,lem.nsymbol+1,sizeof(struct symbol*),
1388 for(i=0; i<=lem.nsymbol; i++) lem.symbols[i]->index = i;
1389 for(i=1; isupper(lem.symbols[i]->name[0]); i++);
1889 int nrhs; /* Number of right-hand side symbols seen */
1890 struct symbol *rhs[MAXRHS]; /* RHS symbols */
2547 sp = lemp->symbols[i];
2557 sp = lemp->symbols[j];
2607 fprintf(out,"%s%s",spacer,lemp->symbols[i]->name);
2981 /* Generate destructor code for RHS symbols which are not used in the
3035 struct symbol *sp = lemp->symbols[i];
3048 ** used for terminal symbols. If there is no %default_type defined then
3053 struct symbol *sp = lemp->symbols[i];
3202 fprintf(out,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i);
3438 struct symbol *p = lemp->symbols[i];
3453 sprintf(line,"\"%s\",",lemp->symbols[i]->name);
3478 struct symbol *sp = lemp->symbols[i];
3482 for(i=0; i<lemp->nsymbol && lemp->symbols[i]->type!=TERMINAL; i++);
3484 emit_destructor_code(out,lemp->symbols[i],lemp,&lineno);
3489 struct symbol *sp = lemp->symbols[i];
3492 emit_destructor_code(out,lemp->symbols[i],lemp,&lineno);
3498 struct symbol *sp = lemp->symbols[i];
3568 sprintf(pattern,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i);
3580 fprintf(out,"#define %s%-30s %2d\n",prefix,lemp->symbols[i]->name,i);
3888 /* Compare two symbols for working purposes
3891 ** must sort before symbols that begin with lower case letters
3894 ** We find experimentally that leaving the symbols in their original