| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623 |
- // Code generated by gocc; DO NOT EDIT.
- package parser
- import "github.com/awalterschulze/gographviz/ast"
- type (
- //TODO: change type and variable names to be consistent with other tables
- ProdTab [numProductions]ProdTabEntry
- ProdTabEntry struct {
- String string
- Id string
- NTType int
- Index int
- NumSymbols int
- ReduceFunc func([]Attrib) (Attrib, error)
- }
- Attrib interface {
- }
- )
- var productionsTable = ProdTab{
- ProdTabEntry{
- String: `S' : DotGraph << >>`,
- Id: "S'",
- NTType: 0,
- Index: 0,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `DotGraph : graphx "{" "}" << ast.NewGraph(ast.GRAPH, ast.FALSE, nil, nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 1,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.FALSE, nil, nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict graphx "{" "}" << ast.NewGraph(ast.GRAPH, ast.TRUE, nil, nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 2,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.TRUE, nil, nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : graphx Id "{" "}" << ast.NewGraph(ast.GRAPH, ast.FALSE, X[1], nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 3,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.FALSE, X[1], nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict graphx Id "{" "}" << ast.NewGraph(ast.GRAPH, ast.TRUE, X[2], nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 4,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.TRUE, X[2], nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : graphx "{" StmtList "}" << ast.NewGraph(ast.GRAPH, ast.FALSE, nil, X[2]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 5,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.FALSE, nil, X[2])
- },
- },
- ProdTabEntry{
- String: `DotGraph : graphx Id "{" StmtList "}" << ast.NewGraph(ast.GRAPH, ast.FALSE, X[1], X[3]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 6,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.FALSE, X[1], X[3])
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict graphx "{" StmtList "}" << ast.NewGraph(ast.GRAPH, ast.TRUE, nil, X[3]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 7,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.TRUE, nil, X[3])
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict graphx Id "{" StmtList "}" << ast.NewGraph(ast.GRAPH, ast.TRUE, X[2], X[4]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 8,
- NumSymbols: 6,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.GRAPH, ast.TRUE, X[2], X[4])
- },
- },
- ProdTabEntry{
- String: `DotGraph : digraph "{" "}" << ast.NewGraph(ast.DIGRAPH, ast.FALSE, nil, nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 9,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.FALSE, nil, nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict digraph "{" "}" << ast.NewGraph(ast.DIGRAPH, ast.TRUE, nil, nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 10,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.TRUE, nil, nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : digraph Id "{" "}" << ast.NewGraph(ast.DIGRAPH, ast.FALSE, X[1], nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 11,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.FALSE, X[1], nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict digraph Id "{" "}" << ast.NewGraph(ast.DIGRAPH, ast.TRUE, X[2], nil) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 12,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.TRUE, X[2], nil)
- },
- },
- ProdTabEntry{
- String: `DotGraph : digraph "{" StmtList "}" << ast.NewGraph(ast.DIGRAPH, ast.FALSE, nil, X[2]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 13,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.FALSE, nil, X[2])
- },
- },
- ProdTabEntry{
- String: `DotGraph : digraph Id "{" StmtList "}" << ast.NewGraph(ast.DIGRAPH, ast.FALSE, X[1], X[3]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 14,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.FALSE, X[1], X[3])
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict digraph "{" StmtList "}" << ast.NewGraph(ast.DIGRAPH, ast.TRUE, nil, X[3]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 15,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.TRUE, nil, X[3])
- },
- },
- ProdTabEntry{
- String: `DotGraph : strict digraph Id "{" StmtList "}" << ast.NewGraph(ast.DIGRAPH, ast.TRUE, X[2], X[4]) >>`,
- Id: "DotGraph",
- NTType: 1,
- Index: 16,
- NumSymbols: 6,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraph(ast.DIGRAPH, ast.TRUE, X[2], X[4])
- },
- },
- ProdTabEntry{
- String: `StmtList : Stmt1 << ast.NewStmtList(X[0]) >>`,
- Id: "StmtList",
- NTType: 2,
- Index: 17,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewStmtList(X[0])
- },
- },
- ProdTabEntry{
- String: `StmtList : StmtList Stmt1 << ast.AppendStmtList(X[0], X[1]) >>`,
- Id: "StmtList",
- NTType: 2,
- Index: 18,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendStmtList(X[0], X[1])
- },
- },
- ProdTabEntry{
- String: `Stmt1 : Stmt << X[0], nil >>`,
- Id: "Stmt1",
- NTType: 3,
- Index: 19,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `Stmt1 : Stmt ";" << X[0], nil >>`,
- Id: "Stmt1",
- NTType: 3,
- Index: 20,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `Stmt : Id "=" Id << ast.NewAttr(X[0], X[2]) >>`,
- Id: "Stmt",
- NTType: 4,
- Index: 21,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewAttr(X[0], X[2])
- },
- },
- ProdTabEntry{
- String: `Stmt : NodeStmt << X[0], nil >>`,
- Id: "Stmt",
- NTType: 4,
- Index: 22,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `Stmt : EdgeStmt << X[0], nil >>`,
- Id: "Stmt",
- NTType: 4,
- Index: 23,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `Stmt : AttrStmt << X[0], nil >>`,
- Id: "Stmt",
- NTType: 4,
- Index: 24,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `Stmt : SubGraphStmt << X[0], nil >>`,
- Id: "Stmt",
- NTType: 4,
- Index: 25,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return X[0], nil
- },
- },
- ProdTabEntry{
- String: `AttrStmt : graphx AttrList << ast.NewGraphAttrs(X[1]) >>`,
- Id: "AttrStmt",
- NTType: 5,
- Index: 26,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewGraphAttrs(X[1])
- },
- },
- ProdTabEntry{
- String: `AttrStmt : node AttrList << ast.NewNodeAttrs(X[1]) >>`,
- Id: "AttrStmt",
- NTType: 5,
- Index: 27,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewNodeAttrs(X[1])
- },
- },
- ProdTabEntry{
- String: `AttrStmt : edge AttrList << ast.NewEdgeAttrs(X[1]) >>`,
- Id: "AttrStmt",
- NTType: 5,
- Index: 28,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeAttrs(X[1])
- },
- },
- ProdTabEntry{
- String: `AttrList : "[" "]" << ast.NewAttrList(nil) >>`,
- Id: "AttrList",
- NTType: 6,
- Index: 29,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewAttrList(nil)
- },
- },
- ProdTabEntry{
- String: `AttrList : "[" AList "]" << ast.NewAttrList(X[1]) >>`,
- Id: "AttrList",
- NTType: 6,
- Index: 30,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewAttrList(X[1])
- },
- },
- ProdTabEntry{
- String: `AttrList : AttrList "[" "]" << ast.AppendAttrList(X[0], nil) >>`,
- Id: "AttrList",
- NTType: 6,
- Index: 31,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendAttrList(X[0], nil)
- },
- },
- ProdTabEntry{
- String: `AttrList : AttrList "[" AList "]" << ast.AppendAttrList(X[0], X[2]) >>`,
- Id: "AttrList",
- NTType: 6,
- Index: 32,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendAttrList(X[0], X[2])
- },
- },
- ProdTabEntry{
- String: `AList : Attr << ast.NewAList(X[0]) >>`,
- Id: "AList",
- NTType: 7,
- Index: 33,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewAList(X[0])
- },
- },
- ProdTabEntry{
- String: `AList : AList Attr << ast.AppendAList(X[0], X[1]) >>`,
- Id: "AList",
- NTType: 7,
- Index: 34,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendAList(X[0], X[1])
- },
- },
- ProdTabEntry{
- String: `AList : AList "," Attr << ast.AppendAList(X[0], X[2]) >>`,
- Id: "AList",
- NTType: 7,
- Index: 35,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendAList(X[0], X[2])
- },
- },
- ProdTabEntry{
- String: `Attr : Id << ast.NewAttr(X[0], nil) >>`,
- Id: "Attr",
- NTType: 8,
- Index: 36,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewAttr(X[0], nil)
- },
- },
- ProdTabEntry{
- String: `Attr : Id "=" Id << ast.NewAttr(X[0], X[2]) >>`,
- Id: "Attr",
- NTType: 8,
- Index: 37,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewAttr(X[0], X[2])
- },
- },
- ProdTabEntry{
- String: `EdgeStmt : NodeId EdgeRHS << ast.NewEdgeStmt(X[0], X[1], nil) >>`,
- Id: "EdgeStmt",
- NTType: 9,
- Index: 38,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeStmt(X[0], X[1], nil)
- },
- },
- ProdTabEntry{
- String: `EdgeStmt : NodeId EdgeRHS AttrList << ast.NewEdgeStmt(X[0], X[1], X[2]) >>`,
- Id: "EdgeStmt",
- NTType: 9,
- Index: 39,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeStmt(X[0], X[1], X[2])
- },
- },
- ProdTabEntry{
- String: `EdgeStmt : SubGraphStmt EdgeRHS << ast.NewEdgeStmt(X[0], X[1], nil) >>`,
- Id: "EdgeStmt",
- NTType: 9,
- Index: 40,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeStmt(X[0], X[1], nil)
- },
- },
- ProdTabEntry{
- String: `EdgeStmt : SubGraphStmt EdgeRHS AttrList << ast.NewEdgeStmt(X[0], X[1], X[2]) >>`,
- Id: "EdgeStmt",
- NTType: 9,
- Index: 41,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeStmt(X[0], X[1], X[2])
- },
- },
- ProdTabEntry{
- String: `EdgeRHS : EdgeOp NodeId << ast.NewEdgeRHS(X[0], X[1]) >>`,
- Id: "EdgeRHS",
- NTType: 10,
- Index: 42,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeRHS(X[0], X[1])
- },
- },
- ProdTabEntry{
- String: `EdgeRHS : EdgeOp SubGraphStmt << ast.NewEdgeRHS(X[0], X[1]) >>`,
- Id: "EdgeRHS",
- NTType: 10,
- Index: 43,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewEdgeRHS(X[0], X[1])
- },
- },
- ProdTabEntry{
- String: `EdgeRHS : EdgeRHS EdgeOp NodeId << ast.AppendEdgeRHS(X[0], X[1], X[2]) >>`,
- Id: "EdgeRHS",
- NTType: 10,
- Index: 44,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendEdgeRHS(X[0], X[1], X[2])
- },
- },
- ProdTabEntry{
- String: `EdgeRHS : EdgeRHS EdgeOp SubGraphStmt << ast.AppendEdgeRHS(X[0], X[1], X[2]) >>`,
- Id: "EdgeRHS",
- NTType: 10,
- Index: 45,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.AppendEdgeRHS(X[0], X[1], X[2])
- },
- },
- ProdTabEntry{
- String: `NodeStmt : NodeId << ast.NewNodeStmt(X[0], nil) >>`,
- Id: "NodeStmt",
- NTType: 11,
- Index: 46,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewNodeStmt(X[0], nil)
- },
- },
- ProdTabEntry{
- String: `NodeStmt : NodeId AttrList << ast.NewNodeStmt(X[0], X[1]) >>`,
- Id: "NodeStmt",
- NTType: 11,
- Index: 47,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewNodeStmt(X[0], X[1])
- },
- },
- ProdTabEntry{
- String: `NodeId : Id << ast.NewNodeID(X[0], nil) >>`,
- Id: "NodeId",
- NTType: 12,
- Index: 48,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewNodeID(X[0], nil)
- },
- },
- ProdTabEntry{
- String: `NodeId : Id Port << ast.NewNodeID(X[0], X[1]) >>`,
- Id: "NodeId",
- NTType: 12,
- Index: 49,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewNodeID(X[0], X[1])
- },
- },
- ProdTabEntry{
- String: `Port : ":" Id << ast.NewPort(X[1], nil), nil >>`,
- Id: "Port",
- NTType: 13,
- Index: 50,
- NumSymbols: 2,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewPort(X[1], nil), nil
- },
- },
- ProdTabEntry{
- String: `Port : ":" Id ":" Id << ast.NewPort(X[1], X[3]), nil >>`,
- Id: "Port",
- NTType: 13,
- Index: 51,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewPort(X[1], X[3]), nil
- },
- },
- ProdTabEntry{
- String: `SubGraphStmt : "{" StmtList "}" << ast.NewSubGraph(nil, X[1]) >>`,
- Id: "SubGraphStmt",
- NTType: 14,
- Index: 52,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewSubGraph(nil, X[1])
- },
- },
- ProdTabEntry{
- String: `SubGraphStmt : subgraph "{" StmtList "}" << ast.NewSubGraph(nil, X[2]) >>`,
- Id: "SubGraphStmt",
- NTType: 14,
- Index: 53,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewSubGraph(nil, X[2])
- },
- },
- ProdTabEntry{
- String: `SubGraphStmt : subgraph Id "{" StmtList "}" << ast.NewSubGraph(X[1], X[3]) >>`,
- Id: "SubGraphStmt",
- NTType: 14,
- Index: 54,
- NumSymbols: 5,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewSubGraph(X[1], X[3])
- },
- },
- ProdTabEntry{
- String: `SubGraphStmt : subgraph "{" "}" << ast.NewSubGraph(nil, nil) >>`,
- Id: "SubGraphStmt",
- NTType: 14,
- Index: 55,
- NumSymbols: 3,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewSubGraph(nil, nil)
- },
- },
- ProdTabEntry{
- String: `SubGraphStmt : subgraph Id "{" "}" << ast.NewSubGraph(X[1], nil) >>`,
- Id: "SubGraphStmt",
- NTType: 14,
- Index: 56,
- NumSymbols: 4,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewSubGraph(X[1], nil)
- },
- },
- ProdTabEntry{
- String: `EdgeOp : "->" << ast.DIRECTED, nil >>`,
- Id: "EdgeOp",
- NTType: 15,
- Index: 57,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.DIRECTED, nil
- },
- },
- ProdTabEntry{
- String: `EdgeOp : "--" << ast.UNDIRECTED, nil >>`,
- Id: "EdgeOp",
- NTType: 15,
- Index: 58,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.UNDIRECTED, nil
- },
- },
- ProdTabEntry{
- String: `Id : id << ast.NewID(X[0]) >>`,
- Id: "Id",
- NTType: 16,
- Index: 59,
- NumSymbols: 1,
- ReduceFunc: func(X []Attrib) (Attrib, error) {
- return ast.NewID(X[0])
- },
- },
- }
|