github.com/gopherd/gonum@v0.0.4/graph/formats/dot/internal/parser/actiontable.go (about)

     1  // Code generated by gocc; DO NOT EDIT.
     2  
     3  // This file is dual licensed under CC0 and The Gonum License.
     4  //
     5  // Copyright ©2017 The Gonum Authors. All rights reserved.
     6  // Use of this source code is governed by a BSD-style
     7  // license that can be found in the LICENSE file.
     8  //
     9  // Copyright ©2017 Robin Eklind.
    10  // This file is made available under a Creative Commons CC0 1.0
    11  // Universal Public Domain Dedication.
    12  
    13  package parser
    14  
    15  type (
    16  	actionTable [numStates]actionRow
    17  	actionRow   struct {
    18  		canRecover bool
    19  		actions    [numSymbols]action
    20  	}
    21  )
    22  
    23  var actionTab = actionTable{
    24  	actionRow{ // S0
    25  		canRecover: false,
    26  		actions: [numSymbols]action{
    27  			nil,       /* INVALID */
    28  			nil,       /* $ */
    29  			nil,       /* { */
    30  			nil,       /* } */
    31  			nil,       /* empty */
    32  			shift(4),  /* strict */
    33  			reduce(4), /* graphx, reduce: OptStrict */
    34  			reduce(4), /* digraph, reduce: OptStrict */
    35  			nil,       /* ; */
    36  			nil,       /* -- */
    37  			nil,       /* -> */
    38  			nil,       /* node */
    39  			nil,       /* edge */
    40  			nil,       /* [ */
    41  			nil,       /* ] */
    42  			nil,       /* , */
    43  			nil,       /* = */
    44  			nil,       /* subgraph */
    45  			nil,       /* : */
    46  			nil,       /* id */
    47  		},
    48  	},
    49  	actionRow{ // S1
    50  		canRecover: false,
    51  		actions: [numSymbols]action{
    52  			nil,          /* INVALID */
    53  			accept(true), /* $ */
    54  			nil,          /* { */
    55  			nil,          /* } */
    56  			nil,          /* empty */
    57  			shift(4),     /* strict */
    58  			reduce(4),    /* graphx, reduce: OptStrict */
    59  			reduce(4),    /* digraph, reduce: OptStrict */
    60  			nil,          /* ; */
    61  			nil,          /* -- */
    62  			nil,          /* -> */
    63  			nil,          /* node */
    64  			nil,          /* edge */
    65  			nil,          /* [ */
    66  			nil,          /* ] */
    67  			nil,          /* , */
    68  			nil,          /* = */
    69  			nil,          /* subgraph */
    70  			nil,          /* : */
    71  			nil,          /* id */
    72  		},
    73  	},
    74  	actionRow{ // S2
    75  		canRecover: false,
    76  		actions: [numSymbols]action{
    77  			nil,       /* INVALID */
    78  			reduce(1), /* $, reduce: File */
    79  			nil,       /* { */
    80  			nil,       /* } */
    81  			nil,       /* empty */
    82  			reduce(1), /* strict, reduce: File */
    83  			reduce(1), /* graphx, reduce: File */
    84  			reduce(1), /* digraph, reduce: File */
    85  			nil,       /* ; */
    86  			nil,       /* -- */
    87  			nil,       /* -> */
    88  			nil,       /* node */
    89  			nil,       /* edge */
    90  			nil,       /* [ */
    91  			nil,       /* ] */
    92  			nil,       /* , */
    93  			nil,       /* = */
    94  			nil,       /* subgraph */
    95  			nil,       /* : */
    96  			nil,       /* id */
    97  		},
    98  	},
    99  	actionRow{ // S3
   100  		canRecover: false,
   101  		actions: [numSymbols]action{
   102  			nil,      /* INVALID */
   103  			nil,      /* $ */
   104  			nil,      /* { */
   105  			nil,      /* } */
   106  			nil,      /* empty */
   107  			nil,      /* strict */
   108  			shift(7), /* graphx */
   109  			shift(8), /* digraph */
   110  			nil,      /* ; */
   111  			nil,      /* -- */
   112  			nil,      /* -> */
   113  			nil,      /* node */
   114  			nil,      /* edge */
   115  			nil,      /* [ */
   116  			nil,      /* ] */
   117  			nil,      /* , */
   118  			nil,      /* = */
   119  			nil,      /* subgraph */
   120  			nil,      /* : */
   121  			nil,      /* id */
   122  		},
   123  	},
   124  	actionRow{ // S4
   125  		canRecover: false,
   126  		actions: [numSymbols]action{
   127  			nil,       /* INVALID */
   128  			nil,       /* $ */
   129  			nil,       /* { */
   130  			nil,       /* } */
   131  			nil,       /* empty */
   132  			nil,       /* strict */
   133  			reduce(5), /* graphx, reduce: OptStrict */
   134  			reduce(5), /* digraph, reduce: OptStrict */
   135  			nil,       /* ; */
   136  			nil,       /* -- */
   137  			nil,       /* -> */
   138  			nil,       /* node */
   139  			nil,       /* edge */
   140  			nil,       /* [ */
   141  			nil,       /* ] */
   142  			nil,       /* , */
   143  			nil,       /* = */
   144  			nil,       /* subgraph */
   145  			nil,       /* : */
   146  			nil,       /* id */
   147  		},
   148  	},
   149  	actionRow{ // S5
   150  		canRecover: false,
   151  		actions: [numSymbols]action{
   152  			nil,       /* INVALID */
   153  			reduce(2), /* $, reduce: File */
   154  			nil,       /* { */
   155  			nil,       /* } */
   156  			nil,       /* empty */
   157  			reduce(2), /* strict, reduce: File */
   158  			reduce(2), /* graphx, reduce: File */
   159  			reduce(2), /* digraph, reduce: File */
   160  			nil,       /* ; */
   161  			nil,       /* -- */
   162  			nil,       /* -> */
   163  			nil,       /* node */
   164  			nil,       /* edge */
   165  			nil,       /* [ */
   166  			nil,       /* ] */
   167  			nil,       /* , */
   168  			nil,       /* = */
   169  			nil,       /* subgraph */
   170  			nil,       /* : */
   171  			nil,       /* id */
   172  		},
   173  	},
   174  	actionRow{ // S6
   175  		canRecover: false,
   176  		actions: [numSymbols]action{
   177  			nil,        /* INVALID */
   178  			nil,        /* $ */
   179  			reduce(53), /* {, reduce: OptID */
   180  			nil,        /* } */
   181  			nil,        /* empty */
   182  			nil,        /* strict */
   183  			nil,        /* graphx */
   184  			nil,        /* digraph */
   185  			nil,        /* ; */
   186  			nil,        /* -- */
   187  			nil,        /* -> */
   188  			nil,        /* node */
   189  			nil,        /* edge */
   190  			nil,        /* [ */
   191  			nil,        /* ] */
   192  			nil,        /* , */
   193  			nil,        /* = */
   194  			nil,        /* subgraph */
   195  			nil,        /* : */
   196  			shift(11),  /* id */
   197  		},
   198  	},
   199  	actionRow{ // S7
   200  		canRecover: false,
   201  		actions: [numSymbols]action{
   202  			nil,       /* INVALID */
   203  			nil,       /* $ */
   204  			reduce(6), /* {, reduce: DirectedGraph */
   205  			nil,       /* } */
   206  			nil,       /* empty */
   207  			nil,       /* strict */
   208  			nil,       /* graphx */
   209  			nil,       /* digraph */
   210  			nil,       /* ; */
   211  			nil,       /* -- */
   212  			nil,       /* -> */
   213  			nil,       /* node */
   214  			nil,       /* edge */
   215  			nil,       /* [ */
   216  			nil,       /* ] */
   217  			nil,       /* , */
   218  			nil,       /* = */
   219  			nil,       /* subgraph */
   220  			nil,       /* : */
   221  			reduce(6), /* id, reduce: DirectedGraph */
   222  		},
   223  	},
   224  	actionRow{ // S8
   225  		canRecover: false,
   226  		actions: [numSymbols]action{
   227  			nil,       /* INVALID */
   228  			nil,       /* $ */
   229  			reduce(7), /* {, reduce: DirectedGraph */
   230  			nil,       /* } */
   231  			nil,       /* empty */
   232  			nil,       /* strict */
   233  			nil,       /* graphx */
   234  			nil,       /* digraph */
   235  			nil,       /* ; */
   236  			nil,       /* -- */
   237  			nil,       /* -> */
   238  			nil,       /* node */
   239  			nil,       /* edge */
   240  			nil,       /* [ */
   241  			nil,       /* ] */
   242  			nil,       /* , */
   243  			nil,       /* = */
   244  			nil,       /* subgraph */
   245  			nil,       /* : */
   246  			reduce(7), /* id, reduce: DirectedGraph */
   247  		},
   248  	},
   249  	actionRow{ // S9
   250  		canRecover: false,
   251  		actions: [numSymbols]action{
   252  			nil,       /* INVALID */
   253  			nil,       /* $ */
   254  			shift(12), /* { */
   255  			nil,       /* } */
   256  			nil,       /* empty */
   257  			nil,       /* strict */
   258  			nil,       /* graphx */
   259  			nil,       /* digraph */
   260  			nil,       /* ; */
   261  			nil,       /* -- */
   262  			nil,       /* -> */
   263  			nil,       /* node */
   264  			nil,       /* edge */
   265  			nil,       /* [ */
   266  			nil,       /* ] */
   267  			nil,       /* , */
   268  			nil,       /* = */
   269  			nil,       /* subgraph */
   270  			nil,       /* : */
   271  			nil,       /* id */
   272  		},
   273  	},
   274  	actionRow{ // S10
   275  		canRecover: false,
   276  		actions: [numSymbols]action{
   277  			nil,        /* INVALID */
   278  			nil,        /* $ */
   279  			reduce(54), /* {, reduce: OptID */
   280  			nil,        /* } */
   281  			nil,        /* empty */
   282  			nil,        /* strict */
   283  			nil,        /* graphx */
   284  			nil,        /* digraph */
   285  			nil,        /* ; */
   286  			nil,        /* -- */
   287  			nil,        /* -> */
   288  			nil,        /* node */
   289  			nil,        /* edge */
   290  			nil,        /* [ */
   291  			nil,        /* ] */
   292  			nil,        /* , */
   293  			nil,        /* = */
   294  			nil,        /* subgraph */
   295  			nil,        /* : */
   296  			nil,        /* id */
   297  		},
   298  	},
   299  	actionRow{ // S11
   300  		canRecover: false,
   301  		actions: [numSymbols]action{
   302  			nil,        /* INVALID */
   303  			nil,        /* $ */
   304  			reduce(52), /* {, reduce: ID */
   305  			nil,        /* } */
   306  			nil,        /* empty */
   307  			nil,        /* strict */
   308  			nil,        /* graphx */
   309  			nil,        /* digraph */
   310  			nil,        /* ; */
   311  			nil,        /* -- */
   312  			nil,        /* -> */
   313  			nil,        /* node */
   314  			nil,        /* edge */
   315  			nil,        /* [ */
   316  			nil,        /* ] */
   317  			nil,        /* , */
   318  			nil,        /* = */
   319  			nil,        /* subgraph */
   320  			nil,        /* : */
   321  			nil,        /* id */
   322  		},
   323  	},
   324  	actionRow{ // S12
   325  		canRecover: false,
   326  		actions: [numSymbols]action{
   327  			nil,        /* INVALID */
   328  			nil,        /* $ */
   329  			reduce(43), /* {, reduce: OptSubgraphID */
   330  			reduce(10), /* }, reduce: OptStmtList */
   331  			nil,        /* empty */
   332  			nil,        /* strict */
   333  			shift(14),  /* graphx */
   334  			nil,        /* digraph */
   335  			nil,        /* ; */
   336  			nil,        /* -- */
   337  			nil,        /* -> */
   338  			shift(25),  /* node */
   339  			shift(26),  /* edge */
   340  			nil,        /* [ */
   341  			nil,        /* ] */
   342  			nil,        /* , */
   343  			nil,        /* = */
   344  			shift(29),  /* subgraph */
   345  			nil,        /* : */
   346  			shift(30),  /* id */
   347  		},
   348  	},
   349  	actionRow{ // S13
   350  		canRecover: false,
   351  		actions: [numSymbols]action{
   352  			nil,       /* INVALID */
   353  			nil,       /* $ */
   354  			nil,       /* { */
   355  			shift(31), /* } */
   356  			nil,       /* empty */
   357  			nil,       /* strict */
   358  			nil,       /* graphx */
   359  			nil,       /* digraph */
   360  			nil,       /* ; */
   361  			nil,       /* -- */
   362  			nil,       /* -> */
   363  			nil,       /* node */
   364  			nil,       /* edge */
   365  			nil,       /* [ */
   366  			nil,       /* ] */
   367  			nil,       /* , */
   368  			nil,       /* = */
   369  			nil,       /* subgraph */
   370  			nil,       /* : */
   371  			nil,       /* id */
   372  		},
   373  	},
   374  	actionRow{ // S14
   375  		canRecover: false,
   376  		actions: [numSymbols]action{
   377  			nil,        /* INVALID */
   378  			nil,        /* $ */
   379  			nil,        /* { */
   380  			nil,        /* } */
   381  			nil,        /* empty */
   382  			nil,        /* strict */
   383  			nil,        /* graphx */
   384  			nil,        /* digraph */
   385  			nil,        /* ; */
   386  			nil,        /* -- */
   387  			nil,        /* -> */
   388  			nil,        /* node */
   389  			nil,        /* edge */
   390  			reduce(27), /* [, reduce: Component */
   391  			nil,        /* ] */
   392  			nil,        /* , */
   393  			nil,        /* = */
   394  			nil,        /* subgraph */
   395  			nil,        /* : */
   396  			nil,        /* id */
   397  		},
   398  	},
   399  	actionRow{ // S15
   400  		canRecover: false,
   401  		actions: [numSymbols]action{
   402  			nil,        /* INVALID */
   403  			nil,        /* $ */
   404  			reduce(43), /* {, reduce: OptSubgraphID */
   405  			reduce(11), /* }, reduce: OptStmtList */
   406  			nil,        /* empty */
   407  			nil,        /* strict */
   408  			shift(14),  /* graphx */
   409  			nil,        /* digraph */
   410  			nil,        /* ; */
   411  			nil,        /* -- */
   412  			nil,        /* -> */
   413  			shift(25),  /* node */
   414  			shift(26),  /* edge */
   415  			nil,        /* [ */
   416  			nil,        /* ] */
   417  			nil,        /* , */
   418  			nil,        /* = */
   419  			shift(29),  /* subgraph */
   420  			nil,        /* : */
   421  			shift(30),  /* id */
   422  		},
   423  	},
   424  	actionRow{ // S16
   425  		canRecover: false,
   426  		actions: [numSymbols]action{
   427  			nil,        /* INVALID */
   428  			nil,        /* $ */
   429  			reduce(17), /* {, reduce: OptSemi */
   430  			reduce(17), /* }, reduce: OptSemi */
   431  			nil,        /* empty */
   432  			nil,        /* strict */
   433  			reduce(17), /* graphx, reduce: OptSemi */
   434  			nil,        /* digraph */
   435  			shift(34),  /* ; */
   436  			nil,        /* -- */
   437  			nil,        /* -> */
   438  			reduce(17), /* node, reduce: OptSemi */
   439  			reduce(17), /* edge, reduce: OptSemi */
   440  			nil,        /* [ */
   441  			nil,        /* ] */
   442  			nil,        /* , */
   443  			nil,        /* = */
   444  			reduce(17), /* subgraph, reduce: OptSemi */
   445  			nil,        /* : */
   446  			reduce(17), /* id, reduce: OptSemi */
   447  		},
   448  	},
   449  	actionRow{ // S17
   450  		canRecover: false,
   451  		actions: [numSymbols]action{
   452  			nil,        /* INVALID */
   453  			nil,        /* $ */
   454  			reduce(12), /* {, reduce: Stmt */
   455  			reduce(12), /* }, reduce: Stmt */
   456  			nil,        /* empty */
   457  			nil,        /* strict */
   458  			reduce(12), /* graphx, reduce: Stmt */
   459  			nil,        /* digraph */
   460  			reduce(12), /* ;, reduce: Stmt */
   461  			nil,        /* -- */
   462  			nil,        /* -> */
   463  			reduce(12), /* node, reduce: Stmt */
   464  			reduce(12), /* edge, reduce: Stmt */
   465  			nil,        /* [ */
   466  			nil,        /* ] */
   467  			nil,        /* , */
   468  			nil,        /* = */
   469  			reduce(12), /* subgraph, reduce: Stmt */
   470  			nil,        /* : */
   471  			reduce(12), /* id, reduce: Stmt */
   472  		},
   473  	},
   474  	actionRow{ // S18
   475  		canRecover: false,
   476  		actions: [numSymbols]action{
   477  			nil,        /* INVALID */
   478  			nil,        /* $ */
   479  			reduce(13), /* {, reduce: Stmt */
   480  			reduce(13), /* }, reduce: Stmt */
   481  			nil,        /* empty */
   482  			nil,        /* strict */
   483  			reduce(13), /* graphx, reduce: Stmt */
   484  			nil,        /* digraph */
   485  			reduce(13), /* ;, reduce: Stmt */
   486  			nil,        /* -- */
   487  			nil,        /* -> */
   488  			reduce(13), /* node, reduce: Stmt */
   489  			reduce(13), /* edge, reduce: Stmt */
   490  			nil,        /* [ */
   491  			nil,        /* ] */
   492  			nil,        /* , */
   493  			nil,        /* = */
   494  			reduce(13), /* subgraph, reduce: Stmt */
   495  			nil,        /* : */
   496  			reduce(13), /* id, reduce: Stmt */
   497  		},
   498  	},
   499  	actionRow{ // S19
   500  		canRecover: false,
   501  		actions: [numSymbols]action{
   502  			nil,        /* INVALID */
   503  			nil,        /* $ */
   504  			reduce(14), /* {, reduce: Stmt */
   505  			reduce(14), /* }, reduce: Stmt */
   506  			nil,        /* empty */
   507  			nil,        /* strict */
   508  			reduce(14), /* graphx, reduce: Stmt */
   509  			nil,        /* digraph */
   510  			reduce(14), /* ;, reduce: Stmt */
   511  			nil,        /* -- */
   512  			nil,        /* -> */
   513  			reduce(14), /* node, reduce: Stmt */
   514  			reduce(14), /* edge, reduce: Stmt */
   515  			nil,        /* [ */
   516  			nil,        /* ] */
   517  			nil,        /* , */
   518  			nil,        /* = */
   519  			reduce(14), /* subgraph, reduce: Stmt */
   520  			nil,        /* : */
   521  			reduce(14), /* id, reduce: Stmt */
   522  		},
   523  	},
   524  	actionRow{ // S20
   525  		canRecover: false,
   526  		actions: [numSymbols]action{
   527  			nil,        /* INVALID */
   528  			nil,        /* $ */
   529  			reduce(15), /* {, reduce: Stmt */
   530  			reduce(15), /* }, reduce: Stmt */
   531  			nil,        /* empty */
   532  			nil,        /* strict */
   533  			reduce(15), /* graphx, reduce: Stmt */
   534  			nil,        /* digraph */
   535  			reduce(15), /* ;, reduce: Stmt */
   536  			nil,        /* -- */
   537  			nil,        /* -> */
   538  			reduce(15), /* node, reduce: Stmt */
   539  			reduce(15), /* edge, reduce: Stmt */
   540  			nil,        /* [ */
   541  			nil,        /* ] */
   542  			nil,        /* , */
   543  			nil,        /* = */
   544  			reduce(15), /* subgraph, reduce: Stmt */
   545  			nil,        /* : */
   546  			reduce(15), /* id, reduce: Stmt */
   547  		},
   548  	},
   549  	actionRow{ // S21
   550  		canRecover: false,
   551  		actions: [numSymbols]action{
   552  			nil,        /* INVALID */
   553  			nil,        /* $ */
   554  			reduce(16), /* {, reduce: Stmt */
   555  			reduce(16), /* }, reduce: Stmt */
   556  			nil,        /* empty */
   557  			nil,        /* strict */
   558  			reduce(16), /* graphx, reduce: Stmt */
   559  			nil,        /* digraph */
   560  			reduce(16), /* ;, reduce: Stmt */
   561  			reduce(46), /* --, reduce: Vertex */
   562  			reduce(46), /* ->, reduce: Vertex */
   563  			reduce(16), /* node, reduce: Stmt */
   564  			reduce(16), /* edge, reduce: Stmt */
   565  			nil,        /* [ */
   566  			nil,        /* ] */
   567  			nil,        /* , */
   568  			nil,        /* = */
   569  			reduce(16), /* subgraph, reduce: Stmt */
   570  			nil,        /* : */
   571  			reduce(16), /* id, reduce: Stmt */
   572  		},
   573  	},
   574  	actionRow{ // S22
   575  		canRecover: false,
   576  		actions: [numSymbols]action{
   577  			nil,        /* INVALID */
   578  			nil,        /* $ */
   579  			reduce(32), /* {, reduce: OptAttrList */
   580  			reduce(32), /* }, reduce: OptAttrList */
   581  			nil,        /* empty */
   582  			nil,        /* strict */
   583  			reduce(32), /* graphx, reduce: OptAttrList */
   584  			nil,        /* digraph */
   585  			reduce(32), /* ;, reduce: OptAttrList */
   586  			reduce(45), /* --, reduce: Vertex */
   587  			reduce(45), /* ->, reduce: Vertex */
   588  			reduce(32), /* node, reduce: OptAttrList */
   589  			reduce(32), /* edge, reduce: OptAttrList */
   590  			shift(37),  /* [ */
   591  			nil,        /* ] */
   592  			nil,        /* , */
   593  			nil,        /* = */
   594  			reduce(32), /* subgraph, reduce: OptAttrList */
   595  			nil,        /* : */
   596  			reduce(32), /* id, reduce: OptAttrList */
   597  		},
   598  	},
   599  	actionRow{ // S23
   600  		canRecover: false,
   601  		actions: [numSymbols]action{
   602  			nil,       /* INVALID */
   603  			nil,       /* $ */
   604  			nil,       /* { */
   605  			nil,       /* } */
   606  			nil,       /* empty */
   607  			nil,       /* strict */
   608  			nil,       /* graphx */
   609  			nil,       /* digraph */
   610  			nil,       /* ; */
   611  			shift(40), /* -- */
   612  			shift(41), /* -> */
   613  			nil,       /* node */
   614  			nil,       /* edge */
   615  			nil,       /* [ */
   616  			nil,       /* ] */
   617  			nil,       /* , */
   618  			nil,       /* = */
   619  			nil,       /* subgraph */
   620  			nil,       /* : */
   621  			nil,       /* id */
   622  		},
   623  	},
   624  	actionRow{ // S24
   625  		canRecover: false,
   626  		actions: [numSymbols]action{
   627  			nil,       /* INVALID */
   628  			nil,       /* $ */
   629  			nil,       /* { */
   630  			nil,       /* } */
   631  			nil,       /* empty */
   632  			nil,       /* strict */
   633  			nil,       /* graphx */
   634  			nil,       /* digraph */
   635  			nil,       /* ; */
   636  			nil,       /* -- */
   637  			nil,       /* -> */
   638  			nil,       /* node */
   639  			nil,       /* edge */
   640  			shift(37), /* [ */
   641  			nil,       /* ] */
   642  			nil,       /* , */
   643  			nil,       /* = */
   644  			nil,       /* subgraph */
   645  			nil,       /* : */
   646  			nil,       /* id */
   647  		},
   648  	},
   649  	actionRow{ // S25
   650  		canRecover: false,
   651  		actions: [numSymbols]action{
   652  			nil,        /* INVALID */
   653  			nil,        /* $ */
   654  			nil,        /* { */
   655  			nil,        /* } */
   656  			nil,        /* empty */
   657  			nil,        /* strict */
   658  			nil,        /* graphx */
   659  			nil,        /* digraph */
   660  			nil,        /* ; */
   661  			nil,        /* -- */
   662  			nil,        /* -> */
   663  			nil,        /* node */
   664  			nil,        /* edge */
   665  			reduce(28), /* [, reduce: Component */
   666  			nil,        /* ] */
   667  			nil,        /* , */
   668  			nil,        /* = */
   669  			nil,        /* subgraph */
   670  			nil,        /* : */
   671  			nil,        /* id */
   672  		},
   673  	},
   674  	actionRow{ // S26
   675  		canRecover: false,
   676  		actions: [numSymbols]action{
   677  			nil,        /* INVALID */
   678  			nil,        /* $ */
   679  			nil,        /* { */
   680  			nil,        /* } */
   681  			nil,        /* empty */
   682  			nil,        /* strict */
   683  			nil,        /* graphx */
   684  			nil,        /* digraph */
   685  			nil,        /* ; */
   686  			nil,        /* -- */
   687  			nil,        /* -> */
   688  			nil,        /* node */
   689  			nil,        /* edge */
   690  			reduce(29), /* [, reduce: Component */
   691  			nil,        /* ] */
   692  			nil,        /* , */
   693  			nil,        /* = */
   694  			nil,        /* subgraph */
   695  			nil,        /* : */
   696  			nil,        /* id */
   697  		},
   698  	},
   699  	actionRow{ // S27
   700  		canRecover: false,
   701  		actions: [numSymbols]action{
   702  			nil,        /* INVALID */
   703  			nil,        /* $ */
   704  			reduce(50), /* {, reduce: OptPort */
   705  			reduce(50), /* }, reduce: OptPort */
   706  			nil,        /* empty */
   707  			nil,        /* strict */
   708  			reduce(50), /* graphx, reduce: OptPort */
   709  			nil,        /* digraph */
   710  			reduce(50), /* ;, reduce: OptPort */
   711  			reduce(50), /* --, reduce: OptPort */
   712  			reduce(50), /* ->, reduce: OptPort */
   713  			reduce(50), /* node, reduce: OptPort */
   714  			reduce(50), /* edge, reduce: OptPort */
   715  			reduce(50), /* [, reduce: OptPort */
   716  			nil,        /* ] */
   717  			nil,        /* , */
   718  			shift(43),  /* = */
   719  			reduce(50), /* subgraph, reduce: OptPort */
   720  			shift(46),  /* : */
   721  			reduce(50), /* id, reduce: OptPort */
   722  		},
   723  	},
   724  	actionRow{ // S28
   725  		canRecover: false,
   726  		actions: [numSymbols]action{
   727  			nil,       /* INVALID */
   728  			nil,       /* $ */
   729  			shift(47), /* { */
   730  			nil,       /* } */
   731  			nil,       /* empty */
   732  			nil,       /* strict */
   733  			nil,       /* graphx */
   734  			nil,       /* digraph */
   735  			nil,       /* ; */
   736  			nil,       /* -- */
   737  			nil,       /* -> */
   738  			nil,       /* node */
   739  			nil,       /* edge */
   740  			nil,       /* [ */
   741  			nil,       /* ] */
   742  			nil,       /* , */
   743  			nil,       /* = */
   744  			nil,       /* subgraph */
   745  			nil,       /* : */
   746  			nil,       /* id */
   747  		},
   748  	},
   749  	actionRow{ // S29
   750  		canRecover: false,
   751  		actions: [numSymbols]action{
   752  			nil,        /* INVALID */
   753  			nil,        /* $ */
   754  			reduce(53), /* {, reduce: OptID */
   755  			nil,        /* } */
   756  			nil,        /* empty */
   757  			nil,        /* strict */
   758  			nil,        /* graphx */
   759  			nil,        /* digraph */
   760  			nil,        /* ; */
   761  			nil,        /* -- */
   762  			nil,        /* -> */
   763  			nil,        /* node */
   764  			nil,        /* edge */
   765  			nil,        /* [ */
   766  			nil,        /* ] */
   767  			nil,        /* , */
   768  			nil,        /* = */
   769  			nil,        /* subgraph */
   770  			nil,        /* : */
   771  			shift(11),  /* id */
   772  		},
   773  	},
   774  	actionRow{ // S30
   775  		canRecover: false,
   776  		actions: [numSymbols]action{
   777  			nil,        /* INVALID */
   778  			nil,        /* $ */
   779  			reduce(52), /* {, reduce: ID */
   780  			reduce(52), /* }, reduce: ID */
   781  			nil,        /* empty */
   782  			nil,        /* strict */
   783  			reduce(52), /* graphx, reduce: ID */
   784  			nil,        /* digraph */
   785  			reduce(52), /* ;, reduce: ID */
   786  			reduce(52), /* --, reduce: ID */
   787  			reduce(52), /* ->, reduce: ID */
   788  			reduce(52), /* node, reduce: ID */
   789  			reduce(52), /* edge, reduce: ID */
   790  			reduce(52), /* [, reduce: ID */
   791  			nil,        /* ] */
   792  			nil,        /* , */
   793  			reduce(52), /* =, reduce: ID */
   794  			reduce(52), /* subgraph, reduce: ID */
   795  			reduce(52), /* :, reduce: ID */
   796  			reduce(52), /* id, reduce: ID */
   797  		},
   798  	},
   799  	actionRow{ // S31
   800  		canRecover: false,
   801  		actions: [numSymbols]action{
   802  			nil,       /* INVALID */
   803  			reduce(3), /* $, reduce: Graph */
   804  			nil,       /* { */
   805  			nil,       /* } */
   806  			nil,       /* empty */
   807  			reduce(3), /* strict, reduce: Graph */
   808  			reduce(3), /* graphx, reduce: Graph */
   809  			reduce(3), /* digraph, reduce: Graph */
   810  			nil,       /* ; */
   811  			nil,       /* -- */
   812  			nil,       /* -> */
   813  			nil,       /* node */
   814  			nil,       /* edge */
   815  			nil,       /* [ */
   816  			nil,       /* ] */
   817  			nil,       /* , */
   818  			nil,       /* = */
   819  			nil,       /* subgraph */
   820  			nil,       /* : */
   821  			nil,       /* id */
   822  		},
   823  	},
   824  	actionRow{ // S32
   825  		canRecover: false,
   826  		actions: [numSymbols]action{
   827  			nil,        /* INVALID */
   828  			nil,        /* $ */
   829  			reduce(17), /* {, reduce: OptSemi */
   830  			reduce(17), /* }, reduce: OptSemi */
   831  			nil,        /* empty */
   832  			nil,        /* strict */
   833  			reduce(17), /* graphx, reduce: OptSemi */
   834  			nil,        /* digraph */
   835  			shift(34),  /* ; */
   836  			nil,        /* -- */
   837  			nil,        /* -> */
   838  			reduce(17), /* node, reduce: OptSemi */
   839  			reduce(17), /* edge, reduce: OptSemi */
   840  			nil,        /* [ */
   841  			nil,        /* ] */
   842  			nil,        /* , */
   843  			nil,        /* = */
   844  			reduce(17), /* subgraph, reduce: OptSemi */
   845  			nil,        /* : */
   846  			reduce(17), /* id, reduce: OptSemi */
   847  		},
   848  	},
   849  	actionRow{ // S33
   850  		canRecover: false,
   851  		actions: [numSymbols]action{
   852  			nil,       /* INVALID */
   853  			nil,       /* $ */
   854  			reduce(8), /* {, reduce: StmtList */
   855  			reduce(8), /* }, reduce: StmtList */
   856  			nil,       /* empty */
   857  			nil,       /* strict */
   858  			reduce(8), /* graphx, reduce: StmtList */
   859  			nil,       /* digraph */
   860  			nil,       /* ; */
   861  			nil,       /* -- */
   862  			nil,       /* -> */
   863  			reduce(8), /* node, reduce: StmtList */
   864  			reduce(8), /* edge, reduce: StmtList */
   865  			nil,       /* [ */
   866  			nil,       /* ] */
   867  			nil,       /* , */
   868  			nil,       /* = */
   869  			reduce(8), /* subgraph, reduce: StmtList */
   870  			nil,       /* : */
   871  			reduce(8), /* id, reduce: StmtList */
   872  		},
   873  	},
   874  	actionRow{ // S34
   875  		canRecover: false,
   876  		actions: [numSymbols]action{
   877  			nil,        /* INVALID */
   878  			nil,        /* $ */
   879  			reduce(18), /* {, reduce: OptSemi */
   880  			reduce(18), /* }, reduce: OptSemi */
   881  			nil,        /* empty */
   882  			nil,        /* strict */
   883  			reduce(18), /* graphx, reduce: OptSemi */
   884  			nil,        /* digraph */
   885  			nil,        /* ; */
   886  			nil,        /* -- */
   887  			nil,        /* -> */
   888  			reduce(18), /* node, reduce: OptSemi */
   889  			reduce(18), /* edge, reduce: OptSemi */
   890  			nil,        /* [ */
   891  			nil,        /* ] */
   892  			nil,        /* , */
   893  			nil,        /* = */
   894  			reduce(18), /* subgraph, reduce: OptSemi */
   895  			nil,        /* : */
   896  			reduce(18), /* id, reduce: OptSemi */
   897  		},
   898  	},
   899  	actionRow{ // S35
   900  		canRecover: false,
   901  		actions: [numSymbols]action{
   902  			nil,        /* INVALID */
   903  			nil,        /* $ */
   904  			reduce(19), /* {, reduce: NodeStmt */
   905  			reduce(19), /* }, reduce: NodeStmt */
   906  			nil,        /* empty */
   907  			nil,        /* strict */
   908  			reduce(19), /* graphx, reduce: NodeStmt */
   909  			nil,        /* digraph */
   910  			reduce(19), /* ;, reduce: NodeStmt */
   911  			nil,        /* -- */
   912  			nil,        /* -> */
   913  			reduce(19), /* node, reduce: NodeStmt */
   914  			reduce(19), /* edge, reduce: NodeStmt */
   915  			nil,        /* [ */
   916  			nil,        /* ] */
   917  			nil,        /* , */
   918  			nil,        /* = */
   919  			reduce(19), /* subgraph, reduce: NodeStmt */
   920  			nil,        /* : */
   921  			reduce(19), /* id, reduce: NodeStmt */
   922  		},
   923  	},
   924  	actionRow{ // S36
   925  		canRecover: false,
   926  		actions: [numSymbols]action{
   927  			nil,        /* INVALID */
   928  			nil,        /* $ */
   929  			reduce(33), /* {, reduce: OptAttrList */
   930  			reduce(33), /* }, reduce: OptAttrList */
   931  			nil,        /* empty */
   932  			nil,        /* strict */
   933  			reduce(33), /* graphx, reduce: OptAttrList */
   934  			nil,        /* digraph */
   935  			reduce(33), /* ;, reduce: OptAttrList */
   936  			nil,        /* -- */
   937  			nil,        /* -> */
   938  			reduce(33), /* node, reduce: OptAttrList */
   939  			reduce(33), /* edge, reduce: OptAttrList */
   940  			shift(50),  /* [ */
   941  			nil,        /* ] */
   942  			nil,        /* , */
   943  			nil,        /* = */
   944  			reduce(33), /* subgraph, reduce: OptAttrList */
   945  			nil,        /* : */
   946  			reduce(33), /* id, reduce: OptAttrList */
   947  		},
   948  	},
   949  	actionRow{ // S37
   950  		canRecover: false,
   951  		actions: [numSymbols]action{
   952  			nil,        /* INVALID */
   953  			nil,        /* $ */
   954  			nil,        /* { */
   955  			nil,        /* } */
   956  			nil,        /* empty */
   957  			nil,        /* strict */
   958  			nil,        /* graphx */
   959  			nil,        /* digraph */
   960  			nil,        /* ; */
   961  			nil,        /* -- */
   962  			nil,        /* -> */
   963  			nil,        /* node */
   964  			nil,        /* edge */
   965  			nil,        /* [ */
   966  			reduce(36), /* ], reduce: OptAList */
   967  			nil,        /* , */
   968  			nil,        /* = */
   969  			nil,        /* subgraph */
   970  			nil,        /* : */
   971  			shift(55),  /* id */
   972  		},
   973  	},
   974  	actionRow{ // S38
   975  		canRecover: false,
   976  		actions: [numSymbols]action{
   977  			nil,        /* INVALID */
   978  			nil,        /* $ */
   979  			reduce(32), /* {, reduce: OptAttrList */
   980  			reduce(32), /* }, reduce: OptAttrList */
   981  			nil,        /* empty */
   982  			nil,        /* strict */
   983  			reduce(32), /* graphx, reduce: OptAttrList */
   984  			nil,        /* digraph */
   985  			reduce(32), /* ;, reduce: OptAttrList */
   986  			nil,        /* -- */
   987  			nil,        /* -> */
   988  			reduce(32), /* node, reduce: OptAttrList */
   989  			reduce(32), /* edge, reduce: OptAttrList */
   990  			shift(37),  /* [ */
   991  			nil,        /* ] */
   992  			nil,        /* , */
   993  			nil,        /* = */
   994  			reduce(32), /* subgraph, reduce: OptAttrList */
   995  			nil,        /* : */
   996  			reduce(32), /* id, reduce: OptAttrList */
   997  		},
   998  	},
   999  	actionRow{ // S39
  1000  		canRecover: false,
  1001  		actions: [numSymbols]action{
  1002  			nil,        /* INVALID */
  1003  			nil,        /* $ */
  1004  			reduce(43), /* {, reduce: OptSubgraphID */
  1005  			nil,        /* } */
  1006  			nil,        /* empty */
  1007  			nil,        /* strict */
  1008  			nil,        /* graphx */
  1009  			nil,        /* digraph */
  1010  			nil,        /* ; */
  1011  			nil,        /* -- */
  1012  			nil,        /* -> */
  1013  			nil,        /* node */
  1014  			nil,        /* edge */
  1015  			nil,        /* [ */
  1016  			nil,        /* ] */
  1017  			nil,        /* , */
  1018  			nil,        /* = */
  1019  			shift(29),  /* subgraph */
  1020  			nil,        /* : */
  1021  			shift(62),  /* id */
  1022  		},
  1023  	},
  1024  	actionRow{ // S40
  1025  		canRecover: false,
  1026  		actions: [numSymbols]action{
  1027  			nil,        /* INVALID */
  1028  			nil,        /* $ */
  1029  			reduce(22), /* {, reduce: DirectedEdge */
  1030  			nil,        /* } */
  1031  			nil,        /* empty */
  1032  			nil,        /* strict */
  1033  			nil,        /* graphx */
  1034  			nil,        /* digraph */
  1035  			nil,        /* ; */
  1036  			nil,        /* -- */
  1037  			nil,        /* -> */
  1038  			nil,        /* node */
  1039  			nil,        /* edge */
  1040  			nil,        /* [ */
  1041  			nil,        /* ] */
  1042  			nil,        /* , */
  1043  			nil,        /* = */
  1044  			reduce(22), /* subgraph, reduce: DirectedEdge */
  1045  			nil,        /* : */
  1046  			reduce(22), /* id, reduce: DirectedEdge */
  1047  		},
  1048  	},
  1049  	actionRow{ // S41
  1050  		canRecover: false,
  1051  		actions: [numSymbols]action{
  1052  			nil,        /* INVALID */
  1053  			nil,        /* $ */
  1054  			reduce(23), /* {, reduce: DirectedEdge */
  1055  			nil,        /* } */
  1056  			nil,        /* empty */
  1057  			nil,        /* strict */
  1058  			nil,        /* graphx */
  1059  			nil,        /* digraph */
  1060  			nil,        /* ; */
  1061  			nil,        /* -- */
  1062  			nil,        /* -> */
  1063  			nil,        /* node */
  1064  			nil,        /* edge */
  1065  			nil,        /* [ */
  1066  			nil,        /* ] */
  1067  			nil,        /* , */
  1068  			nil,        /* = */
  1069  			reduce(23), /* subgraph, reduce: DirectedEdge */
  1070  			nil,        /* : */
  1071  			reduce(23), /* id, reduce: DirectedEdge */
  1072  		},
  1073  	},
  1074  	actionRow{ // S42
  1075  		canRecover: false,
  1076  		actions: [numSymbols]action{
  1077  			nil,        /* INVALID */
  1078  			nil,        /* $ */
  1079  			reduce(26), /* {, reduce: AttrStmt */
  1080  			reduce(26), /* }, reduce: AttrStmt */
  1081  			nil,        /* empty */
  1082  			nil,        /* strict */
  1083  			reduce(26), /* graphx, reduce: AttrStmt */
  1084  			nil,        /* digraph */
  1085  			reduce(26), /* ;, reduce: AttrStmt */
  1086  			nil,        /* -- */
  1087  			nil,        /* -> */
  1088  			reduce(26), /* node, reduce: AttrStmt */
  1089  			reduce(26), /* edge, reduce: AttrStmt */
  1090  			shift(50),  /* [ */
  1091  			nil,        /* ] */
  1092  			nil,        /* , */
  1093  			nil,        /* = */
  1094  			reduce(26), /* subgraph, reduce: AttrStmt */
  1095  			nil,        /* : */
  1096  			reduce(26), /* id, reduce: AttrStmt */
  1097  		},
  1098  	},
  1099  	actionRow{ // S43
  1100  		canRecover: false,
  1101  		actions: [numSymbols]action{
  1102  			nil,       /* INVALID */
  1103  			nil,       /* $ */
  1104  			nil,       /* { */
  1105  			nil,       /* } */
  1106  			nil,       /* empty */
  1107  			nil,       /* strict */
  1108  			nil,       /* graphx */
  1109  			nil,       /* digraph */
  1110  			nil,       /* ; */
  1111  			nil,       /* -- */
  1112  			nil,       /* -> */
  1113  			nil,       /* node */
  1114  			nil,       /* edge */
  1115  			nil,       /* [ */
  1116  			nil,       /* ] */
  1117  			nil,       /* , */
  1118  			nil,       /* = */
  1119  			nil,       /* subgraph */
  1120  			nil,       /* : */
  1121  			shift(64), /* id */
  1122  		},
  1123  	},
  1124  	actionRow{ // S44
  1125  		canRecover: false,
  1126  		actions: [numSymbols]action{
  1127  			nil,        /* INVALID */
  1128  			nil,        /* $ */
  1129  			reduce(47), /* {, reduce: Node */
  1130  			reduce(47), /* }, reduce: Node */
  1131  			nil,        /* empty */
  1132  			nil,        /* strict */
  1133  			reduce(47), /* graphx, reduce: Node */
  1134  			nil,        /* digraph */
  1135  			reduce(47), /* ;, reduce: Node */
  1136  			reduce(47), /* --, reduce: Node */
  1137  			reduce(47), /* ->, reduce: Node */
  1138  			reduce(47), /* node, reduce: Node */
  1139  			reduce(47), /* edge, reduce: Node */
  1140  			reduce(47), /* [, reduce: Node */
  1141  			nil,        /* ] */
  1142  			nil,        /* , */
  1143  			nil,        /* = */
  1144  			reduce(47), /* subgraph, reduce: Node */
  1145  			nil,        /* : */
  1146  			reduce(47), /* id, reduce: Node */
  1147  		},
  1148  	},
  1149  	actionRow{ // S45
  1150  		canRecover: false,
  1151  		actions: [numSymbols]action{
  1152  			nil,        /* INVALID */
  1153  			nil,        /* $ */
  1154  			reduce(51), /* {, reduce: OptPort */
  1155  			reduce(51), /* }, reduce: OptPort */
  1156  			nil,        /* empty */
  1157  			nil,        /* strict */
  1158  			reduce(51), /* graphx, reduce: OptPort */
  1159  			nil,        /* digraph */
  1160  			reduce(51), /* ;, reduce: OptPort */
  1161  			reduce(51), /* --, reduce: OptPort */
  1162  			reduce(51), /* ->, reduce: OptPort */
  1163  			reduce(51), /* node, reduce: OptPort */
  1164  			reduce(51), /* edge, reduce: OptPort */
  1165  			reduce(51), /* [, reduce: OptPort */
  1166  			nil,        /* ] */
  1167  			nil,        /* , */
  1168  			nil,        /* = */
  1169  			reduce(51), /* subgraph, reduce: OptPort */
  1170  			nil,        /* : */
  1171  			reduce(51), /* id, reduce: OptPort */
  1172  		},
  1173  	},
  1174  	actionRow{ // S46
  1175  		canRecover: false,
  1176  		actions: [numSymbols]action{
  1177  			nil,       /* INVALID */
  1178  			nil,       /* $ */
  1179  			nil,       /* { */
  1180  			nil,       /* } */
  1181  			nil,       /* empty */
  1182  			nil,       /* strict */
  1183  			nil,       /* graphx */
  1184  			nil,       /* digraph */
  1185  			nil,       /* ; */
  1186  			nil,       /* -- */
  1187  			nil,       /* -> */
  1188  			nil,       /* node */
  1189  			nil,       /* edge */
  1190  			nil,       /* [ */
  1191  			nil,       /* ] */
  1192  			nil,       /* , */
  1193  			nil,       /* = */
  1194  			nil,       /* subgraph */
  1195  			nil,       /* : */
  1196  			shift(62), /* id */
  1197  		},
  1198  	},
  1199  	actionRow{ // S47
  1200  		canRecover: false,
  1201  		actions: [numSymbols]action{
  1202  			nil,        /* INVALID */
  1203  			nil,        /* $ */
  1204  			reduce(43), /* {, reduce: OptSubgraphID */
  1205  			reduce(10), /* }, reduce: OptStmtList */
  1206  			nil,        /* empty */
  1207  			nil,        /* strict */
  1208  			shift(14),  /* graphx */
  1209  			nil,        /* digraph */
  1210  			nil,        /* ; */
  1211  			nil,        /* -- */
  1212  			nil,        /* -> */
  1213  			shift(25),  /* node */
  1214  			shift(26),  /* edge */
  1215  			nil,        /* [ */
  1216  			nil,        /* ] */
  1217  			nil,        /* , */
  1218  			nil,        /* = */
  1219  			shift(29),  /* subgraph */
  1220  			nil,        /* : */
  1221  			shift(30),  /* id */
  1222  		},
  1223  	},
  1224  	actionRow{ // S48
  1225  		canRecover: false,
  1226  		actions: [numSymbols]action{
  1227  			nil,        /* INVALID */
  1228  			nil,        /* $ */
  1229  			reduce(44), /* {, reduce: OptSubgraphID */
  1230  			nil,        /* } */
  1231  			nil,        /* empty */
  1232  			nil,        /* strict */
  1233  			nil,        /* graphx */
  1234  			nil,        /* digraph */
  1235  			nil,        /* ; */
  1236  			nil,        /* -- */
  1237  			nil,        /* -> */
  1238  			nil,        /* node */
  1239  			nil,        /* edge */
  1240  			nil,        /* [ */
  1241  			nil,        /* ] */
  1242  			nil,        /* , */
  1243  			nil,        /* = */
  1244  			nil,        /* subgraph */
  1245  			nil,        /* : */
  1246  			nil,        /* id */
  1247  		},
  1248  	},
  1249  	actionRow{ // S49
  1250  		canRecover: false,
  1251  		actions: [numSymbols]action{
  1252  			nil,       /* INVALID */
  1253  			nil,       /* $ */
  1254  			reduce(9), /* {, reduce: StmtList */
  1255  			reduce(9), /* }, reduce: StmtList */
  1256  			nil,       /* empty */
  1257  			nil,       /* strict */
  1258  			reduce(9), /* graphx, reduce: StmtList */
  1259  			nil,       /* digraph */
  1260  			nil,       /* ; */
  1261  			nil,       /* -- */
  1262  			nil,       /* -> */
  1263  			reduce(9), /* node, reduce: StmtList */
  1264  			reduce(9), /* edge, reduce: StmtList */
  1265  			nil,       /* [ */
  1266  			nil,       /* ] */
  1267  			nil,       /* , */
  1268  			nil,       /* = */
  1269  			reduce(9), /* subgraph, reduce: StmtList */
  1270  			nil,       /* : */
  1271  			reduce(9), /* id, reduce: StmtList */
  1272  		},
  1273  	},
  1274  	actionRow{ // S50
  1275  		canRecover: false,
  1276  		actions: [numSymbols]action{
  1277  			nil,        /* INVALID */
  1278  			nil,        /* $ */
  1279  			nil,        /* { */
  1280  			nil,        /* } */
  1281  			nil,        /* empty */
  1282  			nil,        /* strict */
  1283  			nil,        /* graphx */
  1284  			nil,        /* digraph */
  1285  			nil,        /* ; */
  1286  			nil,        /* -- */
  1287  			nil,        /* -> */
  1288  			nil,        /* node */
  1289  			nil,        /* edge */
  1290  			nil,        /* [ */
  1291  			reduce(36), /* ], reduce: OptAList */
  1292  			nil,        /* , */
  1293  			nil,        /* = */
  1294  			nil,        /* subgraph */
  1295  			nil,        /* : */
  1296  			shift(55),  /* id */
  1297  		},
  1298  	},
  1299  	actionRow{ // S51
  1300  		canRecover: false,
  1301  		actions: [numSymbols]action{
  1302  			nil,        /* INVALID */
  1303  			nil,        /* $ */
  1304  			nil,        /* { */
  1305  			nil,        /* } */
  1306  			nil,        /* empty */
  1307  			nil,        /* strict */
  1308  			nil,        /* graphx */
  1309  			nil,        /* digraph */
  1310  			shift(68),  /* ; */
  1311  			nil,        /* -- */
  1312  			nil,        /* -> */
  1313  			nil,        /* node */
  1314  			nil,        /* edge */
  1315  			nil,        /* [ */
  1316  			reduce(38), /* ], reduce: OptSep */
  1317  			shift(70),  /* , */
  1318  			nil,        /* = */
  1319  			nil,        /* subgraph */
  1320  			nil,        /* : */
  1321  			reduce(38), /* id, reduce: OptSep */
  1322  		},
  1323  	},
  1324  	actionRow{ // S52
  1325  		canRecover: false,
  1326  		actions: [numSymbols]action{
  1327  			nil,       /* INVALID */
  1328  			nil,       /* $ */
  1329  			nil,       /* { */
  1330  			nil,       /* } */
  1331  			nil,       /* empty */
  1332  			nil,       /* strict */
  1333  			nil,       /* graphx */
  1334  			nil,       /* digraph */
  1335  			nil,       /* ; */
  1336  			nil,       /* -- */
  1337  			nil,       /* -> */
  1338  			nil,       /* node */
  1339  			nil,       /* edge */
  1340  			nil,       /* [ */
  1341  			shift(71), /* ] */
  1342  			nil,       /* , */
  1343  			nil,       /* = */
  1344  			nil,       /* subgraph */
  1345  			nil,       /* : */
  1346  			nil,       /* id */
  1347  		},
  1348  	},
  1349  	actionRow{ // S53
  1350  		canRecover: false,
  1351  		actions: [numSymbols]action{
  1352  			nil,        /* INVALID */
  1353  			nil,        /* $ */
  1354  			nil,        /* { */
  1355  			nil,        /* } */
  1356  			nil,        /* empty */
  1357  			nil,        /* strict */
  1358  			nil,        /* graphx */
  1359  			nil,        /* digraph */
  1360  			nil,        /* ; */
  1361  			nil,        /* -- */
  1362  			nil,        /* -> */
  1363  			nil,        /* node */
  1364  			nil,        /* edge */
  1365  			nil,        /* [ */
  1366  			reduce(37), /* ], reduce: OptAList */
  1367  			nil,        /* , */
  1368  			nil,        /* = */
  1369  			nil,        /* subgraph */
  1370  			nil,        /* : */
  1371  			shift(55),  /* id */
  1372  		},
  1373  	},
  1374  	actionRow{ // S54
  1375  		canRecover: false,
  1376  		actions: [numSymbols]action{
  1377  			nil,       /* INVALID */
  1378  			nil,       /* $ */
  1379  			nil,       /* { */
  1380  			nil,       /* } */
  1381  			nil,       /* empty */
  1382  			nil,       /* strict */
  1383  			nil,       /* graphx */
  1384  			nil,       /* digraph */
  1385  			nil,       /* ; */
  1386  			nil,       /* -- */
  1387  			nil,       /* -> */
  1388  			nil,       /* node */
  1389  			nil,       /* edge */
  1390  			nil,       /* [ */
  1391  			nil,       /* ] */
  1392  			nil,       /* , */
  1393  			shift(73), /* = */
  1394  			nil,       /* subgraph */
  1395  			nil,       /* : */
  1396  			nil,       /* id */
  1397  		},
  1398  	},
  1399  	actionRow{ // S55
  1400  		canRecover: false,
  1401  		actions: [numSymbols]action{
  1402  			nil,        /* INVALID */
  1403  			nil,        /* $ */
  1404  			nil,        /* { */
  1405  			nil,        /* } */
  1406  			nil,        /* empty */
  1407  			nil,        /* strict */
  1408  			nil,        /* graphx */
  1409  			nil,        /* digraph */
  1410  			nil,        /* ; */
  1411  			nil,        /* -- */
  1412  			nil,        /* -> */
  1413  			nil,        /* node */
  1414  			nil,        /* edge */
  1415  			nil,        /* [ */
  1416  			nil,        /* ] */
  1417  			nil,        /* , */
  1418  			reduce(52), /* =, reduce: ID */
  1419  			nil,        /* subgraph */
  1420  			nil,        /* : */
  1421  			nil,        /* id */
  1422  		},
  1423  	},
  1424  	actionRow{ // S56
  1425  		canRecover: false,
  1426  		actions: [numSymbols]action{
  1427  			nil,        /* INVALID */
  1428  			nil,        /* $ */
  1429  			reduce(20), /* {, reduce: EdgeStmt */
  1430  			reduce(20), /* }, reduce: EdgeStmt */
  1431  			nil,        /* empty */
  1432  			nil,        /* strict */
  1433  			reduce(20), /* graphx, reduce: EdgeStmt */
  1434  			nil,        /* digraph */
  1435  			reduce(20), /* ;, reduce: EdgeStmt */
  1436  			nil,        /* -- */
  1437  			nil,        /* -> */
  1438  			reduce(20), /* node, reduce: EdgeStmt */
  1439  			reduce(20), /* edge, reduce: EdgeStmt */
  1440  			nil,        /* [ */
  1441  			nil,        /* ] */
  1442  			nil,        /* , */
  1443  			nil,        /* = */
  1444  			reduce(20), /* subgraph, reduce: EdgeStmt */
  1445  			nil,        /* : */
  1446  			reduce(20), /* id, reduce: EdgeStmt */
  1447  		},
  1448  	},
  1449  	actionRow{ // S57
  1450  		canRecover: false,
  1451  		actions: [numSymbols]action{
  1452  			nil,        /* INVALID */
  1453  			nil,        /* $ */
  1454  			reduce(46), /* {, reduce: Vertex */
  1455  			reduce(46), /* }, reduce: Vertex */
  1456  			nil,        /* empty */
  1457  			nil,        /* strict */
  1458  			reduce(46), /* graphx, reduce: Vertex */
  1459  			nil,        /* digraph */
  1460  			reduce(46), /* ;, reduce: Vertex */
  1461  			reduce(46), /* --, reduce: Vertex */
  1462  			reduce(46), /* ->, reduce: Vertex */
  1463  			reduce(46), /* node, reduce: Vertex */
  1464  			reduce(46), /* edge, reduce: Vertex */
  1465  			reduce(46), /* [, reduce: Vertex */
  1466  			nil,        /* ] */
  1467  			nil,        /* , */
  1468  			nil,        /* = */
  1469  			reduce(46), /* subgraph, reduce: Vertex */
  1470  			nil,        /* : */
  1471  			reduce(46), /* id, reduce: Vertex */
  1472  		},
  1473  	},
  1474  	actionRow{ // S58
  1475  		canRecover: false,
  1476  		actions: [numSymbols]action{
  1477  			nil,        /* INVALID */
  1478  			nil,        /* $ */
  1479  			reduce(45), /* {, reduce: Vertex */
  1480  			reduce(45), /* }, reduce: Vertex */
  1481  			nil,        /* empty */
  1482  			nil,        /* strict */
  1483  			reduce(45), /* graphx, reduce: Vertex */
  1484  			nil,        /* digraph */
  1485  			reduce(45), /* ;, reduce: Vertex */
  1486  			reduce(45), /* --, reduce: Vertex */
  1487  			reduce(45), /* ->, reduce: Vertex */
  1488  			reduce(45), /* node, reduce: Vertex */
  1489  			reduce(45), /* edge, reduce: Vertex */
  1490  			reduce(45), /* [, reduce: Vertex */
  1491  			nil,        /* ] */
  1492  			nil,        /* , */
  1493  			nil,        /* = */
  1494  			reduce(45), /* subgraph, reduce: Vertex */
  1495  			nil,        /* : */
  1496  			reduce(45), /* id, reduce: Vertex */
  1497  		},
  1498  	},
  1499  	actionRow{ // S59
  1500  		canRecover: false,
  1501  		actions: [numSymbols]action{
  1502  			nil,        /* INVALID */
  1503  			nil,        /* $ */
  1504  			reduce(24), /* {, reduce: OptEdge */
  1505  			reduce(24), /* }, reduce: OptEdge */
  1506  			nil,        /* empty */
  1507  			nil,        /* strict */
  1508  			reduce(24), /* graphx, reduce: OptEdge */
  1509  			nil,        /* digraph */
  1510  			reduce(24), /* ;, reduce: OptEdge */
  1511  			shift(40),  /* -- */
  1512  			shift(41),  /* -> */
  1513  			reduce(24), /* node, reduce: OptEdge */
  1514  			reduce(24), /* edge, reduce: OptEdge */
  1515  			reduce(24), /* [, reduce: OptEdge */
  1516  			nil,        /* ] */
  1517  			nil,        /* , */
  1518  			nil,        /* = */
  1519  			reduce(24), /* subgraph, reduce: OptEdge */
  1520  			nil,        /* : */
  1521  			reduce(24), /* id, reduce: OptEdge */
  1522  		},
  1523  	},
  1524  	actionRow{ // S60
  1525  		canRecover: false,
  1526  		actions: [numSymbols]action{
  1527  			nil,        /* INVALID */
  1528  			nil,        /* $ */
  1529  			reduce(50), /* {, reduce: OptPort */
  1530  			reduce(50), /* }, reduce: OptPort */
  1531  			nil,        /* empty */
  1532  			nil,        /* strict */
  1533  			reduce(50), /* graphx, reduce: OptPort */
  1534  			nil,        /* digraph */
  1535  			reduce(50), /* ;, reduce: OptPort */
  1536  			reduce(50), /* --, reduce: OptPort */
  1537  			reduce(50), /* ->, reduce: OptPort */
  1538  			reduce(50), /* node, reduce: OptPort */
  1539  			reduce(50), /* edge, reduce: OptPort */
  1540  			reduce(50), /* [, reduce: OptPort */
  1541  			nil,        /* ] */
  1542  			nil,        /* , */
  1543  			nil,        /* = */
  1544  			reduce(50), /* subgraph, reduce: OptPort */
  1545  			shift(46),  /* : */
  1546  			reduce(50), /* id, reduce: OptPort */
  1547  		},
  1548  	},
  1549  	actionRow{ // S61
  1550  		canRecover: false,
  1551  		actions: [numSymbols]action{
  1552  			nil,       /* INVALID */
  1553  			nil,       /* $ */
  1554  			shift(76), /* { */
  1555  			nil,       /* } */
  1556  			nil,       /* empty */
  1557  			nil,       /* strict */
  1558  			nil,       /* graphx */
  1559  			nil,       /* digraph */
  1560  			nil,       /* ; */
  1561  			nil,       /* -- */
  1562  			nil,       /* -> */
  1563  			nil,       /* node */
  1564  			nil,       /* edge */
  1565  			nil,       /* [ */
  1566  			nil,       /* ] */
  1567  			nil,       /* , */
  1568  			nil,       /* = */
  1569  			nil,       /* subgraph */
  1570  			nil,       /* : */
  1571  			nil,       /* id */
  1572  		},
  1573  	},
  1574  	actionRow{ // S62
  1575  		canRecover: false,
  1576  		actions: [numSymbols]action{
  1577  			nil,        /* INVALID */
  1578  			nil,        /* $ */
  1579  			reduce(52), /* {, reduce: ID */
  1580  			reduce(52), /* }, reduce: ID */
  1581  			nil,        /* empty */
  1582  			nil,        /* strict */
  1583  			reduce(52), /* graphx, reduce: ID */
  1584  			nil,        /* digraph */
  1585  			reduce(52), /* ;, reduce: ID */
  1586  			reduce(52), /* --, reduce: ID */
  1587  			reduce(52), /* ->, reduce: ID */
  1588  			reduce(52), /* node, reduce: ID */
  1589  			reduce(52), /* edge, reduce: ID */
  1590  			reduce(52), /* [, reduce: ID */
  1591  			nil,        /* ] */
  1592  			nil,        /* , */
  1593  			nil,        /* = */
  1594  			reduce(52), /* subgraph, reduce: ID */
  1595  			reduce(52), /* :, reduce: ID */
  1596  			reduce(52), /* id, reduce: ID */
  1597  		},
  1598  	},
  1599  	actionRow{ // S63
  1600  		canRecover: false,
  1601  		actions: [numSymbols]action{
  1602  			nil,        /* INVALID */
  1603  			nil,        /* $ */
  1604  			reduce(41), /* {, reduce: Attr */
  1605  			reduce(41), /* }, reduce: Attr */
  1606  			nil,        /* empty */
  1607  			nil,        /* strict */
  1608  			reduce(41), /* graphx, reduce: Attr */
  1609  			nil,        /* digraph */
  1610  			reduce(41), /* ;, reduce: Attr */
  1611  			nil,        /* -- */
  1612  			nil,        /* -> */
  1613  			reduce(41), /* node, reduce: Attr */
  1614  			reduce(41), /* edge, reduce: Attr */
  1615  			nil,        /* [ */
  1616  			nil,        /* ] */
  1617  			nil,        /* , */
  1618  			nil,        /* = */
  1619  			reduce(41), /* subgraph, reduce: Attr */
  1620  			nil,        /* : */
  1621  			reduce(41), /* id, reduce: Attr */
  1622  		},
  1623  	},
  1624  	actionRow{ // S64
  1625  		canRecover: false,
  1626  		actions: [numSymbols]action{
  1627  			nil,        /* INVALID */
  1628  			nil,        /* $ */
  1629  			reduce(52), /* {, reduce: ID */
  1630  			reduce(52), /* }, reduce: ID */
  1631  			nil,        /* empty */
  1632  			nil,        /* strict */
  1633  			reduce(52), /* graphx, reduce: ID */
  1634  			nil,        /* digraph */
  1635  			reduce(52), /* ;, reduce: ID */
  1636  			nil,        /* -- */
  1637  			nil,        /* -> */
  1638  			reduce(52), /* node, reduce: ID */
  1639  			reduce(52), /* edge, reduce: ID */
  1640  			nil,        /* [ */
  1641  			nil,        /* ] */
  1642  			nil,        /* , */
  1643  			nil,        /* = */
  1644  			reduce(52), /* subgraph, reduce: ID */
  1645  			nil,        /* : */
  1646  			reduce(52), /* id, reduce: ID */
  1647  		},
  1648  	},
  1649  	actionRow{ // S65
  1650  		canRecover: false,
  1651  		actions: [numSymbols]action{
  1652  			nil,        /* INVALID */
  1653  			nil,        /* $ */
  1654  			reduce(48), /* {, reduce: Port */
  1655  			reduce(48), /* }, reduce: Port */
  1656  			nil,        /* empty */
  1657  			nil,        /* strict */
  1658  			reduce(48), /* graphx, reduce: Port */
  1659  			nil,        /* digraph */
  1660  			reduce(48), /* ;, reduce: Port */
  1661  			reduce(48), /* --, reduce: Port */
  1662  			reduce(48), /* ->, reduce: Port */
  1663  			reduce(48), /* node, reduce: Port */
  1664  			reduce(48), /* edge, reduce: Port */
  1665  			reduce(48), /* [, reduce: Port */
  1666  			nil,        /* ] */
  1667  			nil,        /* , */
  1668  			nil,        /* = */
  1669  			reduce(48), /* subgraph, reduce: Port */
  1670  			shift(77),  /* : */
  1671  			reduce(48), /* id, reduce: Port */
  1672  		},
  1673  	},
  1674  	actionRow{ // S66
  1675  		canRecover: false,
  1676  		actions: [numSymbols]action{
  1677  			nil,       /* INVALID */
  1678  			nil,       /* $ */
  1679  			nil,       /* { */
  1680  			shift(78), /* } */
  1681  			nil,       /* empty */
  1682  			nil,       /* strict */
  1683  			nil,       /* graphx */
  1684  			nil,       /* digraph */
  1685  			nil,       /* ; */
  1686  			nil,       /* -- */
  1687  			nil,       /* -> */
  1688  			nil,       /* node */
  1689  			nil,       /* edge */
  1690  			nil,       /* [ */
  1691  			nil,       /* ] */
  1692  			nil,       /* , */
  1693  			nil,       /* = */
  1694  			nil,       /* subgraph */
  1695  			nil,       /* : */
  1696  			nil,       /* id */
  1697  		},
  1698  	},
  1699  	actionRow{ // S67
  1700  		canRecover: false,
  1701  		actions: [numSymbols]action{
  1702  			nil,       /* INVALID */
  1703  			nil,       /* $ */
  1704  			nil,       /* { */
  1705  			nil,       /* } */
  1706  			nil,       /* empty */
  1707  			nil,       /* strict */
  1708  			nil,       /* graphx */
  1709  			nil,       /* digraph */
  1710  			nil,       /* ; */
  1711  			nil,       /* -- */
  1712  			nil,       /* -> */
  1713  			nil,       /* node */
  1714  			nil,       /* edge */
  1715  			nil,       /* [ */
  1716  			shift(79), /* ] */
  1717  			nil,       /* , */
  1718  			nil,       /* = */
  1719  			nil,       /* subgraph */
  1720  			nil,       /* : */
  1721  			nil,       /* id */
  1722  		},
  1723  	},
  1724  	actionRow{ // S68
  1725  		canRecover: false,
  1726  		actions: [numSymbols]action{
  1727  			nil,        /* INVALID */
  1728  			nil,        /* $ */
  1729  			nil,        /* { */
  1730  			nil,        /* } */
  1731  			nil,        /* empty */
  1732  			nil,        /* strict */
  1733  			nil,        /* graphx */
  1734  			nil,        /* digraph */
  1735  			nil,        /* ; */
  1736  			nil,        /* -- */
  1737  			nil,        /* -> */
  1738  			nil,        /* node */
  1739  			nil,        /* edge */
  1740  			nil,        /* [ */
  1741  			reduce(39), /* ], reduce: OptSep */
  1742  			nil,        /* , */
  1743  			nil,        /* = */
  1744  			nil,        /* subgraph */
  1745  			nil,        /* : */
  1746  			reduce(39), /* id, reduce: OptSep */
  1747  		},
  1748  	},
  1749  	actionRow{ // S69
  1750  		canRecover: false,
  1751  		actions: [numSymbols]action{
  1752  			nil,        /* INVALID */
  1753  			nil,        /* $ */
  1754  			nil,        /* { */
  1755  			nil,        /* } */
  1756  			nil,        /* empty */
  1757  			nil,        /* strict */
  1758  			nil,        /* graphx */
  1759  			nil,        /* digraph */
  1760  			nil,        /* ; */
  1761  			nil,        /* -- */
  1762  			nil,        /* -> */
  1763  			nil,        /* node */
  1764  			nil,        /* edge */
  1765  			nil,        /* [ */
  1766  			reduce(34), /* ], reduce: AList */
  1767  			nil,        /* , */
  1768  			nil,        /* = */
  1769  			nil,        /* subgraph */
  1770  			nil,        /* : */
  1771  			reduce(34), /* id, reduce: AList */
  1772  		},
  1773  	},
  1774  	actionRow{ // S70
  1775  		canRecover: false,
  1776  		actions: [numSymbols]action{
  1777  			nil,        /* INVALID */
  1778  			nil,        /* $ */
  1779  			nil,        /* { */
  1780  			nil,        /* } */
  1781  			nil,        /* empty */
  1782  			nil,        /* strict */
  1783  			nil,        /* graphx */
  1784  			nil,        /* digraph */
  1785  			nil,        /* ; */
  1786  			nil,        /* -- */
  1787  			nil,        /* -> */
  1788  			nil,        /* node */
  1789  			nil,        /* edge */
  1790  			nil,        /* [ */
  1791  			reduce(40), /* ], reduce: OptSep */
  1792  			nil,        /* , */
  1793  			nil,        /* = */
  1794  			nil,        /* subgraph */
  1795  			nil,        /* : */
  1796  			reduce(40), /* id, reduce: OptSep */
  1797  		},
  1798  	},
  1799  	actionRow{ // S71
  1800  		canRecover: false,
  1801  		actions: [numSymbols]action{
  1802  			nil,        /* INVALID */
  1803  			nil,        /* $ */
  1804  			reduce(30), /* {, reduce: AttrList */
  1805  			reduce(30), /* }, reduce: AttrList */
  1806  			nil,        /* empty */
  1807  			nil,        /* strict */
  1808  			reduce(30), /* graphx, reduce: AttrList */
  1809  			nil,        /* digraph */
  1810  			reduce(30), /* ;, reduce: AttrList */
  1811  			nil,        /* -- */
  1812  			nil,        /* -> */
  1813  			reduce(30), /* node, reduce: AttrList */
  1814  			reduce(30), /* edge, reduce: AttrList */
  1815  			reduce(30), /* [, reduce: AttrList */
  1816  			nil,        /* ] */
  1817  			nil,        /* , */
  1818  			nil,        /* = */
  1819  			reduce(30), /* subgraph, reduce: AttrList */
  1820  			nil,        /* : */
  1821  			reduce(30), /* id, reduce: AttrList */
  1822  		},
  1823  	},
  1824  	actionRow{ // S72
  1825  		canRecover: false,
  1826  		actions: [numSymbols]action{
  1827  			nil,        /* INVALID */
  1828  			nil,        /* $ */
  1829  			nil,        /* { */
  1830  			nil,        /* } */
  1831  			nil,        /* empty */
  1832  			nil,        /* strict */
  1833  			nil,        /* graphx */
  1834  			nil,        /* digraph */
  1835  			shift(68),  /* ; */
  1836  			nil,        /* -- */
  1837  			nil,        /* -> */
  1838  			nil,        /* node */
  1839  			nil,        /* edge */
  1840  			nil,        /* [ */
  1841  			reduce(38), /* ], reduce: OptSep */
  1842  			shift(70),  /* , */
  1843  			nil,        /* = */
  1844  			nil,        /* subgraph */
  1845  			nil,        /* : */
  1846  			reduce(38), /* id, reduce: OptSep */
  1847  		},
  1848  	},
  1849  	actionRow{ // S73
  1850  		canRecover: false,
  1851  		actions: [numSymbols]action{
  1852  			nil,       /* INVALID */
  1853  			nil,       /* $ */
  1854  			nil,       /* { */
  1855  			nil,       /* } */
  1856  			nil,       /* empty */
  1857  			nil,       /* strict */
  1858  			nil,       /* graphx */
  1859  			nil,       /* digraph */
  1860  			nil,       /* ; */
  1861  			nil,       /* -- */
  1862  			nil,       /* -> */
  1863  			nil,       /* node */
  1864  			nil,       /* edge */
  1865  			nil,       /* [ */
  1866  			nil,       /* ] */
  1867  			nil,       /* , */
  1868  			nil,       /* = */
  1869  			nil,       /* subgraph */
  1870  			nil,       /* : */
  1871  			shift(82), /* id */
  1872  		},
  1873  	},
  1874  	actionRow{ // S74
  1875  		canRecover: false,
  1876  		actions: [numSymbols]action{
  1877  			nil,        /* INVALID */
  1878  			nil,        /* $ */
  1879  			reduce(25), /* {, reduce: OptEdge */
  1880  			reduce(25), /* }, reduce: OptEdge */
  1881  			nil,        /* empty */
  1882  			nil,        /* strict */
  1883  			reduce(25), /* graphx, reduce: OptEdge */
  1884  			nil,        /* digraph */
  1885  			reduce(25), /* ;, reduce: OptEdge */
  1886  			nil,        /* -- */
  1887  			nil,        /* -> */
  1888  			reduce(25), /* node, reduce: OptEdge */
  1889  			reduce(25), /* edge, reduce: OptEdge */
  1890  			reduce(25), /* [, reduce: OptEdge */
  1891  			nil,        /* ] */
  1892  			nil,        /* , */
  1893  			nil,        /* = */
  1894  			reduce(25), /* subgraph, reduce: OptEdge */
  1895  			nil,        /* : */
  1896  			reduce(25), /* id, reduce: OptEdge */
  1897  		},
  1898  	},
  1899  	actionRow{ // S75
  1900  		canRecover: false,
  1901  		actions: [numSymbols]action{
  1902  			nil,        /* INVALID */
  1903  			nil,        /* $ */
  1904  			reduce(21), /* {, reduce: Edge */
  1905  			reduce(21), /* }, reduce: Edge */
  1906  			nil,        /* empty */
  1907  			nil,        /* strict */
  1908  			reduce(21), /* graphx, reduce: Edge */
  1909  			nil,        /* digraph */
  1910  			reduce(21), /* ;, reduce: Edge */
  1911  			nil,        /* -- */
  1912  			nil,        /* -> */
  1913  			reduce(21), /* node, reduce: Edge */
  1914  			reduce(21), /* edge, reduce: Edge */
  1915  			reduce(21), /* [, reduce: Edge */
  1916  			nil,        /* ] */
  1917  			nil,        /* , */
  1918  			nil,        /* = */
  1919  			reduce(21), /* subgraph, reduce: Edge */
  1920  			nil,        /* : */
  1921  			reduce(21), /* id, reduce: Edge */
  1922  		},
  1923  	},
  1924  	actionRow{ // S76
  1925  		canRecover: false,
  1926  		actions: [numSymbols]action{
  1927  			nil,        /* INVALID */
  1928  			nil,        /* $ */
  1929  			reduce(43), /* {, reduce: OptSubgraphID */
  1930  			reduce(10), /* }, reduce: OptStmtList */
  1931  			nil,        /* empty */
  1932  			nil,        /* strict */
  1933  			shift(14),  /* graphx */
  1934  			nil,        /* digraph */
  1935  			nil,        /* ; */
  1936  			nil,        /* -- */
  1937  			nil,        /* -> */
  1938  			shift(25),  /* node */
  1939  			shift(26),  /* edge */
  1940  			nil,        /* [ */
  1941  			nil,        /* ] */
  1942  			nil,        /* , */
  1943  			nil,        /* = */
  1944  			shift(29),  /* subgraph */
  1945  			nil,        /* : */
  1946  			shift(30),  /* id */
  1947  		},
  1948  	},
  1949  	actionRow{ // S77
  1950  		canRecover: false,
  1951  		actions: [numSymbols]action{
  1952  			nil,       /* INVALID */
  1953  			nil,       /* $ */
  1954  			nil,       /* { */
  1955  			nil,       /* } */
  1956  			nil,       /* empty */
  1957  			nil,       /* strict */
  1958  			nil,       /* graphx */
  1959  			nil,       /* digraph */
  1960  			nil,       /* ; */
  1961  			nil,       /* -- */
  1962  			nil,       /* -> */
  1963  			nil,       /* node */
  1964  			nil,       /* edge */
  1965  			nil,       /* [ */
  1966  			nil,       /* ] */
  1967  			nil,       /* , */
  1968  			nil,       /* = */
  1969  			nil,       /* subgraph */
  1970  			nil,       /* : */
  1971  			shift(85), /* id */
  1972  		},
  1973  	},
  1974  	actionRow{ // S78
  1975  		canRecover: false,
  1976  		actions: [numSymbols]action{
  1977  			nil,        /* INVALID */
  1978  			nil,        /* $ */
  1979  			reduce(42), /* {, reduce: Subgraph */
  1980  			reduce(42), /* }, reduce: Subgraph */
  1981  			nil,        /* empty */
  1982  			nil,        /* strict */
  1983  			reduce(42), /* graphx, reduce: Subgraph */
  1984  			nil,        /* digraph */
  1985  			reduce(42), /* ;, reduce: Subgraph */
  1986  			reduce(42), /* --, reduce: Subgraph */
  1987  			reduce(42), /* ->, reduce: Subgraph */
  1988  			reduce(42), /* node, reduce: Subgraph */
  1989  			reduce(42), /* edge, reduce: Subgraph */
  1990  			nil,        /* [ */
  1991  			nil,        /* ] */
  1992  			nil,        /* , */
  1993  			nil,        /* = */
  1994  			reduce(42), /* subgraph, reduce: Subgraph */
  1995  			nil,        /* : */
  1996  			reduce(42), /* id, reduce: Subgraph */
  1997  		},
  1998  	},
  1999  	actionRow{ // S79
  2000  		canRecover: false,
  2001  		actions: [numSymbols]action{
  2002  			nil,        /* INVALID */
  2003  			nil,        /* $ */
  2004  			reduce(31), /* {, reduce: AttrList */
  2005  			reduce(31), /* }, reduce: AttrList */
  2006  			nil,        /* empty */
  2007  			nil,        /* strict */
  2008  			reduce(31), /* graphx, reduce: AttrList */
  2009  			nil,        /* digraph */
  2010  			reduce(31), /* ;, reduce: AttrList */
  2011  			nil,        /* -- */
  2012  			nil,        /* -> */
  2013  			reduce(31), /* node, reduce: AttrList */
  2014  			reduce(31), /* edge, reduce: AttrList */
  2015  			reduce(31), /* [, reduce: AttrList */
  2016  			nil,        /* ] */
  2017  			nil,        /* , */
  2018  			nil,        /* = */
  2019  			reduce(31), /* subgraph, reduce: AttrList */
  2020  			nil,        /* : */
  2021  			reduce(31), /* id, reduce: AttrList */
  2022  		},
  2023  	},
  2024  	actionRow{ // S80
  2025  		canRecover: false,
  2026  		actions: [numSymbols]action{
  2027  			nil,        /* INVALID */
  2028  			nil,        /* $ */
  2029  			nil,        /* { */
  2030  			nil,        /* } */
  2031  			nil,        /* empty */
  2032  			nil,        /* strict */
  2033  			nil,        /* graphx */
  2034  			nil,        /* digraph */
  2035  			nil,        /* ; */
  2036  			nil,        /* -- */
  2037  			nil,        /* -> */
  2038  			nil,        /* node */
  2039  			nil,        /* edge */
  2040  			nil,        /* [ */
  2041  			reduce(35), /* ], reduce: AList */
  2042  			nil,        /* , */
  2043  			nil,        /* = */
  2044  			nil,        /* subgraph */
  2045  			nil,        /* : */
  2046  			reduce(35), /* id, reduce: AList */
  2047  		},
  2048  	},
  2049  	actionRow{ // S81
  2050  		canRecover: false,
  2051  		actions: [numSymbols]action{
  2052  			nil,        /* INVALID */
  2053  			nil,        /* $ */
  2054  			nil,        /* { */
  2055  			nil,        /* } */
  2056  			nil,        /* empty */
  2057  			nil,        /* strict */
  2058  			nil,        /* graphx */
  2059  			nil,        /* digraph */
  2060  			reduce(41), /* ;, reduce: Attr */
  2061  			nil,        /* -- */
  2062  			nil,        /* -> */
  2063  			nil,        /* node */
  2064  			nil,        /* edge */
  2065  			nil,        /* [ */
  2066  			reduce(41), /* ], reduce: Attr */
  2067  			reduce(41), /* ,, reduce: Attr */
  2068  			nil,        /* = */
  2069  			nil,        /* subgraph */
  2070  			nil,        /* : */
  2071  			reduce(41), /* id, reduce: Attr */
  2072  		},
  2073  	},
  2074  	actionRow{ // S82
  2075  		canRecover: false,
  2076  		actions: [numSymbols]action{
  2077  			nil,        /* INVALID */
  2078  			nil,        /* $ */
  2079  			nil,        /* { */
  2080  			nil,        /* } */
  2081  			nil,        /* empty */
  2082  			nil,        /* strict */
  2083  			nil,        /* graphx */
  2084  			nil,        /* digraph */
  2085  			reduce(52), /* ;, reduce: ID */
  2086  			nil,        /* -- */
  2087  			nil,        /* -> */
  2088  			nil,        /* node */
  2089  			nil,        /* edge */
  2090  			nil,        /* [ */
  2091  			reduce(52), /* ], reduce: ID */
  2092  			reduce(52), /* ,, reduce: ID */
  2093  			nil,        /* = */
  2094  			nil,        /* subgraph */
  2095  			nil,        /* : */
  2096  			reduce(52), /* id, reduce: ID */
  2097  		},
  2098  	},
  2099  	actionRow{ // S83
  2100  		canRecover: false,
  2101  		actions: [numSymbols]action{
  2102  			nil,       /* INVALID */
  2103  			nil,       /* $ */
  2104  			nil,       /* { */
  2105  			shift(86), /* } */
  2106  			nil,       /* empty */
  2107  			nil,       /* strict */
  2108  			nil,       /* graphx */
  2109  			nil,       /* digraph */
  2110  			nil,       /* ; */
  2111  			nil,       /* -- */
  2112  			nil,       /* -> */
  2113  			nil,       /* node */
  2114  			nil,       /* edge */
  2115  			nil,       /* [ */
  2116  			nil,       /* ] */
  2117  			nil,       /* , */
  2118  			nil,       /* = */
  2119  			nil,       /* subgraph */
  2120  			nil,       /* : */
  2121  			nil,       /* id */
  2122  		},
  2123  	},
  2124  	actionRow{ // S84
  2125  		canRecover: false,
  2126  		actions: [numSymbols]action{
  2127  			nil,        /* INVALID */
  2128  			nil,        /* $ */
  2129  			reduce(49), /* {, reduce: Port */
  2130  			reduce(49), /* }, reduce: Port */
  2131  			nil,        /* empty */
  2132  			nil,        /* strict */
  2133  			reduce(49), /* graphx, reduce: Port */
  2134  			nil,        /* digraph */
  2135  			reduce(49), /* ;, reduce: Port */
  2136  			reduce(49), /* --, reduce: Port */
  2137  			reduce(49), /* ->, reduce: Port */
  2138  			reduce(49), /* node, reduce: Port */
  2139  			reduce(49), /* edge, reduce: Port */
  2140  			reduce(49), /* [, reduce: Port */
  2141  			nil,        /* ] */
  2142  			nil,        /* , */
  2143  			nil,        /* = */
  2144  			reduce(49), /* subgraph, reduce: Port */
  2145  			nil,        /* : */
  2146  			reduce(49), /* id, reduce: Port */
  2147  		},
  2148  	},
  2149  	actionRow{ // S85
  2150  		canRecover: false,
  2151  		actions: [numSymbols]action{
  2152  			nil,        /* INVALID */
  2153  			nil,        /* $ */
  2154  			reduce(52), /* {, reduce: ID */
  2155  			reduce(52), /* }, reduce: ID */
  2156  			nil,        /* empty */
  2157  			nil,        /* strict */
  2158  			reduce(52), /* graphx, reduce: ID */
  2159  			nil,        /* digraph */
  2160  			reduce(52), /* ;, reduce: ID */
  2161  			reduce(52), /* --, reduce: ID */
  2162  			reduce(52), /* ->, reduce: ID */
  2163  			reduce(52), /* node, reduce: ID */
  2164  			reduce(52), /* edge, reduce: ID */
  2165  			reduce(52), /* [, reduce: ID */
  2166  			nil,        /* ] */
  2167  			nil,        /* , */
  2168  			nil,        /* = */
  2169  			reduce(52), /* subgraph, reduce: ID */
  2170  			nil,        /* : */
  2171  			reduce(52), /* id, reduce: ID */
  2172  		},
  2173  	},
  2174  	actionRow{ // S86
  2175  		canRecover: false,
  2176  		actions: [numSymbols]action{
  2177  			nil,        /* INVALID */
  2178  			nil,        /* $ */
  2179  			reduce(42), /* {, reduce: Subgraph */
  2180  			reduce(42), /* }, reduce: Subgraph */
  2181  			nil,        /* empty */
  2182  			nil,        /* strict */
  2183  			reduce(42), /* graphx, reduce: Subgraph */
  2184  			nil,        /* digraph */
  2185  			reduce(42), /* ;, reduce: Subgraph */
  2186  			reduce(42), /* --, reduce: Subgraph */
  2187  			reduce(42), /* ->, reduce: Subgraph */
  2188  			reduce(42), /* node, reduce: Subgraph */
  2189  			reduce(42), /* edge, reduce: Subgraph */
  2190  			reduce(42), /* [, reduce: Subgraph */
  2191  			nil,        /* ] */
  2192  			nil,        /* , */
  2193  			nil,        /* = */
  2194  			reduce(42), /* subgraph, reduce: Subgraph */
  2195  			nil,        /* : */
  2196  			reduce(42), /* id, reduce: Subgraph */
  2197  		},
  2198  	},
  2199  }