1991-02-19 08:39:46 -04:00
|
|
|
/***********************************************************
|
1995-01-04 15:08:09 -04:00
|
|
|
Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
|
|
|
|
The Netherlands.
|
1991-02-19 08:39:46 -04:00
|
|
|
|
|
|
|
All Rights Reserved
|
|
|
|
|
|
|
|
Permission to use, copy, modify, and distribute this software and its
|
|
|
|
documentation for any purpose and without fee is hereby granted,
|
|
|
|
provided that the above copyright notice appear in all copies and that
|
|
|
|
both that copyright notice and this permission notice appear in
|
|
|
|
supporting documentation, and that the names of Stichting Mathematisch
|
|
|
|
Centrum or CWI not be used in advertising or publicity pertaining to
|
|
|
|
distribution of the software without specific, written prior permission.
|
|
|
|
|
|
|
|
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
|
|
|
|
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
|
|
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
|
|
|
|
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
|
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
|
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
|
|
|
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
|
|
|
|
******************************************************************/
|
|
|
|
|
1990-12-20 11:06:42 -04:00
|
|
|
#include "pgenheaders.h"
|
1990-10-14 09:07:46 -03:00
|
|
|
#include "metagrammar.h"
|
|
|
|
#include "grammar.h"
|
1990-12-20 11:06:42 -04:00
|
|
|
#include "pgen.h"
|
1990-10-14 09:07:46 -03:00
|
|
|
static arc arcs_0_0[3] = {
|
|
|
|
{2, 0},
|
|
|
|
{3, 0},
|
|
|
|
{4, 1},
|
|
|
|
};
|
|
|
|
static arc arcs_0_1[1] = {
|
|
|
|
{0, 1},
|
|
|
|
};
|
|
|
|
static state states_0[2] = {
|
|
|
|
{3, arcs_0_0},
|
|
|
|
{1, arcs_0_1},
|
|
|
|
};
|
|
|
|
static arc arcs_1_0[1] = {
|
|
|
|
{5, 1},
|
|
|
|
};
|
|
|
|
static arc arcs_1_1[1] = {
|
|
|
|
{6, 2},
|
|
|
|
};
|
|
|
|
static arc arcs_1_2[1] = {
|
|
|
|
{7, 3},
|
|
|
|
};
|
|
|
|
static arc arcs_1_3[1] = {
|
|
|
|
{3, 4},
|
|
|
|
};
|
|
|
|
static arc arcs_1_4[1] = {
|
|
|
|
{0, 4},
|
|
|
|
};
|
|
|
|
static state states_1[5] = {
|
|
|
|
{1, arcs_1_0},
|
|
|
|
{1, arcs_1_1},
|
|
|
|
{1, arcs_1_2},
|
|
|
|
{1, arcs_1_3},
|
|
|
|
{1, arcs_1_4},
|
|
|
|
};
|
|
|
|
static arc arcs_2_0[1] = {
|
|
|
|
{8, 1},
|
|
|
|
};
|
|
|
|
static arc arcs_2_1[2] = {
|
|
|
|
{9, 0},
|
|
|
|
{0, 1},
|
|
|
|
};
|
|
|
|
static state states_2[2] = {
|
|
|
|
{1, arcs_2_0},
|
|
|
|
{2, arcs_2_1},
|
|
|
|
};
|
|
|
|
static arc arcs_3_0[1] = {
|
|
|
|
{10, 1},
|
|
|
|
};
|
|
|
|
static arc arcs_3_1[2] = {
|
|
|
|
{10, 1},
|
|
|
|
{0, 1},
|
|
|
|
};
|
|
|
|
static state states_3[2] = {
|
|
|
|
{1, arcs_3_0},
|
|
|
|
{2, arcs_3_1},
|
|
|
|
};
|
|
|
|
static arc arcs_4_0[2] = {
|
|
|
|
{11, 1},
|
|
|
|
{13, 2},
|
|
|
|
};
|
|
|
|
static arc arcs_4_1[1] = {
|
|
|
|
{7, 3},
|
|
|
|
};
|
|
|
|
static arc arcs_4_2[3] = {
|
|
|
|
{14, 4},
|
|
|
|
{15, 4},
|
|
|
|
{0, 2},
|
|
|
|
};
|
|
|
|
static arc arcs_4_3[1] = {
|
|
|
|
{12, 4},
|
|
|
|
};
|
|
|
|
static arc arcs_4_4[1] = {
|
|
|
|
{0, 4},
|
|
|
|
};
|
|
|
|
static state states_4[5] = {
|
|
|
|
{2, arcs_4_0},
|
|
|
|
{1, arcs_4_1},
|
|
|
|
{3, arcs_4_2},
|
|
|
|
{1, arcs_4_3},
|
|
|
|
{1, arcs_4_4},
|
|
|
|
};
|
|
|
|
static arc arcs_5_0[3] = {
|
|
|
|
{5, 1},
|
|
|
|
{16, 1},
|
|
|
|
{17, 2},
|
|
|
|
};
|
|
|
|
static arc arcs_5_1[1] = {
|
|
|
|
{0, 1},
|
|
|
|
};
|
|
|
|
static arc arcs_5_2[1] = {
|
|
|
|
{7, 3},
|
|
|
|
};
|
|
|
|
static arc arcs_5_3[1] = {
|
|
|
|
{18, 1},
|
|
|
|
};
|
|
|
|
static state states_5[4] = {
|
|
|
|
{3, arcs_5_0},
|
|
|
|
{1, arcs_5_1},
|
|
|
|
{1, arcs_5_2},
|
|
|
|
{1, arcs_5_3},
|
|
|
|
};
|
|
|
|
static dfa dfas[6] = {
|
|
|
|
{256, "MSTART", 0, 2, states_0,
|
|
|
|
"\070\000\000"},
|
|
|
|
{257, "RULE", 0, 5, states_1,
|
|
|
|
"\040\000\000"},
|
|
|
|
{258, "RHS", 0, 2, states_2,
|
|
|
|
"\040\010\003"},
|
|
|
|
{259, "ALT", 0, 2, states_3,
|
|
|
|
"\040\010\003"},
|
|
|
|
{260, "ITEM", 0, 5, states_4,
|
|
|
|
"\040\010\003"},
|
|
|
|
{261, "ATOM", 0, 4, states_5,
|
|
|
|
"\040\000\003"},
|
|
|
|
};
|
|
|
|
static label labels[19] = {
|
|
|
|
{0, "EMPTY"},
|
|
|
|
{256, 0},
|
|
|
|
{257, 0},
|
|
|
|
{4, 0},
|
|
|
|
{0, 0},
|
|
|
|
{1, 0},
|
|
|
|
{11, 0},
|
|
|
|
{258, 0},
|
|
|
|
{259, 0},
|
|
|
|
{18, 0},
|
|
|
|
{260, 0},
|
|
|
|
{9, 0},
|
|
|
|
{10, 0},
|
|
|
|
{261, 0},
|
|
|
|
{16, 0},
|
|
|
|
{14, 0},
|
|
|
|
{3, 0},
|
|
|
|
{7, 0},
|
|
|
|
{8, 0},
|
|
|
|
};
|
|
|
|
static grammar gram = {
|
|
|
|
6,
|
|
|
|
dfas,
|
|
|
|
{19, labels},
|
|
|
|
256
|
|
|
|
};
|
|
|
|
|
|
|
|
grammar *
|
|
|
|
meta_grammar()
|
|
|
|
{
|
|
|
|
return &gram;
|
|
|
|
}
|