--- /dev/null
+#ifndef GDEFS_H
+#define GDEFS_H
+
+/* generated by mkdefs; do not edit */
+
+#define Y(i) (1<<(i))
+
+#define V 0x4 /* NODE */
+#define E 0x5 /* EDGE */
+#define G 0x6 /* GRAPH */
+#define O 0x7 /* OBJECT */
+#define TV 0x8 /* TV_ */
+#define YALL (Y(V)|Y(E)|Y(G))
+
+#define V_this 1
+#define V_thisg 2
+#define V_targt 3
+#define V_outgraph 4
+#define V_tgtname 5
+#define V_infname 6
+#define V_travroot 7
+#define V_travtype 8
+#define V_ARGC 9
+#define M_degree 10
+#define M_head 11
+#define M_tail 12
+#define M_name 13
+#define M_indegree 14
+#define M_outdegree 15
+#define M_root 16
+#define M_parent 17
+#define M_n_edges 18
+#define M_n_nodes 19
+#define M_directed 20
+#define M_strict 21
+#define T_node 22
+#define T_edge 23
+#define T_graph 24
+#define T_obj 25
+#define T_tvtyp 26
+#define A_ARGV 27
+#define F_graph 28
+#define F_subg 29
+#define F_issubg 30
+#define F_fstsubg 31
+#define F_nxtsubg 32
+#define F_node 33
+#define F_addnode 34
+#define F_fstnode 35
+#define F_nxtnode 36
+#define F_nxtnodesg 37
+#define F_isnode 38
+#define F_issubnode 39
+#define F_indegree 40
+#define F_outdegree 41
+#define F_degree 42
+#define F_isin 43
+#define F_edge 44
+#define F_edgesg 45
+#define F_addedge 46
+#define F_fstout 47
+#define F_nxtout 48
+#define F_fstin 49
+#define F_nxtin 50
+#define F_fstedge 51
+#define F_nxtedge 52
+#define F_fstoutsg 53
+#define F_nxtoutsg 54
+#define F_fstinsg 55
+#define F_nxtinsg 56
+#define F_fstedgesg 57
+#define F_nxtedgesg 58
+#define F_compof 59
+#define F_kindof 60
+#define F_index 61
+#define F_isedge 62
+#define F_isedgesg 63
+#define F_issubedge 64
+#define F_length 65
+#define F_match 66
+#define F_write 67
+#define F_writeg 68
+#define F_readg 69
+#define F_fwriteg 70
+#define F_freadg 71
+#define F_openf 72
+#define F_closef 73
+#define F_readl 74
+#define F_induce 75
+#define F_isdirect 76
+#define F_isstrict 77
+#define F_delete 78
+#define F_clone 79
+#define F_copy 80
+#define F_copya 81
+#define F_lock 82
+#define F_nnodes 83
+#define F_nedges 84
+#define F_sqrt 85
+#define F_cos 86
+#define F_sin 87
+#define F_atan2 88
+#define F_exp 89
+#define F_pow 90
+#define F_log 91
+#define F_xof 92
+#define F_yof 93
+#define F_llof 94
+#define F_urof 95
+#define F_canon 96
+#define F_get 97
+#define F_set 98
+#define F_dget 99
+#define F_dset 100
+#define F_hasattr 101
+#define F_isattr 102
+#define F_fstattr 103
+#define F_nxtattr 104
+#define C_flat 105
+#define C_ne 106
+#define C_en 107
+#define C_bfs 108
+#define C_dfs 109
+#define C_fwd 110
+#define C_rev 111
+#define C_postdfs 112
+#define C_postfwd 113
+#define C_postrev 114
+#define C_prepostdfs 115
+#define C_prepostfwd 116
+#define C_prepostrev 117
+#define C_null 118
+
+#define LAST_V 9
+#define LAST_M 21
+#define MINNAME 1
+#define MAXNAME 118
+
+static Exid_t symbols[] = {
+ EX_ID ( "$", ID, V_this, T_obj, 0),
+ EX_ID ( "$G", ID, V_thisg, T_graph, 0),
+ EX_ID ( "$T", ID, V_targt, T_graph, 0),
+ EX_ID ( "$O", ID, V_outgraph, T_graph, 0),
+ EX_ID ( "$tgtname", ID, V_tgtname, STRING, 0),
+ EX_ID ( "$F", ID, V_infname, STRING, 0),
+ EX_ID ( "$tvroot", ID, V_travroot, T_node, 0),
+ EX_ID ( "$tvtype", ID, V_travtype, T_tvtyp, 0),
+ EX_ID ( "ARGC", ID, V_ARGC, INTEGER, 0),
+ EX_ID ( "degree", ID, M_degree, INTEGER, 0),
+ EX_ID ( "head", ID, M_head, T_node, 0),
+ EX_ID ( "tail", ID, M_tail, T_node, 0),
+ EX_ID ( "name", ID, M_name, STRING, 0),
+ EX_ID ( "indegree", ID, M_indegree, INTEGER, 0),
+ EX_ID ( "outdegree", ID, M_outdegree, INTEGER, 0),
+ EX_ID ( "root", ID, M_root, T_graph, 0),
+ EX_ID ( "parent", ID, M_parent, T_graph, 0),
+ EX_ID ( "n_edges", ID, M_n_edges, INTEGER, 0),
+ EX_ID ( "n_nodes", ID, M_n_nodes, INTEGER, 0),
+ EX_ID ( "directed", ID, M_directed, INTEGER, 0),
+ EX_ID ( "strict", ID, M_strict, INTEGER, 0),
+ EX_ID ( "node_t", DECLARE, T_node, T_node, 0),
+ EX_ID ( "edge_t", DECLARE, T_edge, T_edge, 0),
+ EX_ID ( "graph_t", DECLARE, T_graph, T_graph, 0),
+ EX_ID ( "obj_t", DECLARE, T_obj, T_obj, 0),
+ EX_ID ( "tvtype_t", DECLARE, T_tvtyp, T_tvtyp, 0),
+ EX_ID ( "ARGV", ARRAY, A_ARGV, S|A(1,I), 0),
+ EX_ID ( "graph", FUNCTION, F_graph, G|A(1,S)|A(2,S), 0),
+ EX_ID ( "subg", FUNCTION, F_subg, G|A(1,G)|A(2,S), 0),
+ EX_ID ( "isSubg", FUNCTION, F_issubg, G|A(1,G)|A(2,S), 0),
+ EX_ID ( "fstsubg", FUNCTION, F_fstsubg, G|A(1,G), 0),
+ EX_ID ( "nxtsubg", FUNCTION, F_nxtsubg, G|A(1,G), 0),
+ EX_ID ( "node", FUNCTION, F_node, V|A(1,G)|A(2,S), 0),
+ EX_ID ( "subnode", FUNCTION, F_addnode, V|A(1,G)|A(2,V), 0),
+ EX_ID ( "fstnode", FUNCTION, F_fstnode, V|A(1,G), 0),
+ EX_ID ( "nxtnode", FUNCTION, F_nxtnode, V|A(1,V), 0),
+ EX_ID ( "nxtnode_sg", FUNCTION, F_nxtnodesg, V|A(1,G)|A(2,V), 0),
+ EX_ID ( "isNode", FUNCTION, F_isnode, V|A(1,G)|A(2,S), 0),
+ EX_ID ( "isSubnode", FUNCTION, F_issubnode, I|A(1,G)|A(2,V), 0),
+ EX_ID ( "indegreeOf", FUNCTION, F_indegree, I|A(1,G)|A(2,V), 0),
+ EX_ID ( "outdegreeOf", FUNCTION, F_outdegree, I|A(1,G)|A(2,V), 0),
+ EX_ID ( "degreeOf", FUNCTION, F_degree, I|A(1,G)|A(2,V), 0),
+ EX_ID ( "isIn", FUNCTION, F_isin, I|A(1,G)|A(2,O), 0),
+ EX_ID ( "edge", FUNCTION, F_edge, E|A(1,V)|A(2,V)|A(3,S), 0),
+ EX_ID ( "edge_sg", FUNCTION, F_edgesg, E|A(1,G)|A(2,V)|A(3,V)|A(4,S), 0),
+ EX_ID ( "subedge", FUNCTION, F_addedge, E|A(1,G)|A(2,E), 0),
+ EX_ID ( "fstout", FUNCTION, F_fstout, E|A(1,V), 0),
+ EX_ID ( "nxtout", FUNCTION, F_nxtout, E|A(1,E), 0),
+ EX_ID ( "fstin", FUNCTION, F_fstin, E|A(1,V), 0),
+ EX_ID ( "nxtin", FUNCTION, F_nxtin, E|A(1,E), 0),
+ EX_ID ( "fstedge", FUNCTION, F_fstedge, E|A(1,V), 0),
+ EX_ID ( "nxtedge", FUNCTION, F_nxtedge, E|A(1,E)|A(2,V), 0),
+ EX_ID ( "fstout_sg", FUNCTION, F_fstoutsg, E|A(1,G)|A(2,V), 0),
+ EX_ID ( "nxtout_sg", FUNCTION, F_nxtoutsg, E|A(1,G)|A(2,E), 0),
+ EX_ID ( "fstin_sg", FUNCTION, F_fstinsg, E|A(1,G)|A(2,V), 0),
+ EX_ID ( "nxtin_sg", FUNCTION, F_nxtinsg, E|A(1,G)|A(2,E), 0),
+ EX_ID ( "fstedge_sg", FUNCTION, F_fstedgesg, E|A(1,G)|A(2,V), 0),
+ EX_ID ( "nxtedge_sg", FUNCTION, F_nxtedgesg, E|A(1,G)|A(2,E)|A(3,V), 0),
+ EX_ID ( "compOf", FUNCTION, F_compof, G|A(1,G)|A(2,V), 0),
+ EX_ID ( "kindOf", FUNCTION, F_kindof, S|A(1,O), 0),
+ EX_ID ( "index", FUNCTION, F_index, I|A(1,S)|A(2,S), 0),
+ EX_ID ( "isEdge", FUNCTION, F_isedge, E|A(1,V)|A(2,V)|A(3,S), 0),
+ EX_ID ( "isEdge_sg", FUNCTION, F_isedgesg, E|A(1,G)|A(2,V)|A(3,V)|A(4,S), 0),
+ EX_ID ( "isSubedge", FUNCTION, F_issubedge, I|A(1,G)|A(2,E), 0),
+ EX_ID ( "length", FUNCTION, F_length, I|A(1,S), 0),
+ EX_ID ( "match", FUNCTION, F_match, I|A(1,S)|A(2,S), 0),
+ EX_ID ( "write", FUNCTION, F_write, I|A(1,G), 0),
+ EX_ID ( "writeG", FUNCTION, F_writeg, I|A(1,G)|A(2,S), 0),
+ EX_ID ( "readG", FUNCTION, F_readg, G|A(1,S), 0),
+ EX_ID ( "fwriteG", FUNCTION, F_fwriteg, I|A(1,G)|A(2,I), 0),
+ EX_ID ( "freadG", FUNCTION, F_freadg, G|A(1,I), 0),
+ EX_ID ( "openF", FUNCTION, F_openf, I|A(1,S)|A(2,S), 0),
+ EX_ID ( "closeF", FUNCTION, F_closef, I|A(1,I), 0),
+ EX_ID ( "readL", FUNCTION, F_readl, S|A(1,I), 0),
+ EX_ID ( "induce", FUNCTION, F_induce, I|A(1,G), 0),
+ EX_ID ( "isDirect", FUNCTION, F_isdirect, I|A(1,G), 0),
+ EX_ID ( "isStrict", FUNCTION, F_isstrict, I|A(1,G), 0),
+ EX_ID ( "delete", FUNCTION, F_delete, I|A(1,G)|A(2,O), 0),
+ EX_ID ( "clone", FUNCTION, F_clone, O|A(1,G)|A(2,O), 0),
+ EX_ID ( "copy", FUNCTION, F_copy, O|A(1,G)|A(2,O), 0),
+ EX_ID ( "copyA", FUNCTION, F_copya, I|A(1,O)|A(2,O), 0),
+ EX_ID ( "lock", FUNCTION, F_lock, I|A(1,G)|A(2,I), 0),
+ EX_ID ( "nNodes", FUNCTION, F_nnodes, I|A(1,G), 0),
+ EX_ID ( "nEdges", FUNCTION, F_nedges, I|A(1,G), 0),
+ EX_ID ( "sqrt", FUNCTION, F_sqrt, F|A(1,F), 0),
+ EX_ID ( "cos", FUNCTION, F_cos, F|A(1,F), 0),
+ EX_ID ( "sin", FUNCTION, F_sin, F|A(1,F), 0),
+ EX_ID ( "atan2", FUNCTION, F_atan2, F|A(1,F)|A(2,F), 0),
+ EX_ID ( "exp", FUNCTION, F_exp, F|A(1,F), 0),
+ EX_ID ( "pow", FUNCTION, F_pow, F|A(1,F)|A(2,F), 0),
+ EX_ID ( "log", FUNCTION, F_log, F|A(1,F), 0),
+ EX_ID ( "xOf", FUNCTION, F_xof, S|A(1,S), 0),
+ EX_ID ( "yOf", FUNCTION, F_yof, S|A(1,S), 0),
+ EX_ID ( "llOf", FUNCTION, F_llof, S|A(1,S), 0),
+ EX_ID ( "urOf", FUNCTION, F_urof, S|A(1,S), 0),
+ EX_ID ( "canon", FUNCTION, F_canon, S|A(1,S), 0),
+ EX_ID ( "aget", FUNCTION, F_get, S|A(1,O)|A(2,S), 0),
+ EX_ID ( "aset", FUNCTION, F_set, I|A(1,O)|A(2,S)|A(3,S), 0),
+ EX_ID ( "getDflt", FUNCTION, F_dget, S|A(1,G)|A(2,S)|A(3,S), 0),
+ EX_ID ( "setDflt", FUNCTION, F_dset, I|A(1,G)|A(2,S)|A(3,S)|A(4,S), 0),
+ EX_ID ( "hasAttr", FUNCTION, F_hasattr, I|A(1,O)|A(2,S), 0),
+ EX_ID ( "isAttr", FUNCTION, F_isattr, I|A(1,G)|A(2,S)|A(3,S), 0),
+ EX_ID ( "fstAttr", FUNCTION, F_fstattr, S|A(1,G)|A(2,S), 0),
+ EX_ID ( "nxtAttr", FUNCTION, F_nxtattr, S|A(1,G)|A(2,S)|A(3,S), 0),
+ EX_ID ( "TV_flat", CONSTANT, C_flat, T_tvtyp, 0),
+ EX_ID ( "TV_ne", CONSTANT, C_ne, T_tvtyp, 0),
+ EX_ID ( "TV_en", CONSTANT, C_en, T_tvtyp, 0),
+ EX_ID ( "TV_bfs", CONSTANT, C_bfs, T_tvtyp, 0),
+ EX_ID ( "TV_dfs", CONSTANT, C_dfs, T_tvtyp, 0),
+ EX_ID ( "TV_fwd", CONSTANT, C_fwd, T_tvtyp, 0),
+ EX_ID ( "TV_rev", CONSTANT, C_rev, T_tvtyp, 0),
+ EX_ID ( "TV_postdfs", CONSTANT, C_postdfs, T_tvtyp, 0),
+ EX_ID ( "TV_postfwd", CONSTANT, C_postfwd, T_tvtyp, 0),
+ EX_ID ( "TV_postrev", CONSTANT, C_postrev, T_tvtyp, 0),
+ EX_ID ( "TV_prepostdfs", CONSTANT, C_prepostdfs, T_tvtyp, 0),
+ EX_ID ( "TV_prepostfwd", CONSTANT, C_prepostfwd, T_tvtyp, 0),
+ EX_ID ( "TV_prepostrev", CONSTANT, C_prepostrev, T_tvtyp, 0),
+ EX_ID ( "NULL", CONSTANT, C_null, T_obj, 0),
+ EX_ID ( {0}, 0, 0, 0, 0)
+};
+
+static char* typenames[] = {
+ "node_t",
+ "edge_t",
+ "graph_t",
+ "obj_t",
+ "tvtype_t",
+};
+
+typedef unsigned short tctype;
+
+static tctype tchk[][2] = {
+ { 0, 0 },
+ { 0, YALL },
+ { 0, Y(G) },
+ { 0, Y(G) },
+ { 0, Y(G) },
+ { 0, Y(S) },
+ { 0, Y(S) },
+ { 0, Y(V) },
+ { 0, Y(TV) },
+ { 0, Y(I) },
+ { Y(V), Y(I) },
+ { Y(E), Y(V) },
+ { Y(E), Y(V) },
+ { YALL, Y(S) },
+ { Y(V), Y(I) },
+ { Y(V), Y(I) },
+ { YALL, Y(G) },
+ { Y(G), Y(G) },
+ { Y(G), Y(I) },
+ { Y(G), Y(I) },
+ { Y(G), Y(I) },
+ { Y(G), Y(I) },
+};
+
+#endif