\begin{flushleft}
\begin{tabbing}
\em{     graph\_main  } \= $\rightarrow$ \= \em{  graph\_decl } \\
\em{     graph\_decl  } \> $\rightarrow$ \> \em{  {\bf LBRACE } graph\_desc graph\_deflist {\bf RBRACE } } \\
\em{     graph\_decl  } \> $\rightarrow$ \> \em{  {\bf LBRACE }  graph\_deflist {\bf RBRACE } } \\
\em{     graph\_desc  } \> $\rightarrow$ \> \em{  graph\_type {\bf ( } graph\_attrs {\bf ) } } \\
\em{     graph\_desc  } \> $\rightarrow$ \> \em{  graph\_type {\bf ( } {\bf ) } } \\
\em{     graph\_desc  } \> $\rightarrow$ \> \em{  graph\_type } \\
\em{     graph\_desc  } \> $\rightarrow$ \> \em{  {\bf ( }  graph\_attrs {\bf ) } } \\
\em{    graph\_deflist  } \> $\rightarrow$ \> \em{  vertices edges } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf MHYPERGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf HYPERGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf MUHYPERGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf UHYPERGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf MDHYPERGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf DHYPERGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf MBINGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf BINGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf MUBINGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf UBINGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf MDBINGRAPH } } \\
\em{    graph\_type  } \> $\rightarrow$ \> \em{  {\bf ABSTRACTGRAPH } {\bf DBINGRAPH } } \\
\em{    graph\_attrs  } \> $\rightarrow$ \> \em{  graph\_attr } \\
\em{    graph\_attrs  } \> $\rightarrow$ \> \em{  graph\_attrs graph\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  rstr\_g\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  rint\_g\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  int\_g\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  flt\_g\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  dbl\_g\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  str\_g\_attr } \\
\em{    graph\_attr  } \> $\rightarrow$ \> \em{  {\bf LOCATION } {\bf ( } {\bf ( } number {\bf COMMA } number {\bf ) } {\bf ) } } \\
\em{    rstr\_g\_attr  } \> $\rightarrow$ \> \em{  {\bf STR\_ATTR } {\bf ( } {\bf STR\_CONST } {\bf ) } } \\
\em{    str\_g\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf STR\_CONST } {\bf ) } } \\
\em{    rint\_g\_attr  } \> $\rightarrow$ \> \em{  {\bf INT\_ATTR } {\bf ( } {\bf INT\_CONST } {\bf ) } } \\
\em{    int\_g\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf INT\_CONST } {\bf ) } } \\
\em{    flt\_g\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf FLT\_CONST } {\bf ) } } \\
\em{    dbl\_g\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf DBL\_CONST } {\bf ) } } \\
\em{    vertices  } \> $\rightarrow$ \> \em{  vertex\_hdr vertex\_list {\bf RBRACKET } } \\
\em{    vertices  } \> $\rightarrow$ \> \em{  vertex\_hdr {\bf RBRACKET } } \\
\em{    vertex\_hdr  } \> $\rightarrow$ \> \em{  v\_hdr } \\
\em{    vertex\_hdr  } \> $\rightarrow$ \> \em{  {\bf VERTICES } v\_hdr } \\
\em{    v\_hdr  } \> $\rightarrow$ \> \em{  {\bf LBRACKET } } \\
\em{    vertex\_list  } \> $\rightarrow$ \> \em{  vertex } \\
\em{    vertex\_list  } \> $\rightarrow$ \> \em{  vertex\_list vertex } \\
\em{    vertex  } \> $\rightarrow$ \> \em{  vertex\_name {\bf ( } vertex\_attrs {\bf ) } } \\
\em{    vertex  } \> $\rightarrow$ \> \em{  vertex\_name {\bf ( } {\bf ) } } \\
\em{    vertex  } \> $\rightarrow$ \> \em{  vertex\_name } \\
\em{    vertex\_name  } \> $\rightarrow$ \> \em{  obj\_name } \\
\em{    obj\_name  } \> $\rightarrow$ \> \em{  {\bf STR\_CONST } } \\
\em{    obj\_name  } \> $\rightarrow$ \> \em{  {\bf IDENT } } \\
\em{    obj\_name  } \> $\rightarrow$ \> \em{  {\bf INT\_CONST } } \\
\em{    vertex\_attrs  } \> $\rightarrow$ \> \em{  vertex\_attr } \\
\em{    vertex\_attrs  } \> $\rightarrow$ \> \em{  vertex\_attrs vertex\_attr } \\
\em{    number  } \> $\rightarrow$ \> \em{  {\bf INT\_CONST } } \\
\em{    number  } \> $\rightarrow$ \> \em{  {\bf FLT\_CONST } } \\
\em{    number  } \> $\rightarrow$ \> \em{  {\bf DBL\_CONST } } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  rstr\_v\_attr } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  rint\_v\_attr } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  int\_v\_attr } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  flt\_v\_attr } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  dbl\_v\_attr } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  str\_v\_attr } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  {\bf LOCATION } {\bf ( } {\bf ( } number {\bf COMMA } number {\bf ) } {\bf ) } } \\
\em{    vertex\_attr  } \> $\rightarrow$ \> \em{  subgrph\_attr {\bf ( } graph\_decl {\bf ) } } \\
\em{    subgrph\_attr  } \> $\rightarrow$ \> \em{  {\bf SUBGRAPH } } \\
\em{    rint\_v\_attr  } \> $\rightarrow$ \> \em{  {\bf INT\_ATTR } {\bf ( } {\bf INT\_CONST } {\bf ) } } \\
\em{    int\_v\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf INT\_CONST } {\bf ) } } \\
\em{    flt\_v\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf FLT\_CONST } {\bf ) } } \\
\em{    dbl\_v\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf DBL\_CONST } {\bf ) } } \\
\em{    rstr\_v\_attr  } \> $\rightarrow$ \> \em{  {\bf STR\_ATTR } {\bf ( } {\bf STR\_CONST } {\bf ) } } \\
\em{    str\_v\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf STR\_CONST } {\bf ) } } \\
\em{    edges  } \> $\rightarrow$ \> \em{  edge\_hdr edge\_list {\bf RBRACE } } \\
\em{    edges  } \> $\rightarrow$ \> \em{  edge\_hdr {\bf RBRACE } } \\
\em{    edge\_hdr  } \> $\rightarrow$ \> \em{  e\_hdr } \\
\em{    edge\_hdr  } \> $\rightarrow$ \> \em{  {\bf EDGES } e\_hdr } \\
\em{    e\_hdr  } \> $\rightarrow$ \> \em{  {\bf LBRACE } } \\
\em{    edge\_list  } \> $\rightarrow$ \> \em{  edge } \\
\em{    edge\_list  } \> $\rightarrow$ \> \em{  edge\_list edge } \\
\em{    edge  } \> $\rightarrow$ \> \em{  edge\_name edge\_def {\bf ( } edge\_attrlist {\bf ) } } \\
\em{    edge  } \> $\rightarrow$ \> \em{  edge\_def {\bf ( } edge\_attrlist {\bf ) } } \\
\em{    edge  } \> $\rightarrow$ \> \em{  edge\_name edge\_def {\bf ( } {\bf ) } } \\
\em{    edge  } \> $\rightarrow$ \> \em{  edge\_def {\bf ( } {\bf ) } } \\
\em{    edge  } \> $\rightarrow$ \> \em{  edge\_name edge\_def } \\
\em{    edge  } \> $\rightarrow$ \> \em{  edge\_def } \\
\em{    edge\_name  } \> $\rightarrow$ \> \em{  obj\_name } \\
\em{    edge\_def  } \> $\rightarrow$ \> \em{  dir\_edge } \\
\em{    edge\_def  } \> $\rightarrow$ \> \em{  und\_edge } \\
\em{    edge\_attrlist  } \> $\rightarrow$ \> \em{  edge\_attr } \\
\em{    edge\_attrlist  } \> $\rightarrow$ \> \em{  edge\_attrlist edge\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  rstr\_e\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  str\_e\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  rint\_e\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  int\_e\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  flt\_e\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  dbl\_e\_attr } \\
\em{    edge\_attr  } \> $\rightarrow$ \> \em{  {\bf LOCATION } {\bf ( } {\bf ( } number {\bf COMMA } number {\bf ) } {\bf ) } } \\
\em{    rint\_e\_attr  } \> $\rightarrow$ \> \em{  {\bf INT\_ATTR } {\bf ( } {\bf INT\_CONST } {\bf ) } } \\
\em{    int\_e\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf INT\_CONST } {\bf ) } } \\
\em{   flt\_e\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf FLT\_CONST } {\bf ) } } \\
\em{   dbl\_e\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf DBL\_CONST } {\bf ) } } \\
\em{   rstr\_e\_attr  } \> $\rightarrow$ \> \em{  {\bf STR\_ATTR } {\bf ( } {\bf STR\_CONST } {\bf ) } } \\
\em{   str\_e\_attr  } \> $\rightarrow$ \> \em{  {\bf IDENT } {\bf ( } {\bf STR\_CONST } {\bf ) } } \\
\em{   und\_edge  } \> $\rightarrow$ \> \em{  {\bf LBRACE } vertex\_set {\bf RBRACE } } \\
\em{   dir\_edge  } \> $\rightarrow$ \> \em{  {\bf LDIRECT } vertex\_seq {\bf RDIRECT } } \\
\em{   vertex\_set  } \> $\rightarrow$ \> \em{  vertex\_und } \\
\em{   vertex\_set  } \> $\rightarrow$ \> \em{  vertex\_set vertex\_und } \\
\em{   vertex\_und  } \> $\rightarrow$ \> \em{  obj\_name } \\
\em{   vertex\_und  } \> $\rightarrow$ \> \em{  obj\_name {\bf LBRACKET } obj\_name {\bf RBRACKET } } \\
\em{   vertex\_seq  } \> $\rightarrow$ \> \em{  vertex\_dir } \\
\em{   vertex\_seq  } \> $\rightarrow$ \> \em{  vertex\_seq vertex\_dir } \\
\em{   vertex\_dir  } \> $\rightarrow$ \> \em{  obj\_name } \\
\em{   vertex\_dir  } \> $\rightarrow$ \> \em{  obj\_name {\bf LBRACKET } obj\_name {\bf RBRACKET } } \\
\end{tabbing}
\end{flushleft}
