version 1.12, 2014/03/08 00:44:14 |
version 1.13, 2014/03/13 01:18:22 |
|
|
void |
void |
set_EFF(void) |
set_EFF(void) |
{ |
{ |
unsigned *row; |
unsigned int *row; |
int symbol; |
int symbol, rowsize, i, rule; |
short *sp; |
short *sp; |
int rowsize; |
|
int i; |
|
int rule; |
|
|
|
rowsize = WORDSIZE(nvars); |
rowsize = WORDSIZE(nvars); |
EFF = NEW2(nvars * rowsize, unsigned); |
EFF = NEW2(nvars * rowsize, unsigned); |
|
|
void |
void |
set_first_derives(void) |
set_first_derives(void) |
{ |
{ |
unsigned *rrow; |
unsigned int *rrow, *vrow; |
unsigned *vrow; |
unsigned int k, cword = 0; |
int j; |
int i, j, rule, rulesetsize, varsetsize; |
unsigned k; |
|
unsigned cword = 0; |
|
short *rp; |
short *rp; |
|
|
int rule; |
|
int i; |
|
int rulesetsize; |
|
int varsetsize; |
|
|
|
rulesetsize = WORDSIZE(nrules); |
rulesetsize = WORDSIZE(nrules); |
varsetsize = WORDSIZE(nvars); |
varsetsize = WORDSIZE(nvars); |
first_derives = NEW2(nvars * rulesetsize, unsigned) - ntokens * rulesetsize; |
first_derives = NEW2(nvars * rulesetsize, unsigned) - ntokens * rulesetsize; |
|
|
void |
void |
closure(short *nucleus, int n) |
closure(short *nucleus, int n) |
{ |
{ |
int ruleno; |
unsigned int i, word; |
unsigned word; |
short *csp, *csend; |
unsigned i; |
unsigned int *dsp, *rsp, *rsend; |
short *csp; |
|
unsigned *dsp; |
|
unsigned *rsp; |
|
int rulesetsize; |
int rulesetsize; |
|
int ruleno, symbol, itemno; |
|
|
short *csend; |
|
unsigned *rsend; |
|
int symbol; |
|
int itemno; |
|
|
|
rulesetsize = WORDSIZE(nrules); |
rulesetsize = WORDSIZE(nrules); |
rsend = ruleset + rulesetsize; |
rsend = ruleset + rulesetsize; |
memset(ruleset, 0, rulesetsize * sizeof(*ruleset)); |
memset(ruleset, 0, rulesetsize * sizeof(*ruleset)); |
|
|
print_EFF(void) |
print_EFF(void) |
{ |
{ |
int i, j; |
int i, j; |
unsigned *rowp; |
unsigned int *rowp; |
unsigned word; |
unsigned int k, word; |
unsigned k; |
|
|
|
printf("\n\nEpsilon Free Firsts\n"); |
printf("\n\nEpsilon Free Firsts\n"); |
|
|
|
|
void |
void |
print_first_derives(void) |
print_first_derives(void) |
{ |
{ |
int i; |
int i, j; |
int j; |
unsigned int *rp; |
unsigned *rp; |
unsigned int k, cword = 0; |
unsigned cword = 0; |
|
unsigned k; |
|
|
|
printf("\n\n\nFirst Derives\n"); |
printf("\n\n\nFirst Derives\n"); |
|
|