Next: Language Grammar Up: Graph File Format Previous: Lexical Tokens

## Language Grammar

         graph_main      graph_decl
         graph_decl   		    LBRACE  graph_desc graph_deflist RBRACE
         graph_decl   		    LBRACE   graph_deflist RBRACE
         graph_desc   		    graph_type (  graph_attrs )
         graph_desc   		    graph_type (  )
         graph_desc   		    graph_type
         graph_desc   		    (   graph_attrs )
        graph_deflist   		    vertices edges
        graph_type   		    ABSTRACTGRAPH
        graph_type   		    ABSTRACTGRAPH  MHYPERGRAPH
        graph_type   		    ABSTRACTGRAPH  HYPERGRAPH
        graph_type   		    ABSTRACTGRAPH  MUHYPERGRAPH
        graph_type   		    ABSTRACTGRAPH  UHYPERGRAPH
        graph_type   		    ABSTRACTGRAPH  MDHYPERGRAPH
        graph_type   		    ABSTRACTGRAPH  DHYPERGRAPH
        graph_type   		    ABSTRACTGRAPH  MBINGRAPH
        graph_type   		    ABSTRACTGRAPH  BINGRAPH
        graph_type   		    ABSTRACTGRAPH  MUBINGRAPH
        graph_type   		    ABSTRACTGRAPH  UBINGRAPH
        graph_type   		    ABSTRACTGRAPH  MDBINGRAPH
        graph_type   		    ABSTRACTGRAPH  DBINGRAPH
        graph_attrs   		    graph_attr
        graph_attrs   		    graph_attrs graph_attr
        graph_attr   		    rstr_g_attr
        graph_attr   		    rint_g_attr
        graph_attr   		    rdbl_g_attr
        graph_attr   		    rvptr_g_attr
        graph_attr   		    reptr_g_attr
        graph_attr   		    int_g_attr
        graph_attr   		    flt_g_attr
        graph_attr   		    dbl_g_attr
        graph_attr   		    str_g_attr
        graph_attr   		    LOCATION  (  number COMMA  number )
        rstr_g_attr   		    STR_ATTR  (  STR_CONST  )
        str_g_attr   		    IDENT  (  STR_CONST  )
        rint_g_attr   		    INT_ATTR  (  INT_CONST  )
        int_g_attr   		    IDENT  (  INT_CONST  )
        flt_g_attr   		    IDENT  (  FLT_CONST  )
        rvptr_g_attr   		    VPTR_ATTR  (  obj_name )
        reptr_g_attr   		    EPTR_ATTR  (  obj_name )
        rdbl_g_attr   		    DBL_ATTR  (  number )
        dbl_g_attr   		    IDENT  (  DBL_CONST  )
        vertices   		    vertex_hdr vertex_list RBRACKET
        vertices   		    vertex_hdr RBRACKET
        vertex_hdr   		    v_hdr
        vertex_hdr   		    VERTICES  v_hdr
        v_hdr   		    LBRACKET
        vertex_list   		    vertex
        vertex_list   		    vertex_list vertex
        vertex   		    vertex_name (  vertex_attrs )
        vertex   		    vertex_name (  )
        vertex   		    vertex_name
        vertex_name   		    obj_name
        obj_name   		    STR_CONST
        obj_name   		    IDENT
        obj_name   		    INT_CONST
        vertex_attrs   		    vertex_attr
        vertex_attrs   		    vertex_attrs vertex_attr
        number   		    INT_CONST
        number   		    FLT_CONST
        number   		    DBL_CONST
        vertex_attr   		    rstr_v_attr
        vertex_attr   		    rint_v_attr
        vertex_attr   		    rdbl_v_attr
        vertex_attr   		    rvptr_v_attr
        vertex_attr   		    reptr_v_attr
        vertex_attr   		    int_v_attr
        vertex_attr   		    flt_v_attr
        vertex_attr   		    dbl_v_attr
        vertex_attr   		    str_v_attr
        vertex_attr   		    LOCATION  (  number COMMA  number )
        vertex_attr   		    subgrph_attr (  graph_decl )
        subgrph_attr   		    SUBGRAPH
        rint_v_attr   		    INT_ATTR  (  INT_CONST  )
        int_v_attr   		    IDENT  (  INT_CONST  )
        flt_v_attr   		    IDENT  (  FLT_CONST  )
        rdbl_v_attr   		    DBL_ATTR  (  number )
        rvptr_v_attr   		    VPTR_ATTR  (  obj_name )
        reptr_v_attr   		    EPTR_ATTR  (  obj_name )
        dbl_v_attr   		    IDENT  (  DBL_CONST  )
        rstr_v_attr   		    STR_ATTR  (  STR_CONST  )
        str_v_attr   		    IDENT  (  STR_CONST  )
        edges   		    edge_hdr edge_list RBRACE
        edges   		    edge_hdr RBRACE
        edge_hdr   		    e_hdr
        edge_hdr   		    EDGES  e_hdr
        e_hdr   		    LBRACE
        edge_list   		    edge
        edge_list   		    edge_list edge
        edge   		    edge_name edge_def (  edge_attrlist )
        edge   		    edge_def (  edge_attrlist )
        edge   		    edge_name edge_def (  )
        edge   		    edge_def (  )
        edge   		    edge_name edge_def
        edge   		    edge_def
        edge_name   		    obj_name
        edge_def   		    dir_edge
       edge_def   		    und_edge
       edge_attrlist   		    edge_attr
       edge_attrlist   		    edge_attrlist edge_attr
       edge_attr   		    rstr_e_attr
       edge_attr   		    rint_e_attr
       edge_attr   		    rdbl_e_attr
       edge_attr   		    rvptr_e_attr
       edge_attr   		    reptr_e_attr
       edge_attr   		    str_e_attr
       edge_attr   		    int_e_attr
       edge_attr   		    flt_e_attr
       edge_attr   		    dbl_e_attr
       edge_attr   		    LOCATION  (  number COMMA  number )
       rint_e_attr   		    INT_ATTR  (  INT_CONST  )
       int_e_attr   		    IDENT  (  INT_CONST  )
       flt_e_attr   		    IDENT  (  FLT_CONST  )
       rdbl_e_attr   		    DBL_ATTR  (  number )
       dbl_e_attr   		    IDENT  (  DBL_CONST  )
       rvptr_e_attr   		    VPTR_ATTR  (  obj_name )
       reptr_e_attr   		    EPTR_ATTR  (  obj_name )
       rstr_e_attr   		    STR_ATTR  (  STR_CONST  )
       str_e_attr   		    IDENT  (  STR_CONST  )
       und_edge   		    LBRACE  vertex_set RBRACE
       dir_edge   		    LDIRECT  vertex_seq RDIRECT
       vertex_set   		    vertex_und
       vertex_set   		    vertex_set vertex_und
       vertex_und   		    obj_name
       vertex_und   		    obj_name LBRACKET  obj_name RBRACKET
       vertex_seq   		    vertex_dir
       vertex_seq   		    vertex_seq vertex_dir
       vertex_dir   		    obj_name
       vertex_dir   		    obj_name LBRACKET  obj_name RBRACKET

Next: Language Grammar Up: Graph File Format Previous: Lexical Tokens