// Code generated by gocc; DO NOT EDIT.

// This file is dual licensed under CC0 and The Gonum License.
//
// Copyright ©2017 The Gonum Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//
// Copyright ©2017 Robin Eklind.
// This file is made available under a Creative Commons CC0 1.0
// Universal Public Domain Dedication.

package parser

type (
	actionTable [numStates]actionRow
	actionRow   struct {
		canRecover bool
		actions    [numSymbols]action
	}
)

var actionTab = actionTable{
	actionRow{ // S0
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			shift(4),  // strict
			reduce(4), // graphx, reduce: OptStrict
			reduce(4), // digraph, reduce: OptStrict
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S1
		canRecover: false,
		actions: [numSymbols]action{
			nil,          // INVALID
			accept(true), // ␚
			nil,          // {
			nil,          // }
			nil,          // empty
			shift(4),     // strict
			reduce(4),    // graphx, reduce: OptStrict
			reduce(4),    // digraph, reduce: OptStrict
			nil,          // ;
			nil,          // --
			nil,          // ->
			nil,          // node
			nil,          // edge
			nil,          // [
			nil,          // ]
			nil,          // ,
			nil,          // =
			nil,          // subgraph
			nil,          // :
			nil,          // id
		},
	},
	actionRow{ // S2
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			reduce(1), // ␚, reduce: File
			nil,       // {
			nil,       // }
			nil,       // empty
			reduce(1), // strict, reduce: File
			reduce(1), // graphx, reduce: File
			reduce(1), // digraph, reduce: File
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S3
		canRecover: false,
		actions: [numSymbols]action{
			nil,      // INVALID
			nil,      // ␚
			nil,      // {
			nil,      // }
			nil,      // empty
			nil,      // strict
			shift(7), // graphx
			shift(8), // digraph
			nil,      // ;
			nil,      // --
			nil,      // ->
			nil,      // node
			nil,      // edge
			nil,      // [
			nil,      // ]
			nil,      // ,
			nil,      // =
			nil,      // subgraph
			nil,      // :
			nil,      // id
		},
	},
	actionRow{ // S4
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			reduce(5), // graphx, reduce: OptStrict
			reduce(5), // digraph, reduce: OptStrict
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S5
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			reduce(2), // ␚, reduce: File
			nil,       // {
			nil,       // }
			nil,       // empty
			reduce(2), // strict, reduce: File
			reduce(2), // graphx, reduce: File
			reduce(2), // digraph, reduce: File
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S6
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(53), // {, reduce: OptID
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			shift(11),  // id
		},
	},
	actionRow{ // S7
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			reduce(6), // {, reduce: DirectedGraph
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			reduce(6), // id, reduce: DirectedGraph
		},
	},
	actionRow{ // S8
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			reduce(7), // {, reduce: DirectedGraph
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			reduce(7), // id, reduce: DirectedGraph
		},
	},
	actionRow{ // S9
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			shift(12), // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S10
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(54), // {, reduce: OptID
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S11
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(52), // {, reduce: ID
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S12
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(43), // {, reduce: OptSubgraphID
			reduce(10), // }, reduce: OptStmtList
			nil,        // empty
			nil,        // strict
			shift(14),  // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			shift(25),  // node
			shift(26),  // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			shift(29),  // subgraph
			nil,        // :
			shift(30),  // id
		},
	},
	actionRow{ // S13
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			shift(31), // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S14
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			reduce(27), // [, reduce: Component
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S15
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(43), // {, reduce: OptSubgraphID
			reduce(11), // }, reduce: OptStmtList
			nil,        // empty
			nil,        // strict
			shift(14),  // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			shift(25),  // node
			shift(26),  // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			shift(29),  // subgraph
			nil,        // :
			shift(30),  // id
		},
	},
	actionRow{ // S16
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(17), // {, reduce: OptSemi
			reduce(17), // }, reduce: OptSemi
			nil,        // empty
			nil,        // strict
			reduce(17), // graphx, reduce: OptSemi
			nil,        // digraph
			shift(34),  // ;
			nil,        // --
			nil,        // ->
			reduce(17), // node, reduce: OptSemi
			reduce(17), // edge, reduce: OptSemi
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(17), // subgraph, reduce: OptSemi
			nil,        // :
			reduce(17), // id, reduce: OptSemi
		},
	},
	actionRow{ // S17
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(12), // {, reduce: Stmt
			reduce(12), // }, reduce: Stmt
			nil,        // empty
			nil,        // strict
			reduce(12), // graphx, reduce: Stmt
			nil,        // digraph
			reduce(12), // ;, reduce: Stmt
			nil,        // --
			nil,        // ->
			reduce(12), // node, reduce: Stmt
			reduce(12), // edge, reduce: Stmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(12), // subgraph, reduce: Stmt
			nil,        // :
			reduce(12), // id, reduce: Stmt
		},
	},
	actionRow{ // S18
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(13), // {, reduce: Stmt
			reduce(13), // }, reduce: Stmt
			nil,        // empty
			nil,        // strict
			reduce(13), // graphx, reduce: Stmt
			nil,        // digraph
			reduce(13), // ;, reduce: Stmt
			nil,        // --
			nil,        // ->
			reduce(13), // node, reduce: Stmt
			reduce(13), // edge, reduce: Stmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(13), // subgraph, reduce: Stmt
			nil,        // :
			reduce(13), // id, reduce: Stmt
		},
	},
	actionRow{ // S19
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(14), // {, reduce: Stmt
			reduce(14), // }, reduce: Stmt
			nil,        // empty
			nil,        // strict
			reduce(14), // graphx, reduce: Stmt
			nil,        // digraph
			reduce(14), // ;, reduce: Stmt
			nil,        // --
			nil,        // ->
			reduce(14), // node, reduce: Stmt
			reduce(14), // edge, reduce: Stmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(14), // subgraph, reduce: Stmt
			nil,        // :
			reduce(14), // id, reduce: Stmt
		},
	},
	actionRow{ // S20
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(15), // {, reduce: Stmt
			reduce(15), // }, reduce: Stmt
			nil,        // empty
			nil,        // strict
			reduce(15), // graphx, reduce: Stmt
			nil,        // digraph
			reduce(15), // ;, reduce: Stmt
			nil,        // --
			nil,        // ->
			reduce(15), // node, reduce: Stmt
			reduce(15), // edge, reduce: Stmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(15), // subgraph, reduce: Stmt
			nil,        // :
			reduce(15), // id, reduce: Stmt
		},
	},
	actionRow{ // S21
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(16), // {, reduce: Stmt
			reduce(16), // }, reduce: Stmt
			nil,        // empty
			nil,        // strict
			reduce(16), // graphx, reduce: Stmt
			nil,        // digraph
			reduce(16), // ;, reduce: Stmt
			reduce(46), // --, reduce: Vertex
			reduce(46), // ->, reduce: Vertex
			reduce(16), // node, reduce: Stmt
			reduce(16), // edge, reduce: Stmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(16), // subgraph, reduce: Stmt
			nil,        // :
			reduce(16), // id, reduce: Stmt
		},
	},
	actionRow{ // S22
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(32), // {, reduce: OptAttrList
			reduce(32), // }, reduce: OptAttrList
			nil,        // empty
			nil,        // strict
			reduce(32), // graphx, reduce: OptAttrList
			nil,        // digraph
			reduce(32), // ;, reduce: OptAttrList
			reduce(45), // --, reduce: Vertex
			reduce(45), // ->, reduce: Vertex
			reduce(32), // node, reduce: OptAttrList
			reduce(32), // edge, reduce: OptAttrList
			shift(37),  // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(32), // subgraph, reduce: OptAttrList
			nil,        // :
			reduce(32), // id, reduce: OptAttrList
		},
	},
	actionRow{ // S23
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			shift(40), // --
			shift(41), // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S24
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			shift(37), // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S25
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			reduce(28), // [, reduce: Component
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S26
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			reduce(29), // [, reduce: Component
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S27
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(50), // {, reduce: OptPort
			reduce(50), // }, reduce: OptPort
			nil,        // empty
			nil,        // strict
			reduce(50), // graphx, reduce: OptPort
			nil,        // digraph
			reduce(50), // ;, reduce: OptPort
			reduce(50), // --, reduce: OptPort
			reduce(50), // ->, reduce: OptPort
			reduce(50), // node, reduce: OptPort
			reduce(50), // edge, reduce: OptPort
			reduce(50), // [, reduce: OptPort
			nil,        // ]
			nil,        // ,
			shift(43),  // =
			reduce(50), // subgraph, reduce: OptPort
			shift(46),  // :
			reduce(50), // id, reduce: OptPort
		},
	},
	actionRow{ // S28
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			shift(47), // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S29
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(53), // {, reduce: OptID
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			shift(11),  // id
		},
	},
	actionRow{ // S30
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(52), // {, reduce: ID
			reduce(52), // }, reduce: ID
			nil,        // empty
			nil,        // strict
			reduce(52), // graphx, reduce: ID
			nil,        // digraph
			reduce(52), // ;, reduce: ID
			reduce(52), // --, reduce: ID
			reduce(52), // ->, reduce: ID
			reduce(52), // node, reduce: ID
			reduce(52), // edge, reduce: ID
			reduce(52), // [, reduce: ID
			nil,        // ]
			nil,        // ,
			reduce(52), // =, reduce: ID
			reduce(52), // subgraph, reduce: ID
			reduce(52), // :, reduce: ID
			reduce(52), // id, reduce: ID
		},
	},
	actionRow{ // S31
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			reduce(3), // ␚, reduce: Graph
			nil,       // {
			nil,       // }
			nil,       // empty
			reduce(3), // strict, reduce: Graph
			reduce(3), // graphx, reduce: Graph
			reduce(3), // digraph, reduce: Graph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S32
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(17), // {, reduce: OptSemi
			reduce(17), // }, reduce: OptSemi
			nil,        // empty
			nil,        // strict
			reduce(17), // graphx, reduce: OptSemi
			nil,        // digraph
			shift(34),  // ;
			nil,        // --
			nil,        // ->
			reduce(17), // node, reduce: OptSemi
			reduce(17), // edge, reduce: OptSemi
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(17), // subgraph, reduce: OptSemi
			nil,        // :
			reduce(17), // id, reduce: OptSemi
		},
	},
	actionRow{ // S33
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			reduce(8), // {, reduce: StmtList
			reduce(8), // }, reduce: StmtList
			nil,       // empty
			nil,       // strict
			reduce(8), // graphx, reduce: StmtList
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			reduce(8), // node, reduce: StmtList
			reduce(8), // edge, reduce: StmtList
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			reduce(8), // subgraph, reduce: StmtList
			nil,       // :
			reduce(8), // id, reduce: StmtList
		},
	},
	actionRow{ // S34
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(18), // {, reduce: OptSemi
			reduce(18), // }, reduce: OptSemi
			nil,        // empty
			nil,        // strict
			reduce(18), // graphx, reduce: OptSemi
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			reduce(18), // node, reduce: OptSemi
			reduce(18), // edge, reduce: OptSemi
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(18), // subgraph, reduce: OptSemi
			nil,        // :
			reduce(18), // id, reduce: OptSemi
		},
	},
	actionRow{ // S35
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(19), // {, reduce: NodeStmt
			reduce(19), // }, reduce: NodeStmt
			nil,        // empty
			nil,        // strict
			reduce(19), // graphx, reduce: NodeStmt
			nil,        // digraph
			reduce(19), // ;, reduce: NodeStmt
			nil,        // --
			nil,        // ->
			reduce(19), // node, reduce: NodeStmt
			reduce(19), // edge, reduce: NodeStmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(19), // subgraph, reduce: NodeStmt
			nil,        // :
			reduce(19), // id, reduce: NodeStmt
		},
	},
	actionRow{ // S36
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(33), // {, reduce: OptAttrList
			reduce(33), // }, reduce: OptAttrList
			nil,        // empty
			nil,        // strict
			reduce(33), // graphx, reduce: OptAttrList
			nil,        // digraph
			reduce(33), // ;, reduce: OptAttrList
			nil,        // --
			nil,        // ->
			reduce(33), // node, reduce: OptAttrList
			reduce(33), // edge, reduce: OptAttrList
			shift(50),  // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(33), // subgraph, reduce: OptAttrList
			nil,        // :
			reduce(33), // id, reduce: OptAttrList
		},
	},
	actionRow{ // S37
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(36), // ], reduce: OptAList
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			shift(55),  // id
		},
	},
	actionRow{ // S38
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(32), // {, reduce: OptAttrList
			reduce(32), // }, reduce: OptAttrList
			nil,        // empty
			nil,        // strict
			reduce(32), // graphx, reduce: OptAttrList
			nil,        // digraph
			reduce(32), // ;, reduce: OptAttrList
			nil,        // --
			nil,        // ->
			reduce(32), // node, reduce: OptAttrList
			reduce(32), // edge, reduce: OptAttrList
			shift(37),  // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(32), // subgraph, reduce: OptAttrList
			nil,        // :
			reduce(32), // id, reduce: OptAttrList
		},
	},
	actionRow{ // S39
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(43), // {, reduce: OptSubgraphID
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			shift(29),  // subgraph
			nil,        // :
			shift(62),  // id
		},
	},
	actionRow{ // S40
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(22), // {, reduce: DirectedEdge
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(22), // subgraph, reduce: DirectedEdge
			nil,        // :
			reduce(22), // id, reduce: DirectedEdge
		},
	},
	actionRow{ // S41
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(23), // {, reduce: DirectedEdge
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(23), // subgraph, reduce: DirectedEdge
			nil,        // :
			reduce(23), // id, reduce: DirectedEdge
		},
	},
	actionRow{ // S42
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(26), // {, reduce: AttrStmt
			reduce(26), // }, reduce: AttrStmt
			nil,        // empty
			nil,        // strict
			reduce(26), // graphx, reduce: AttrStmt
			nil,        // digraph
			reduce(26), // ;, reduce: AttrStmt
			nil,        // --
			nil,        // ->
			reduce(26), // node, reduce: AttrStmt
			reduce(26), // edge, reduce: AttrStmt
			shift(50),  // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(26), // subgraph, reduce: AttrStmt
			nil,        // :
			reduce(26), // id, reduce: AttrStmt
		},
	},
	actionRow{ // S43
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			shift(64), // id
		},
	},
	actionRow{ // S44
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(47), // {, reduce: Node
			reduce(47), // }, reduce: Node
			nil,        // empty
			nil,        // strict
			reduce(47), // graphx, reduce: Node
			nil,        // digraph
			reduce(47), // ;, reduce: Node
			reduce(47), // --, reduce: Node
			reduce(47), // ->, reduce: Node
			reduce(47), // node, reduce: Node
			reduce(47), // edge, reduce: Node
			reduce(47), // [, reduce: Node
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(47), // subgraph, reduce: Node
			nil,        // :
			reduce(47), // id, reduce: Node
		},
	},
	actionRow{ // S45
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(51), // {, reduce: OptPort
			reduce(51), // }, reduce: OptPort
			nil,        // empty
			nil,        // strict
			reduce(51), // graphx, reduce: OptPort
			nil,        // digraph
			reduce(51), // ;, reduce: OptPort
			reduce(51), // --, reduce: OptPort
			reduce(51), // ->, reduce: OptPort
			reduce(51), // node, reduce: OptPort
			reduce(51), // edge, reduce: OptPort
			reduce(51), // [, reduce: OptPort
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(51), // subgraph, reduce: OptPort
			nil,        // :
			reduce(51), // id, reduce: OptPort
		},
	},
	actionRow{ // S46
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			shift(62), // id
		},
	},
	actionRow{ // S47
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(43), // {, reduce: OptSubgraphID
			reduce(10), // }, reduce: OptStmtList
			nil,        // empty
			nil,        // strict
			shift(14),  // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			shift(25),  // node
			shift(26),  // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			shift(29),  // subgraph
			nil,        // :
			shift(30),  // id
		},
	},
	actionRow{ // S48
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(44), // {, reduce: OptSubgraphID
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S49
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			reduce(9), // {, reduce: StmtList
			reduce(9), // }, reduce: StmtList
			nil,       // empty
			nil,       // strict
			reduce(9), // graphx, reduce: StmtList
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			reduce(9), // node, reduce: StmtList
			reduce(9), // edge, reduce: StmtList
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			reduce(9), // subgraph, reduce: StmtList
			nil,       // :
			reduce(9), // id, reduce: StmtList
		},
	},
	actionRow{ // S50
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(36), // ], reduce: OptAList
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			shift(55),  // id
		},
	},
	actionRow{ // S51
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			shift(68),  // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(38), // ], reduce: OptSep
			shift(70),  // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(38), // id, reduce: OptSep
		},
	},
	actionRow{ // S52
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			shift(71), // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S53
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(37), // ], reduce: OptAList
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			shift(55),  // id
		},
	},
	actionRow{ // S54
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			shift(73), // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S55
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			reduce(52), // =, reduce: ID
			nil,        // subgraph
			nil,        // :
			nil,        // id
		},
	},
	actionRow{ // S56
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(20), // {, reduce: EdgeStmt
			reduce(20), // }, reduce: EdgeStmt
			nil,        // empty
			nil,        // strict
			reduce(20), // graphx, reduce: EdgeStmt
			nil,        // digraph
			reduce(20), // ;, reduce: EdgeStmt
			nil,        // --
			nil,        // ->
			reduce(20), // node, reduce: EdgeStmt
			reduce(20), // edge, reduce: EdgeStmt
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(20), // subgraph, reduce: EdgeStmt
			nil,        // :
			reduce(20), // id, reduce: EdgeStmt
		},
	},
	actionRow{ // S57
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(46), // {, reduce: Vertex
			reduce(46), // }, reduce: Vertex
			nil,        // empty
			nil,        // strict
			reduce(46), // graphx, reduce: Vertex
			nil,        // digraph
			reduce(46), // ;, reduce: Vertex
			reduce(46), // --, reduce: Vertex
			reduce(46), // ->, reduce: Vertex
			reduce(46), // node, reduce: Vertex
			reduce(46), // edge, reduce: Vertex
			reduce(46), // [, reduce: Vertex
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(46), // subgraph, reduce: Vertex
			nil,        // :
			reduce(46), // id, reduce: Vertex
		},
	},
	actionRow{ // S58
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(45), // {, reduce: Vertex
			reduce(45), // }, reduce: Vertex
			nil,        // empty
			nil,        // strict
			reduce(45), // graphx, reduce: Vertex
			nil,        // digraph
			reduce(45), // ;, reduce: Vertex
			reduce(45), // --, reduce: Vertex
			reduce(45), // ->, reduce: Vertex
			reduce(45), // node, reduce: Vertex
			reduce(45), // edge, reduce: Vertex
			reduce(45), // [, reduce: Vertex
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(45), // subgraph, reduce: Vertex
			nil,        // :
			reduce(45), // id, reduce: Vertex
		},
	},
	actionRow{ // S59
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(24), // {, reduce: OptEdge
			reduce(24), // }, reduce: OptEdge
			nil,        // empty
			nil,        // strict
			reduce(24), // graphx, reduce: OptEdge
			nil,        // digraph
			reduce(24), // ;, reduce: OptEdge
			shift(40),  // --
			shift(41),  // ->
			reduce(24), // node, reduce: OptEdge
			reduce(24), // edge, reduce: OptEdge
			reduce(24), // [, reduce: OptEdge
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(24), // subgraph, reduce: OptEdge
			nil,        // :
			reduce(24), // id, reduce: OptEdge
		},
	},
	actionRow{ // S60
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(50), // {, reduce: OptPort
			reduce(50), // }, reduce: OptPort
			nil,        // empty
			nil,        // strict
			reduce(50), // graphx, reduce: OptPort
			nil,        // digraph
			reduce(50), // ;, reduce: OptPort
			reduce(50), // --, reduce: OptPort
			reduce(50), // ->, reduce: OptPort
			reduce(50), // node, reduce: OptPort
			reduce(50), // edge, reduce: OptPort
			reduce(50), // [, reduce: OptPort
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(50), // subgraph, reduce: OptPort
			shift(46),  // :
			reduce(50), // id, reduce: OptPort
		},
	},
	actionRow{ // S61
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			shift(76), // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S62
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(52), // {, reduce: ID
			reduce(52), // }, reduce: ID
			nil,        // empty
			nil,        // strict
			reduce(52), // graphx, reduce: ID
			nil,        // digraph
			reduce(52), // ;, reduce: ID
			reduce(52), // --, reduce: ID
			reduce(52), // ->, reduce: ID
			reduce(52), // node, reduce: ID
			reduce(52), // edge, reduce: ID
			reduce(52), // [, reduce: ID
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(52), // subgraph, reduce: ID
			reduce(52), // :, reduce: ID
			reduce(52), // id, reduce: ID
		},
	},
	actionRow{ // S63
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(41), // {, reduce: Attr
			reduce(41), // }, reduce: Attr
			nil,        // empty
			nil,        // strict
			reduce(41), // graphx, reduce: Attr
			nil,        // digraph
			reduce(41), // ;, reduce: Attr
			nil,        // --
			nil,        // ->
			reduce(41), // node, reduce: Attr
			reduce(41), // edge, reduce: Attr
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(41), // subgraph, reduce: Attr
			nil,        // :
			reduce(41), // id, reduce: Attr
		},
	},
	actionRow{ // S64
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(52), // {, reduce: ID
			reduce(52), // }, reduce: ID
			nil,        // empty
			nil,        // strict
			reduce(52), // graphx, reduce: ID
			nil,        // digraph
			reduce(52), // ;, reduce: ID
			nil,        // --
			nil,        // ->
			reduce(52), // node, reduce: ID
			reduce(52), // edge, reduce: ID
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(52), // subgraph, reduce: ID
			nil,        // :
			reduce(52), // id, reduce: ID
		},
	},
	actionRow{ // S65
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(48), // {, reduce: Port
			reduce(48), // }, reduce: Port
			nil,        // empty
			nil,        // strict
			reduce(48), // graphx, reduce: Port
			nil,        // digraph
			reduce(48), // ;, reduce: Port
			reduce(48), // --, reduce: Port
			reduce(48), // ->, reduce: Port
			reduce(48), // node, reduce: Port
			reduce(48), // edge, reduce: Port
			reduce(48), // [, reduce: Port
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(48), // subgraph, reduce: Port
			shift(77),  // :
			reduce(48), // id, reduce: Port
		},
	},
	actionRow{ // S66
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			shift(78), // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S67
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			shift(79), // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S68
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(39), // ], reduce: OptSep
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(39), // id, reduce: OptSep
		},
	},
	actionRow{ // S69
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(34), // ], reduce: AList
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(34), // id, reduce: AList
		},
	},
	actionRow{ // S70
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(40), // ], reduce: OptSep
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(40), // id, reduce: OptSep
		},
	},
	actionRow{ // S71
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(30), // {, reduce: AttrList
			reduce(30), // }, reduce: AttrList
			nil,        // empty
			nil,        // strict
			reduce(30), // graphx, reduce: AttrList
			nil,        // digraph
			reduce(30), // ;, reduce: AttrList
			nil,        // --
			nil,        // ->
			reduce(30), // node, reduce: AttrList
			reduce(30), // edge, reduce: AttrList
			reduce(30), // [, reduce: AttrList
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(30), // subgraph, reduce: AttrList
			nil,        // :
			reduce(30), // id, reduce: AttrList
		},
	},
	actionRow{ // S72
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			shift(68),  // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(38), // ], reduce: OptSep
			shift(70),  // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(38), // id, reduce: OptSep
		},
	},
	actionRow{ // S73
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			shift(82), // id
		},
	},
	actionRow{ // S74
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(25), // {, reduce: OptEdge
			reduce(25), // }, reduce: OptEdge
			nil,        // empty
			nil,        // strict
			reduce(25), // graphx, reduce: OptEdge
			nil,        // digraph
			reduce(25), // ;, reduce: OptEdge
			nil,        // --
			nil,        // ->
			reduce(25), // node, reduce: OptEdge
			reduce(25), // edge, reduce: OptEdge
			reduce(25), // [, reduce: OptEdge
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(25), // subgraph, reduce: OptEdge
			nil,        // :
			reduce(25), // id, reduce: OptEdge
		},
	},
	actionRow{ // S75
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(21), // {, reduce: Edge
			reduce(21), // }, reduce: Edge
			nil,        // empty
			nil,        // strict
			reduce(21), // graphx, reduce: Edge
			nil,        // digraph
			reduce(21), // ;, reduce: Edge
			nil,        // --
			nil,        // ->
			reduce(21), // node, reduce: Edge
			reduce(21), // edge, reduce: Edge
			reduce(21), // [, reduce: Edge
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(21), // subgraph, reduce: Edge
			nil,        // :
			reduce(21), // id, reduce: Edge
		},
	},
	actionRow{ // S76
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(43), // {, reduce: OptSubgraphID
			reduce(10), // }, reduce: OptStmtList
			nil,        // empty
			nil,        // strict
			shift(14),  // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			shift(25),  // node
			shift(26),  // edge
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			shift(29),  // subgraph
			nil,        // :
			shift(30),  // id
		},
	},
	actionRow{ // S77
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			nil,       // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			shift(85), // id
		},
	},
	actionRow{ // S78
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(42), // {, reduce: Subgraph
			reduce(42), // }, reduce: Subgraph
			nil,        // empty
			nil,        // strict
			reduce(42), // graphx, reduce: Subgraph
			nil,        // digraph
			reduce(42), // ;, reduce: Subgraph
			reduce(42), // --, reduce: Subgraph
			reduce(42), // ->, reduce: Subgraph
			reduce(42), // node, reduce: Subgraph
			reduce(42), // edge, reduce: Subgraph
			nil,        // [
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(42), // subgraph, reduce: Subgraph
			nil,        // :
			reduce(42), // id, reduce: Subgraph
		},
	},
	actionRow{ // S79
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(31), // {, reduce: AttrList
			reduce(31), // }, reduce: AttrList
			nil,        // empty
			nil,        // strict
			reduce(31), // graphx, reduce: AttrList
			nil,        // digraph
			reduce(31), // ;, reduce: AttrList
			nil,        // --
			nil,        // ->
			reduce(31), // node, reduce: AttrList
			reduce(31), // edge, reduce: AttrList
			reduce(31), // [, reduce: AttrList
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(31), // subgraph, reduce: AttrList
			nil,        // :
			reduce(31), // id, reduce: AttrList
		},
	},
	actionRow{ // S80
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			nil,        // ;
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(35), // ], reduce: AList
			nil,        // ,
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(35), // id, reduce: AList
		},
	},
	actionRow{ // S81
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			reduce(41), // ;, reduce: Attr
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(41), // ], reduce: Attr
			reduce(41), // ,, reduce: Attr
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(41), // id, reduce: Attr
		},
	},
	actionRow{ // S82
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			nil,        // {
			nil,        // }
			nil,        // empty
			nil,        // strict
			nil,        // graphx
			nil,        // digraph
			reduce(52), // ;, reduce: ID
			nil,        // --
			nil,        // ->
			nil,        // node
			nil,        // edge
			nil,        // [
			reduce(52), // ], reduce: ID
			reduce(52), // ,, reduce: ID
			nil,        // =
			nil,        // subgraph
			nil,        // :
			reduce(52), // id, reduce: ID
		},
	},
	actionRow{ // S83
		canRecover: false,
		actions: [numSymbols]action{
			nil,       // INVALID
			nil,       // ␚
			nil,       // {
			shift(86), // }
			nil,       // empty
			nil,       // strict
			nil,       // graphx
			nil,       // digraph
			nil,       // ;
			nil,       // --
			nil,       // ->
			nil,       // node
			nil,       // edge
			nil,       // [
			nil,       // ]
			nil,       // ,
			nil,       // =
			nil,       // subgraph
			nil,       // :
			nil,       // id
		},
	},
	actionRow{ // S84
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(49), // {, reduce: Port
			reduce(49), // }, reduce: Port
			nil,        // empty
			nil,        // strict
			reduce(49), // graphx, reduce: Port
			nil,        // digraph
			reduce(49), // ;, reduce: Port
			reduce(49), // --, reduce: Port
			reduce(49), // ->, reduce: Port
			reduce(49), // node, reduce: Port
			reduce(49), // edge, reduce: Port
			reduce(49), // [, reduce: Port
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(49), // subgraph, reduce: Port
			nil,        // :
			reduce(49), // id, reduce: Port
		},
	},
	actionRow{ // S85
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(52), // {, reduce: ID
			reduce(52), // }, reduce: ID
			nil,        // empty
			nil,        // strict
			reduce(52), // graphx, reduce: ID
			nil,        // digraph
			reduce(52), // ;, reduce: ID
			reduce(52), // --, reduce: ID
			reduce(52), // ->, reduce: ID
			reduce(52), // node, reduce: ID
			reduce(52), // edge, reduce: ID
			reduce(52), // [, reduce: ID
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(52), // subgraph, reduce: ID
			nil,        // :
			reduce(52), // id, reduce: ID
		},
	},
	actionRow{ // S86
		canRecover: false,
		actions: [numSymbols]action{
			nil,        // INVALID
			nil,        // ␚
			reduce(42), // {, reduce: Subgraph
			reduce(42), // }, reduce: Subgraph
			nil,        // empty
			nil,        // strict
			reduce(42), // graphx, reduce: Subgraph
			nil,        // digraph
			reduce(42), // ;, reduce: Subgraph
			reduce(42), // --, reduce: Subgraph
			reduce(42), // ->, reduce: Subgraph
			reduce(42), // node, reduce: Subgraph
			reduce(42), // edge, reduce: Subgraph
			reduce(42), // [, reduce: Subgraph
			nil,        // ]
			nil,        // ,
			nil,        // =
			reduce(42), // subgraph, reduce: Subgraph
			nil,        // :
			reduce(42), // id, reduce: Subgraph
		},
	},
}
