State 0:
          document ::= * statement_list
          statement_list ::= * statement
          statement_list ::= * statement_list EOL statement
      (3) statement ::= *
          statement ::= * direction
          statement ::= * lvalue ASSIGN rvalue
          statement ::= * PLACENAME COLON unnamed_statement
          statement ::= * PLACENAME COLON position
          statement ::= * unnamed_statement
          statement ::= * print prlist
          statement ::= * ASSERT LP expr EQ expr RP
          statement ::= * ASSERT LP position EQ position RP
          statement ::= * DEFINE ID CODEBLOCK
          lvalue ::= * ID
          lvalue ::= * FILL
          lvalue ::= * COLOR
          lvalue ::= * THICKNESS
          print ::= * PRINT
          unnamed_statement ::= * basetype attribute_list
          basetype ::= * CLASSNAME
          basetype ::= * STRING textposition
          basetype ::= * LB savelist statement_list RB
          direction ::= * UP
          direction ::= * DOWN
          direction ::= * LEFT
          direction ::= * RIGHT

                            ID shift-reduce 116    lvalue ::= ID
                     PLACENAME shift        133    
                        ASSERT shift        126    
                        DEFINE shift        123    
                          FILL shift-reduce 117    lvalue ::= FILL
                         COLOR shift-reduce 118    lvalue ::= COLOR
                     THICKNESS shift-reduce 119    lvalue ::= THICKNESS
                         PRINT shift-reduce 121    print ::= PRINT
                        STRING shift        80     
                     CLASSNAME shift-reduce 21     basetype ::= CLASSNAME
                            LB shift        79     
                            UP shift-reduce 124    direction ::= UP
                          DOWN shift-reduce 125    direction ::= DOWN
                          LEFT shift-reduce 126    direction ::= LEFT
                         RIGHT shift-reduce 127    direction ::= RIGHT
                statement_list shift        121    
                     statement shift-reduce 1      statement_list ::= statement
             unnamed_statement shift-reduce 8      statement ::= unnamed_statement
                      basetype shift        29     
                     direction shift-reduce 4      statement ::= direction
                        lvalue shift        163    
                      document accept
                         print shift        27     
                     {default} reduce       3      statement ::=

State 1:
          statement ::= PLACENAME COLON * unnamed_statement
          statement ::= PLACENAME COLON * position
          unnamed_statement ::= * basetype attribute_list
          basetype ::= * CLASSNAME
          basetype ::= * STRING textposition
          basetype ::= * LB savelist statement_list RB
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                        STRING shift        80     
                     CLASSNAME shift-reduce 21     basetype ::= CLASSNAME
                            LB shift        79     
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
             unnamed_statement shift-reduce 6      statement ::= PLACENAME COLON unnamed_statement
                      basetype shift        29     
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 7      statement ::= PLACENAME COLON position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 2:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= LP * position COMMA position RP
          position ::= * LP position RP
          position ::= LP * position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= LP * expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= LP * FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          FILL shift        156    
                         COLOR shift        156    
                     THICKNESS shift        156    
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        73     
                          edge shift        148    
                      position shift        112    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 3:
          statement ::= ASSERT LP position EQ * position RP
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        124    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 4:
          statement ::= ASSERT LP * expr EQ expr RP
          statement ::= ASSERT LP * position EQ position RP
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        72     
                          edge shift        148    
                      position shift        125    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 5:
          withclause ::= edge AT * position
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 51     withclause ::= edge AT position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 6:
          withclause ::= DOT_E edge AT * position
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 50     withclause ::= DOT_E edge AT position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 7:
          attribute ::= AT * position
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 44     attribute ::= AT position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 8:
          attribute ::= TO * position
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 38     attribute ::= TO position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 9:
          attribute ::= FROM * position
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 37     attribute ::= FROM position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 10:
          attribute ::= go direction even * position
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 34     attribute ::= go direction even position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 11:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= DIST LP position COMMA * position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        134    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 12:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= expr between position AND * position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 71     position ::= expr between position AND position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 13:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= LP position COMMA * position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        137    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 14:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= expr EDGEPT OF * position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 79     position ::= expr EDGEPT OF position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 15:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          position ::= expr HEADING expr FROM * position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 81     position ::= expr HEADING expr FROM position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 16:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= expr HEADING EDGEPT OF * position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 78     position ::= expr HEADING EDGEPT OF position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 17:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= expr ON HEADING expr FROM * position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 80     position ::= expr ON HEADING expr FROM position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 18:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= expr ON HEADING EDGEPT OF * position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 77     position ::= expr ON HEADING EDGEPT OF position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 19:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= expr RIGHT OF * position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 76     position ::= expr RIGHT OF position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 20:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= expr LEFT OF * position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 75     position ::= expr LEFT OF position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 21:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= expr BELOW * position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 74     position ::= expr BELOW position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 22:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= expr ABOVE * position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift-reduce 73     position ::= expr ABOVE position
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 23:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= expr LT position COMMA * position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        150    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 24:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= expr LT * position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        151    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 25:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= expr between * position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        136    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 26:
          position ::= * expr COMMA expr
          position ::= * place
          position ::= * place PLUS expr COMMA expr
          position ::= * place MINUS expr COMMA expr
          position ::= * place PLUS LP expr COMMA expr RP
          position ::= * place MINUS LP expr COMMA expr RP
          position ::= * LP position COMMA position RP
          position ::= * LP position RP
          position ::= * expr between position AND position
          position ::= * expr LT position COMMA position GT
          position ::= * expr ABOVE position
          position ::= * expr BELOW position
          position ::= * expr LEFT OF position
          position ::= * expr RIGHT OF position
          position ::= * expr ON HEADING EDGEPT OF position
          position ::= * expr HEADING EDGEPT OF position
          position ::= * expr EDGEPT OF position
          position ::= * expr ON HEADING expr FROM position
          position ::= * expr HEADING expr FROM position
          place ::= * place2
          place ::= * edge OF object
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= DIST LP * position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        2      
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           NTH shift        106    
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        74     
                          edge shift        148    
                      position shift        135    
                         place shift        113    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        149    

State 27:
          statement ::= print * prlist
          rvalue ::= * expr
          rvalue ::= * PLACENAME
          prlist ::= * pritem
          prlist ::= * prlist prsep pritem
          pritem ::= * FILL
          pritem ::= * COLOR
          pritem ::= * THICKNESS
          pritem ::= * rvalue
          pritem ::= * STRING
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift        102    
                            LP shift        42     
                          FILL shift-reduce 14     pritem ::= FILL
                         COLOR shift-reduce 15     pritem ::= COLOR
                     THICKNESS shift-reduce 16     pritem ::= THICKNESS
                        STRING shift-reduce 18     pritem ::= STRING
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        107    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        rvalue shift-reduce 17     pritem ::= rvalue
                        prlist shift        78     
                        pritem shift        78       /* because pritem==prlist */
                        place2 shift        152    

State 28:
          relexpr ::= * expr
          relexpr ::= * expr PERCENT
          optrelexpr ::= * relexpr
     (27) optrelexpr ::= *
          attribute ::= go direction * optrelexpr
          attribute ::= go direction * even position
          even ::= * UNTIL EVEN WITH
          even ::= * EVEN WITH
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                         UNTIL shift        132    
                          EVEN shift        130    
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        88     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                          even shift        10     
                       relexpr shift-reduce 33     attribute ::= go direction optrelexpr  /* because relexpr==optrelexpr */
                    optrelexpr shift-reduce 33     attribute ::= go direction optrelexpr
                        place2 shift        152    
                     {default} reduce       27     optrelexpr ::=

State 29:
          unnamed_statement ::= basetype * attribute_list
          relexpr ::= * expr
          relexpr ::= * expr PERCENT
          attribute_list ::= * relexpr alist
          attribute_list ::= * alist
    (130) alist ::= *
          alist ::= * alist attribute
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        88     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                       relexpr shift        82     
                attribute_list shift-reduce 20     unnamed_statement ::= basetype attribute_list
                         alist shift        34     
                        place2 shift        152    
                     {default} reduce       130    alist ::=

State 30:
          rvalue ::= * expr
          rvalue ::= * PLACENAME
          prlist ::= prlist prsep * pritem
          pritem ::= * FILL
          pritem ::= * COLOR
          pritem ::= * THICKNESS
          pritem ::= * rvalue
          pritem ::= * STRING
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift        102    
                            LP shift        42     
                          FILL shift-reduce 14     pritem ::= FILL
                         COLOR shift-reduce 15     pritem ::= COLOR
                     THICKNESS shift-reduce 16     pritem ::= THICKNESS
                        STRING shift-reduce 18     pritem ::= STRING
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        107    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        rvalue shift-reduce 17     pritem ::= rvalue
                        pritem shift-reduce 123    prlist ::= prlist prsep pritem
                        place2 shift        152    

State 31:
          statement_list ::= * statement
          statement_list ::= * statement_list EOL statement
      (3) statement ::= *
          statement ::= * direction
          statement ::= * lvalue ASSIGN rvalue
          statement ::= * PLACENAME COLON unnamed_statement
          statement ::= * PLACENAME COLON position
          statement ::= * unnamed_statement
          statement ::= * print prlist
          statement ::= * ASSERT LP expr EQ expr RP
          statement ::= * ASSERT LP position EQ position RP
          statement ::= * DEFINE ID CODEBLOCK
          lvalue ::= * ID
          lvalue ::= * FILL
          lvalue ::= * COLOR
          lvalue ::= * THICKNESS
          print ::= * PRINT
          unnamed_statement ::= * basetype attribute_list
          basetype ::= * CLASSNAME
          basetype ::= * STRING textposition
          basetype ::= * LB savelist statement_list RB
          basetype ::= LB savelist * statement_list RB
          direction ::= * UP
          direction ::= * DOWN
          direction ::= * LEFT
          direction ::= * RIGHT

                            ID shift-reduce 116    lvalue ::= ID
                     PLACENAME shift        133    
                        ASSERT shift        126    
                        DEFINE shift        123    
                          FILL shift-reduce 117    lvalue ::= FILL
                         COLOR shift-reduce 118    lvalue ::= COLOR
                     THICKNESS shift-reduce 119    lvalue ::= THICKNESS
                         PRINT shift-reduce 121    print ::= PRINT
                        STRING shift        80     
                     CLASSNAME shift-reduce 21     basetype ::= CLASSNAME
                            LB shift        79     
                            UP shift-reduce 124    direction ::= UP
                          DOWN shift-reduce 125    direction ::= DOWN
                          LEFT shift-reduce 126    direction ::= LEFT
                         RIGHT shift-reduce 127    direction ::= RIGHT
                statement_list shift        109    
                     statement shift-reduce 1      statement_list ::= statement
             unnamed_statement shift-reduce 8      statement ::= unnamed_statement
                      basetype shift        29     
                     direction shift-reduce 4      statement ::= direction
                        lvalue shift        163    
                         print shift        27     
                     {default} reduce       3      statement ::=

State 32:
          relexpr ::= * expr
          relexpr ::= * expr PERCENT
          optrelexpr ::= * relexpr
     (27) optrelexpr ::= *
          attribute ::= GO * optrelexpr HEADING expr
          attribute ::= GO * optrelexpr EDGEPT
    (134) go ::= GO *
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT reduce       27     optrelexpr ::=
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                       HEADING reduce       27     optrelexpr ::=
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        88     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                       relexpr shift        110      /* because relexpr==optrelexpr */
                    optrelexpr shift        110    
                        place2 shift        152    
                     {default} reduce       134    go ::= GO

State 33:
          relexpr ::= * expr
          relexpr ::= * expr PERCENT
          optrelexpr ::= * relexpr
     (27) optrelexpr ::= *
     (39) attribute ::= THEN *
          attribute ::= THEN * optrelexpr HEADING expr
          attribute ::= THEN * optrelexpr EDGEPT
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT reduce       27     optrelexpr ::=
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                       HEADING reduce       27     optrelexpr ::=
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        88     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                       relexpr shift        111      /* because relexpr==optrelexpr */
                    optrelexpr shift        111    
                        place2 shift        152    
                     {default} reduce       39     attribute ::= THEN

State 34:
    (129) attribute_list ::= alist *
          alist ::= alist * attribute
          attribute ::= * numproperty relexpr
          attribute ::= * dashproperty expr
          attribute ::= * dashproperty
          attribute ::= * colorproperty rvalue
          attribute ::= * go direction optrelexpr
          attribute ::= * go direction even position
          attribute ::= * CLOSE
          attribute ::= * CHOP
          attribute ::= * FROM position
          attribute ::= * TO position
          attribute ::= * THEN
          attribute ::= * THEN optrelexpr HEADING expr
          attribute ::= * THEN optrelexpr EDGEPT
          attribute ::= * GO optrelexpr HEADING expr
          attribute ::= * GO optrelexpr EDGEPT
          attribute ::= * boolproperty
          attribute ::= * AT position
          attribute ::= * WITH withclause
          attribute ::= * SAME
          attribute ::= * SAME AS object
          attribute ::= * STRING textposition
          attribute ::= * FIT
          attribute ::= * BEHIND object
          go ::= * GO
    (135) go ::= *
          numproperty ::= * HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
          dashproperty ::= * DOTTED
          dashproperty ::= * DASHED
          colorproperty ::= * FILL
          colorproperty ::= * COLOR
          boolproperty ::= * CW
          boolproperty ::= * CCW
          boolproperty ::= * LARROW
          boolproperty ::= * RARROW
          boolproperty ::= * LRARROW
          boolproperty ::= * INVIS
          boolproperty ::= * THICK
          boolproperty ::= * THIN
          boolproperty ::= * SOLID

                             $ reduce       129    attribute_list ::= alist
                           EOL reduce       129    attribute_list ::= alist
                          FILL shift-reduce 140    colorproperty ::= FILL
                         COLOR shift-reduce 141    colorproperty ::= COLOR
                     THICKNESS shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        STRING shift        81     
                            RB reduce       129    attribute_list ::= alist
                         CLOSE shift-reduce 35     attribute ::= CLOSE
                          CHOP shift-reduce 36     attribute ::= CHOP
                          FROM shift        9      
                            TO shift        8      
                          THEN shift        33     
                            GO shift        32     
                            AT shift        7      
                          WITH shift        71     
                          SAME shift        127    
                           FIT shift-reduce 48     attribute ::= FIT
                        BEHIND shift        66     
                        HEIGHT shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                         WIDTH shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        RADIUS shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                      DIAMETER shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        DOTTED shift-reduce 138    dashproperty ::= DOTTED
                        DASHED shift-reduce 139    dashproperty ::= DASHED
                            CW shift-reduce 53     boolproperty ::= CW
                           CCW shift-reduce 54     boolproperty ::= CCW
                        LARROW shift-reduce 55     boolproperty ::= LARROW
                        RARROW shift-reduce 56     boolproperty ::= RARROW
                       LRARROW shift-reduce 57     boolproperty ::= LRARROW
                         INVIS shift-reduce 58     boolproperty ::= INVIS
                         THICK shift-reduce 59     boolproperty ::= THICK
                          THIN shift-reduce 60     boolproperty ::= THIN
                         SOLID shift-reduce 61     boolproperty ::= SOLID
                   numproperty shift        38     
                  dashproperty shift        48     
                 colorproperty shift        37     
                     attribute shift-reduce 131    alist ::= alist attribute
                            go shift        77     
                  boolproperty shift-reduce 131    alist ::= alist attribute  /* because boolproperty==attribute */
                     {default} reduce       135    go ::=

State 35:
     (28) attribute_list ::= relexpr alist *
          alist ::= alist * attribute
          attribute ::= * numproperty relexpr
          attribute ::= * dashproperty expr
          attribute ::= * dashproperty
          attribute ::= * colorproperty rvalue
          attribute ::= * go direction optrelexpr
          attribute ::= * go direction even position
          attribute ::= * CLOSE
          attribute ::= * CHOP
          attribute ::= * FROM position
          attribute ::= * TO position
          attribute ::= * THEN
          attribute ::= * THEN optrelexpr HEADING expr
          attribute ::= * THEN optrelexpr EDGEPT
          attribute ::= * GO optrelexpr HEADING expr
          attribute ::= * GO optrelexpr EDGEPT
          attribute ::= * boolproperty
          attribute ::= * AT position
          attribute ::= * WITH withclause
          attribute ::= * SAME
          attribute ::= * SAME AS object
          attribute ::= * STRING textposition
          attribute ::= * FIT
          attribute ::= * BEHIND object
          go ::= * GO
    (135) go ::= *
          numproperty ::= * HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
          dashproperty ::= * DOTTED
          dashproperty ::= * DASHED
          colorproperty ::= * FILL
          colorproperty ::= * COLOR
          boolproperty ::= * CW
          boolproperty ::= * CCW
          boolproperty ::= * LARROW
          boolproperty ::= * RARROW
          boolproperty ::= * LRARROW
          boolproperty ::= * INVIS
          boolproperty ::= * THICK
          boolproperty ::= * THIN
          boolproperty ::= * SOLID

                             $ reduce       28     attribute_list ::= relexpr alist
                           EOL reduce       28     attribute_list ::= relexpr alist
                          FILL shift-reduce 140    colorproperty ::= FILL
                         COLOR shift-reduce 141    colorproperty ::= COLOR
                     THICKNESS shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        STRING shift        81     
                            RB reduce       28     attribute_list ::= relexpr alist
                         CLOSE shift-reduce 35     attribute ::= CLOSE
                          CHOP shift-reduce 36     attribute ::= CHOP
                          FROM shift        9      
                            TO shift        8      
                          THEN shift        33     
                            GO shift        32     
                            AT shift        7      
                          WITH shift        71     
                          SAME shift        127    
                           FIT shift-reduce 48     attribute ::= FIT
                        BEHIND shift        66     
                        HEIGHT shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                         WIDTH shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        RADIUS shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                      DIAMETER shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        DOTTED shift-reduce 138    dashproperty ::= DOTTED
                        DASHED shift-reduce 139    dashproperty ::= DASHED
                            CW shift-reduce 53     boolproperty ::= CW
                           CCW shift-reduce 54     boolproperty ::= CCW
                        LARROW shift-reduce 55     boolproperty ::= LARROW
                        RARROW shift-reduce 56     boolproperty ::= RARROW
                       LRARROW shift-reduce 57     boolproperty ::= LRARROW
                         INVIS shift-reduce 58     boolproperty ::= INVIS
                         THICK shift-reduce 59     boolproperty ::= THICK
                          THIN shift-reduce 60     boolproperty ::= THIN
                         SOLID shift-reduce 61     boolproperty ::= SOLID
                   numproperty shift        38     
                  dashproperty shift        48     
                 colorproperty shift        37     
                     attribute shift-reduce 131    alist ::= alist attribute
                            go shift        77     
                  boolproperty shift-reduce 131    alist ::= alist attribute  /* because boolproperty==attribute */
                     {default} reduce       135    go ::=

State 36:
          statement_list ::= statement_list EOL * statement
      (3) statement ::= *
          statement ::= * direction
          statement ::= * lvalue ASSIGN rvalue
          statement ::= * PLACENAME COLON unnamed_statement
          statement ::= * PLACENAME COLON position
          statement ::= * unnamed_statement
          statement ::= * print prlist
          statement ::= * ASSERT LP expr EQ expr RP
          statement ::= * ASSERT LP position EQ position RP
          statement ::= * DEFINE ID CODEBLOCK
          lvalue ::= * ID
          lvalue ::= * FILL
          lvalue ::= * COLOR
          lvalue ::= * THICKNESS
          print ::= * PRINT
          unnamed_statement ::= * basetype attribute_list
          basetype ::= * CLASSNAME
          basetype ::= * STRING textposition
          basetype ::= * LB savelist statement_list RB
          direction ::= * UP
          direction ::= * DOWN
          direction ::= * LEFT
          direction ::= * RIGHT

                            ID shift-reduce 116    lvalue ::= ID
                     PLACENAME shift        133    
                        ASSERT shift        126    
                        DEFINE shift        123    
                          FILL shift-reduce 117    lvalue ::= FILL
                         COLOR shift-reduce 118    lvalue ::= COLOR
                     THICKNESS shift-reduce 119    lvalue ::= THICKNESS
                         PRINT shift-reduce 121    print ::= PRINT
                        STRING shift        80     
                     CLASSNAME shift-reduce 21     basetype ::= CLASSNAME
                            LB shift        79     
                            UP shift-reduce 124    direction ::= UP
                          DOWN shift-reduce 125    direction ::= DOWN
                          LEFT shift-reduce 126    direction ::= LEFT
                         RIGHT shift-reduce 127    direction ::= RIGHT
                     statement shift-reduce 2      statement_list ::= statement_list EOL statement
             unnamed_statement shift-reduce 8      statement ::= unnamed_statement
                      basetype shift        29     
                     direction shift-reduce 4      statement ::= direction
                        lvalue shift        163    
                         print shift        27     
                     {default} reduce       3      statement ::=

State 37:
          rvalue ::= * expr
          rvalue ::= * PLACENAME
          attribute ::= colorproperty * rvalue
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift        102    
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        107    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        rvalue shift-reduce 32     attribute ::= colorproperty rvalue
                        place2 shift        152    

State 38:
          relexpr ::= * expr
          relexpr ::= * expr PERCENT
          attribute ::= numproperty * relexpr
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        88     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                       relexpr shift-reduce 29     attribute ::= numproperty relexpr
                        place2 shift        152    

State 39:
          statement ::= lvalue ASSIGN * rvalue
          rvalue ::= * expr
          rvalue ::= * PLACENAME
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift        102    
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        107    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        rvalue shift-reduce 5      statement ::= lvalue ASSIGN rvalue
                        place2 shift        152    

State 40:
          position ::= place MINUS LP * expr COMMA expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= LP * expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= LP * FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                          FILL shift        156    
                         COLOR shift        156    
                     THICKNESS shift        156    
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        85     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 41:
          position ::= place PLUS LP * expr COMMA expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= LP * expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= LP * FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                          FILL shift        156    
                         COLOR shift        156    
                     THICKNESS shift        156    
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        86     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 42:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= LP * expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= LP * FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                          FILL shift        156    
                         COLOR shift        156    
                     THICKNESS shift        156    
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        98     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 43:
          position ::= expr HEADING * EDGEPT OF position
          position ::= expr HEADING * expr FROM position
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift        143    
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        89     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 44:
          position ::= expr ON HEADING * EDGEPT OF position
          position ::= expr ON HEADING * expr FROM position
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                        EDGEPT shift        144    
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        90     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 45:
          statement ::= ASSERT LP expr EQ * expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        87     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 46:
          attribute ::= GO optrelexpr HEADING * expr
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        99     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 47:
          attribute ::= THEN optrelexpr HEADING * expr
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        100    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 48:
          attribute ::= dashproperty * expr
     (31) attribute ::= dashproperty *
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        101    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    
                     {default} reduce       31     attribute ::= dashproperty

State 49:
          position ::= place MINUS LP expr COMMA * expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        91     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 50:
          position ::= place MINUS expr COMMA * expr
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        103    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 51:
          position ::= place MINUS * expr COMMA expr
          position ::= place MINUS * LP expr COMMA expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        40     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        92     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 52:
          position ::= place PLUS LP expr COMMA * expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        93     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 53:
          position ::= place PLUS expr COMMA * expr
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        104    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 54:
          position ::= place PLUS * expr COMMA expr
          position ::= place PLUS * LP expr COMMA expr RP
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        41     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        94     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 55:
          position ::= expr COMMA * expr
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        105    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 56:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= FUNC2 LP expr COMMA * expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        95     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 57:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= FUNC2 LP * expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        96     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 58:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= FUNC1 LP * expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        97     
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 59:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= PLUS * expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift-reduce 103    expr ::= PLUS expr
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 60:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= MINUS * expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift-reduce 102    expr ::= MINUS expr
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 61:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= expr SLASH * expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift-reduce 101    expr ::= expr SLASH expr
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 62:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= expr STAR * expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift-reduce 100    expr ::= expr STAR expr
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 63:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= * expr MINUS expr
          expr ::= expr MINUS * expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        115    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 64:
          place2 ::= * object
          place2 ::= * object DOT_E edge
          place2 ::= * NTH VERTEX OF object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB
          expr ::= * expr PLUS expr
          expr ::= expr PLUS * expr
          expr ::= * expr MINUS expr
          expr ::= * expr STAR expr
          expr ::= * expr SLASH expr
          expr ::= * MINUS expr
          expr ::= * PLUS expr
          expr ::= * LP expr RP
          expr ::= * LP FILL|COLOR|THICKNESS RP
          expr ::= * NUMBER
          expr ::= * ID
          expr ::= * FUNC1 LP expr RP
          expr ::= * FUNC2 LP expr COMMA expr RP
          expr ::= * DIST LP position COMMA position RP
          expr ::= * place2 DOT_XY X
          expr ::= * place2 DOT_XY Y
          expr ::= * object DOT_L numproperty
          expr ::= * object DOT_L dashproperty
          expr ::= * object DOT_L colorproperty

                            ID shift-reduce 107    expr ::= ID
                          PLUS shift        59     
                         MINUS shift        60     
                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                            LP shift        42     
                           NTH shift        106    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        NUMBER shift-reduce 106    expr ::= NUMBER
                         FUNC1 shift        155    
                         FUNC2 shift        154    
                          DIST shift        153    
                          expr shift        116    
                        object shift        120    
                    objectname shift        161    
                           nth shift        119    
                        place2 shift        152    

State 65:
          numproperty ::= * HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
          dashproperty ::= * DOTTED
          dashproperty ::= * DASHED
          colorproperty ::= * FILL
          colorproperty ::= * COLOR
          expr ::= object DOT_L * numproperty
          expr ::= object DOT_L * dashproperty
          expr ::= object DOT_L * colorproperty

                          FILL shift-reduce 140    colorproperty ::= FILL
                         COLOR shift-reduce 141    colorproperty ::= COLOR
                     THICKNESS shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        HEIGHT shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                         WIDTH shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        RADIUS shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                      DIAMETER shift-reduce 52     numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS
                        DOTTED shift-reduce 138    dashproperty ::= DOTTED
                        DASHED shift-reduce 139    dashproperty ::= DASHED
                   numproperty shift-reduce 113    expr ::= object DOT_L numproperty
                  dashproperty shift-reduce 114    expr ::= object DOT_L dashproperty
                 colorproperty shift-reduce 115    expr ::= object DOT_L colorproperty

State 66:
          attribute ::= BEHIND * object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB

                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                           NTH shift        108    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        object shift-reduce 49     attribute ::= BEHIND object
                    objectname shift        161    
                           nth shift        119    

State 67:
          attribute ::= SAME AS * object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB

                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                           NTH shift        108    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        object shift-reduce 46     attribute ::= SAME AS object
                    objectname shift        161    
                           nth shift        119    

State 68:
          place ::= edge OF * object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB

                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                           NTH shift        108    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        object shift-reduce 82     place ::= edge OF object
                    objectname shift        161    
                           nth shift        119    

State 69:
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          object ::= nth OF|IN * object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB

                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                           NTH shift        108    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        object shift-reduce 87     object ::= nth OF|IN object
                    objectname shift        161    
                           nth shift        119    

State 70:
          place2 ::= NTH VERTEX OF * object
          object ::= * objectname
          object ::= * nth
          object ::= * nth OF|IN object
          objectname ::= * THIS
          objectname ::= * PLACENAME
          objectname ::= * objectname DOT_U PLACENAME
          nth ::= * NTH CLASSNAME
          nth ::= * NTH LAST CLASSNAME
          nth ::= * LAST CLASSNAME
          nth ::= * LAST
          nth ::= * NTH LB RB
          nth ::= * NTH LAST LB RB
          nth ::= * LAST LB RB

                     PLACENAME shift-reduce 89     objectname ::= PLACENAME
                           NTH shift        108    
                          THIS shift-reduce 88     objectname ::= THIS
                          LAST shift        117    
                        object shift-reduce 85     place2 ::= NTH VERTEX OF object
                    objectname shift        161    
                           nth shift        119    

State 71:
          attribute ::= WITH * withclause
          withclause ::= * DOT_E edge AT position
          withclause ::= * edge AT position
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT

                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                         DOT_E shift        75     
                        CENTER shift-reduce 147    edge ::= CENTER
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          edge shift        128    
                    withclause shift-reduce 133    attribute ::= WITH withclause

State 72:
          statement ::= ASSERT LP expr * EQ expr RP
          position ::= expr * COMMA expr
          position ::= expr * between position AND position
          position ::= expr * LT position COMMA position GT
          position ::= expr * ABOVE position
          position ::= expr * BELOW position
          position ::= expr * LEFT OF position
          position ::= expr * RIGHT OF position
          position ::= expr * ON HEADING EDGEPT OF position
          position ::= expr * HEADING EDGEPT OF position
          position ::= expr * EDGEPT OF position
          position ::= expr * ON HEADING expr FROM position
          position ::= expr * HEADING expr FROM position
          between ::= * WAY BETWEEN
          between ::= * BETWEEN
          between ::= * OF THE WAY BETWEEN
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                        EDGEPT shift        142    
                            OF shift        140    
                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            EQ shift        45     
                         COMMA shift        55     
                          LEFT shift        147    
                         RIGHT shift        146    
                       HEADING shift        43     
                         ABOVE shift        22     
                         BELOW shift        21     
                            LT shift        24     
                            ON shift        145    
                           WAY shift        141    
                       BETWEEN shift-reduce 144    between ::= BETWEEN
                       between shift        25     

State 73:
          position ::= expr * COMMA expr
          position ::= expr * between position AND position
          position ::= expr * LT position COMMA position GT
          position ::= expr * ABOVE position
          position ::= expr * BELOW position
          position ::= expr * LEFT OF position
          position ::= expr * RIGHT OF position
          position ::= expr * ON HEADING EDGEPT OF position
          position ::= expr * HEADING EDGEPT OF position
          position ::= expr * EDGEPT OF position
          position ::= expr * ON HEADING expr FROM position
          position ::= expr * HEADING expr FROM position
          between ::= * WAY BETWEEN
          between ::= * BETWEEN
          between ::= * OF THE WAY BETWEEN
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= LP expr * RP

                        EDGEPT shift        142    
                            OF shift        140    
                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 104    expr ::= LP expr RP
                         COMMA shift        55     
                          LEFT shift        147    
                         RIGHT shift        146    
                       HEADING shift        43     
                         ABOVE shift        22     
                         BELOW shift        21     
                            LT shift        24     
                            ON shift        145    
                           WAY shift        141    
                       BETWEEN shift-reduce 144    between ::= BETWEEN
                       between shift        25     

State 74:
          position ::= expr * COMMA expr
          position ::= expr * between position AND position
          position ::= expr * LT position COMMA position GT
          position ::= expr * ABOVE position
          position ::= expr * BELOW position
          position ::= expr * LEFT OF position
          position ::= expr * RIGHT OF position
          position ::= expr * ON HEADING EDGEPT OF position
          position ::= expr * HEADING EDGEPT OF position
          position ::= expr * EDGEPT OF position
          position ::= expr * ON HEADING expr FROM position
          position ::= expr * HEADING expr FROM position
          between ::= * WAY BETWEEN
          between ::= * BETWEEN
          between ::= * OF THE WAY BETWEEN
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                        EDGEPT shift        142    
                            OF shift        140    
                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                         COMMA shift        55     
                          LEFT shift        147    
                         RIGHT shift        146    
                       HEADING shift        43     
                         ABOVE shift        22     
                         BELOW shift        21     
                            LT shift        24     
                            ON shift        145    
                           WAY shift        141    
                       BETWEEN shift-reduce 144    between ::= BETWEEN
                       between shift        25     

State 75:
          withclause ::= DOT_E * edge AT position
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT

                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          edge shift        129    

State 76:
          place2 ::= object DOT_E * edge
          edge ::= * CENTER
          edge ::= * EDGEPT
          edge ::= * TOP
          edge ::= * BOTTOM
          edge ::= * START
          edge ::= * END
          edge ::= * RIGHT
          edge ::= * LEFT

                        EDGEPT shift-reduce 148    edge ::= EDGEPT
                          LEFT shift-reduce 154    edge ::= LEFT
                         RIGHT shift-reduce 153    edge ::= RIGHT
                        CENTER shift-reduce 147    edge ::= CENTER
                           TOP shift-reduce 149    edge ::= TOP
                        BOTTOM shift-reduce 150    edge ::= BOTTOM
                         START shift-reduce 151    edge ::= START
                           END shift-reduce 152    edge ::= END
                          edge shift-reduce 84     place2 ::= object DOT_E edge

State 77:
          direction ::= * UP
          direction ::= * DOWN
          direction ::= * LEFT
          direction ::= * RIGHT
          attribute ::= go * direction optrelexpr
          attribute ::= go * direction even position

                            UP shift-reduce 124    direction ::= UP
                          DOWN shift-reduce 125    direction ::= DOWN
                          LEFT shift-reduce 126    direction ::= LEFT
                         RIGHT shift-reduce 127    direction ::= RIGHT
                     direction shift        28     

State 78:
      (9) statement ::= print prlist *
          prlist ::= prlist * prsep pritem
          prsep ::= * COMMA

                         COMMA shift-reduce 19     prsep ::= COMMA
                         prsep shift        30     
                     {default} reduce       9      statement ::= print prlist

State 79:
          basetype ::= LB * savelist statement_list RB
     (24) savelist ::= *

                      savelist shift        31     
                     {default} reduce       24     savelist ::=

State 80:
          basetype ::= STRING * textposition
     (62) textposition ::= *
          textposition ::= * textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL

                  textposition shift        83     
                     {default} reduce       62     textposition ::=

State 81:
          attribute ::= STRING * textposition
     (62) textposition ::= *
          textposition ::= * textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL

                  textposition shift        84     
                     {default} reduce       62     textposition ::=

State 82:
          attribute_list ::= relexpr * alist
    (130) alist ::= *
          alist ::= * alist attribute

                         alist shift        35     
                     {default} reduce       130    alist ::=

State 83:
     (22) basetype ::= STRING textposition *
          textposition ::= textposition * CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL

                        CENTER shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         LJUST shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         RJUST shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         ABOVE shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         BELOW shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                        ITALIC shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                          BOLD shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                          MONO shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                       ALIGNED shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                           BIG shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         SMALL shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                     {default} reduce       22     basetype ::= STRING textposition

State 84:
     (47) attribute ::= STRING textposition *
          textposition ::= textposition * CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL

                        CENTER shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         LJUST shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         RJUST shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         ABOVE shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         BELOW shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                        ITALIC shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                          BOLD shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                          MONO shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                       ALIGNED shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                           BIG shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                         SMALL shift-reduce 63     textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL
                     {default} reduce       47     attribute ::= STRING textposition

State 85:
          position ::= place MINUS LP expr * COMMA expr RP
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= LP expr * RP

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 104    expr ::= LP expr RP
                         COMMA shift        49     

State 86:
          position ::= place PLUS LP expr * COMMA expr RP
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= LP expr * RP

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 104    expr ::= LP expr RP
                         COMMA shift        52     

State 87:
          statement ::= ASSERT LP expr EQ expr * RP
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 10     statement ::= ASSERT LP expr EQ expr RP

State 88:
     (25) relexpr ::= expr *
          relexpr ::= expr * PERCENT
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                       PERCENT shift-reduce 26     relexpr ::= expr PERCENT
                     {default} reduce       25     relexpr ::= expr

State 89:
          position ::= expr HEADING expr * FROM position
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                          FROM shift        15     

State 90:
          position ::= expr ON HEADING expr * FROM position
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                          FROM shift        17     

State 91:
          position ::= place MINUS LP expr COMMA expr * RP
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 68     position ::= place MINUS LP expr COMMA expr RP

State 92:
          position ::= place MINUS expr * COMMA expr
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                         COMMA shift        50     

State 93:
          position ::= place PLUS LP expr COMMA expr * RP
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 67     position ::= place PLUS LP expr COMMA expr RP

State 94:
          position ::= place PLUS expr * COMMA expr
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                         COMMA shift        53     

State 95:
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= FUNC2 LP expr COMMA expr * RP

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 109    expr ::= FUNC2 LP expr COMMA expr RP

State 96:
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= FUNC2 LP expr * COMMA expr RP

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                         COMMA shift        56     

State 97:
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= FUNC1 LP expr * RP

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 108    expr ::= FUNC1 LP expr RP

State 98:
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr
          expr ::= LP expr * RP

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                            RP shift-reduce 104    expr ::= LP expr RP

State 99:
     (42) attribute ::= GO optrelexpr HEADING expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       42     attribute ::= GO optrelexpr HEADING expr

State 100:
     (40) attribute ::= THEN optrelexpr HEADING expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       40     attribute ::= THEN optrelexpr HEADING expr

State 101:
     (30) attribute ::= dashproperty expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       30     attribute ::= dashproperty expr

State 102:
     (13) rvalue ::= PLACENAME *
     (89) objectname ::= PLACENAME *

                         DOT_E reduce       89     objectname ::= PLACENAME
                         DOT_U reduce       89     objectname ::= PLACENAME
                        DOT_XY reduce       89     objectname ::= PLACENAME
                         DOT_L reduce       89     objectname ::= PLACENAME
                     {default} reduce       13     rvalue ::= PLACENAME

State 103:
     (66) position ::= place MINUS expr COMMA expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       66     position ::= place MINUS expr COMMA expr

State 104:
     (65) position ::= place PLUS expr COMMA expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       65     position ::= place PLUS expr COMMA expr

State 105:
     (64) position ::= expr COMMA expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       64     position ::= expr COMMA expr

State 106:
          place2 ::= NTH * VERTEX OF object
          nth ::= NTH * CLASSNAME
          nth ::= NTH * LAST CLASSNAME
          nth ::= NTH * LB RB
          nth ::= NTH * LAST LB RB

                     CLASSNAME shift-reduce 91     nth ::= NTH CLASSNAME
                            LB shift        158    
                        VERTEX shift        162    
                          LAST shift        118    

State 107:
    (120) rvalue ::= expr *
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          PLUS shift        64     
                         MINUS shift        63     
                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       120    rvalue ::= expr

State 108:
          nth ::= NTH * CLASSNAME
          nth ::= NTH * LAST CLASSNAME
          nth ::= NTH * LB RB
          nth ::= NTH * LAST LB RB

                     CLASSNAME shift-reduce 91     nth ::= NTH CLASSNAME
                            LB shift        158    
                          LAST shift        118    

State 109:
          statement_list ::= statement_list * EOL statement
          basetype ::= LB savelist statement_list * RB

                           EOL shift        36     
                            RB shift-reduce 23     basetype ::= LB savelist statement_list RB

State 110:
          attribute ::= GO optrelexpr * HEADING expr
          attribute ::= GO optrelexpr * EDGEPT

                        EDGEPT shift-reduce 43     attribute ::= GO optrelexpr EDGEPT
                       HEADING shift        46     

State 111:
          attribute ::= THEN optrelexpr * HEADING expr
          attribute ::= THEN optrelexpr * EDGEPT

                        EDGEPT shift-reduce 41     attribute ::= THEN optrelexpr EDGEPT
                       HEADING shift        47     

State 112:
          position ::= LP position * COMMA position RP
          position ::= LP position * RP

                            RP shift-reduce 70     position ::= LP position RP
                         COMMA shift        13     

State 113:
    (142) position ::= place *
          position ::= place * PLUS expr COMMA expr
          position ::= place * MINUS expr COMMA expr
          position ::= place * PLUS LP expr COMMA expr RP
          position ::= place * MINUS LP expr COMMA expr RP

                          PLUS shift        54     
                         MINUS shift        51     
                     {default} reduce       142    position ::= place

State 114:
          expr ::= place2 DOT_XY * X
          expr ::= place2 DOT_XY * Y

                             X shift-reduce 111    expr ::= place2 DOT_XY X
                             Y shift-reduce 112    expr ::= place2 DOT_XY Y

State 115:
          expr ::= expr * PLUS expr
          expr ::= expr * MINUS expr
     (99) expr ::= expr MINUS expr *
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       99     expr ::= expr MINUS expr

State 116:
          expr ::= expr * PLUS expr
     (98) expr ::= expr PLUS expr *
          expr ::= expr * MINUS expr
          expr ::= expr * STAR expr
          expr ::= expr * SLASH expr

                          STAR shift        62     
                         SLASH shift        61     
                     {default} reduce       98     expr ::= expr PLUS expr

State 117:
          nth ::= LAST * CLASSNAME
     (94) nth ::= LAST *
          nth ::= LAST * LB RB

                     CLASSNAME shift-reduce 93     nth ::= LAST CLASSNAME
                            LB shift        157    
                     {default} reduce       94     nth ::= LAST

State 118:
          nth ::= NTH LAST * CLASSNAME
          nth ::= NTH LAST * LB RB

                     CLASSNAME shift-reduce 92     nth ::= NTH LAST CLASSNAME
                            LB shift        159    

State 119:
     (86) object ::= nth *
          object ::= nth * OF|IN object

                            OF shift        69     
                            IN shift        69     
                     {default} reduce       86     object ::= nth

State 120:
     (83) place2 ::= object *
          place2 ::= object * DOT_E edge
          expr ::= object * DOT_L numproperty
          expr ::= object * DOT_L dashproperty
          expr ::= object * DOT_L colorproperty

                         DOT_E shift        76     
                         DOT_L shift        65     
                     {default} reduce       83     place2 ::= object

State 121:
      (0) document ::= statement_list *
          statement_list ::= statement_list * EOL statement

                             $ reduce       0      document ::= statement_list
                           EOL shift        36     

State 122:
          statement ::= DEFINE ID * CODEBLOCK

                     CODEBLOCK shift-reduce 12     statement ::= DEFINE ID CODEBLOCK

State 123:
          statement ::= DEFINE * ID CODEBLOCK

                            ID shift        122    

State 124:
          statement ::= ASSERT LP position EQ position * RP

                            RP shift-reduce 11     statement ::= ASSERT LP position EQ position RP

State 125:
          statement ::= ASSERT LP position * EQ position RP

                            EQ shift        3      

State 126:
          statement ::= ASSERT * LP expr EQ expr RP
          statement ::= ASSERT * LP position EQ position RP

                            LP shift        4      

State 127:
     (45) attribute ::= SAME *
          attribute ::= SAME * AS object

                            AS shift        67     
                     {default} reduce       45     attribute ::= SAME

State 128:
          withclause ::= edge * AT position

                            AT shift        5      

State 129:
          withclause ::= DOT_E edge * AT position

                            AT shift        6      

State 130:
          even ::= EVEN * WITH

                          WITH shift-reduce 137    even ::= EVEN WITH

State 131:
          even ::= UNTIL EVEN * WITH

                          WITH shift-reduce 136    even ::= UNTIL EVEN WITH

State 132:
          even ::= UNTIL * EVEN WITH

                          EVEN shift        131    

State 133:
          statement ::= PLACENAME * COLON unnamed_statement
          statement ::= PLACENAME * COLON position

                         COLON shift        1      

State 134:
          expr ::= DIST LP position COMMA position * RP

                            RP shift-reduce 110    expr ::= DIST LP position COMMA position RP

State 135:
          expr ::= DIST LP position * COMMA position RP

                         COMMA shift        11     

State 136:
          position ::= expr between position * AND position

                           AND shift        12     

State 137:
          position ::= LP position COMMA position * RP

                            RP shift-reduce 69     position ::= LP position COMMA position RP

State 138:
          between ::= OF THE WAY * BETWEEN

                       BETWEEN shift-reduce 145    between ::= OF THE WAY BETWEEN

State 139:
          between ::= OF THE * WAY BETWEEN

                           WAY shift        138    

State 140:
          between ::= OF * THE WAY BETWEEN

                           THE shift        139    

State 141:
          between ::= WAY * BETWEEN

                       BETWEEN shift-reduce 143    between ::= WAY BETWEEN

State 142:
          position ::= expr EDGEPT * OF position

                            OF shift        14     

State 143:
          position ::= expr HEADING EDGEPT * OF position

                            OF shift        16     

State 144:
          position ::= expr ON HEADING EDGEPT * OF position

                            OF shift        18     

State 145:
          position ::= expr ON * HEADING EDGEPT OF position
          position ::= expr ON * HEADING expr FROM position

                       HEADING shift        44     

State 146:
          position ::= expr RIGHT * OF position

                            OF shift        19     

State 147:
          position ::= expr LEFT * OF position

                            OF shift        20     

State 148:
          place ::= edge * OF object

                            OF shift        68     

State 149:
    (146) place ::= place2 *
          expr ::= place2 * DOT_XY X
          expr ::= place2 * DOT_XY Y

                        DOT_XY shift        114    
                     {default} reduce       146    place ::= place2

State 150:
          position ::= expr LT position COMMA position * GT

                            GT shift-reduce 72     position ::= expr LT position COMMA position GT

State 151:
          position ::= expr LT position * COMMA position GT

                         COMMA shift        23     

State 152:
          expr ::= place2 * DOT_XY X
          expr ::= place2 * DOT_XY Y

                        DOT_XY shift        114    

State 153:
          expr ::= DIST * LP position COMMA position RP

                            LP shift        26     

State 154:
          expr ::= FUNC2 * LP expr COMMA expr RP

                            LP shift        57     

State 155:
          expr ::= FUNC1 * LP expr RP

                            LP shift        58     

State 156:
          expr ::= LP FILL|COLOR|THICKNESS * RP

                            RP shift-reduce 105    expr ::= LP FILL|COLOR|THICKNESS RP

State 157:
          nth ::= LAST LB * RB

                            RB shift-reduce 97     nth ::= LAST LB RB

State 158:
          nth ::= NTH LB * RB

                            RB shift-reduce 95     nth ::= NTH LB RB

State 159:
          nth ::= NTH LAST LB * RB

                            RB shift-reduce 96     nth ::= NTH LAST LB RB

State 160:
          objectname ::= objectname DOT_U * PLACENAME

                     PLACENAME shift-reduce 90     objectname ::= objectname DOT_U PLACENAME

State 161:
    (155) object ::= objectname *
          objectname ::= objectname * DOT_U PLACENAME

                         DOT_U shift        160    
                     {default} reduce       155    object ::= objectname

State 162:
          place2 ::= NTH VERTEX * OF object

                            OF shift        70     

State 163:
          statement ::= lvalue * ASSIGN rvalue

                        ASSIGN shift        39     

----------------------------------------------------
Symbols:
The first-set of non-terminals is shown after the name.

    0: $:
    1: ID
    2: EDGEPT
    3: OF (precedence=1)
    4: PLUS (precedence=2)
    5: MINUS (precedence=2)
    6: STAR (precedence=3)
    7: SLASH (precedence=3)
    8: PERCENT (precedence=3)
    9: UMINUS (precedence=4)
   10: EOL
   11: ASSIGN
   12: PLACENAME
   13: COLON
   14: ASSERT
   15: LP
   16: EQ
   17: RP
   18: DEFINE
   19: CODEBLOCK
   20: FILL
   21: COLOR
   22: THICKNESS
   23: PRINT
   24: STRING
   25: COMMA
   26: CLASSNAME
   27: LB
   28: RB
   29: UP
   30: DOWN
   31: LEFT
   32: RIGHT
   33: CLOSE
   34: CHOP
   35: FROM
   36: TO
   37: THEN
   38: HEADING
   39: GO
   40: AT
   41: WITH
   42: SAME
   43: AS
   44: FIT
   45: BEHIND
   46: UNTIL
   47: EVEN
   48: DOT_E
   49: HEIGHT
   50: WIDTH
   51: RADIUS
   52: DIAMETER
   53: DOTTED
   54: DASHED
   55: CW
   56: CCW
   57: LARROW
   58: RARROW
   59: LRARROW
   60: INVIS
   61: THICK
   62: THIN
   63: SOLID
   64: CENTER
   65: LJUST
   66: RJUST
   67: ABOVE
   68: BELOW
   69: ITALIC
   70: BOLD
   71: MONO
   72: ALIGNED
   73: BIG
   74: SMALL
   75: AND
   76: LT
   77: GT
   78: ON
   79: WAY
   80: BETWEEN
   81: THE
   82: NTH
   83: VERTEX
   84: TOP
   85: BOTTOM
   86: START
   87: END
   88: IN
   89: THIS
   90: DOT_U
   91: LAST
   92: NUMBER
   93: FUNC1
   94: FUNC2
   95: DIST
   96: DOT_XY
   97: X
   98: Y
   99: DOT_L
  100: statement_list: <lambda> ID EOL PLACENAME ASSERT DEFINE FILL COLOR THICKNESS PRINT STRING CLASSNAME LB UP DOWN LEFT RIGHT
  101: statement: <lambda> ID PLACENAME ASSERT DEFINE FILL COLOR THICKNESS PRINT STRING CLASSNAME LB UP DOWN LEFT RIGHT
  102: unnamed_statement: STRING CLASSNAME LB
  103: basetype: STRING CLASSNAME LB
  104: expr: ID PLUS MINUS PLACENAME LP NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  105: numproperty: THICKNESS HEIGHT WIDTH RADIUS DIAMETER
  106: edge: EDGEPT LEFT RIGHT CENTER TOP BOTTOM START END
  107: direction: UP DOWN LEFT RIGHT
  108: dashproperty: DOTTED DASHED
  109: colorproperty: FILL COLOR
  110: locproperty:
  111: position: ID EDGEPT PLUS MINUS PLACENAME LP LEFT RIGHT CENTER NTH TOP BOTTOM START END THIS LAST NUMBER FUNC1 FUNC2 DIST
  112: place: EDGEPT PLACENAME LEFT RIGHT CENTER NTH TOP BOTTOM START END THIS LAST
  113: object: PLACENAME NTH THIS LAST
  114: objectname: PLACENAME THIS
  115: nth: NTH LAST
  116: textposition: <lambda> CENTER LJUST RJUST ABOVE BELOW ITALIC BOLD MONO ALIGNED BIG SMALL
  117: rvalue: ID PLUS MINUS PLACENAME LP NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  118: lvalue: ID FILL COLOR THICKNESS
  119: even: UNTIL EVEN
  120: relexpr: ID PLUS MINUS PLACENAME LP NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  121: optrelexpr: <lambda> ID PLUS MINUS PLACENAME LP NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  122: document: <lambda> ID EOL PLACENAME ASSERT DEFINE FILL COLOR THICKNESS PRINT STRING CLASSNAME LB UP DOWN LEFT RIGHT
  123: print: PRINT
  124: prlist: ID PLUS MINUS PLACENAME LP FILL COLOR THICKNESS STRING NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  125: pritem: ID PLUS MINUS PLACENAME LP FILL COLOR THICKNESS STRING NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  126: prsep: COMMA
  127: attribute_list: <lambda> ID PLUS MINUS PLACENAME LP FILL COLOR THICKNESS STRING UP DOWN LEFT RIGHT CLOSE CHOP FROM TO THEN GO AT WITH SAME FIT BEHIND HEIGHT WIDTH RADIUS DIAMETER DOTTED DASHED CW CCW LARROW RARROW LRARROW INVIS THICK THIN SOLID NTH THIS LAST NUMBER FUNC1 FUNC2 DIST
  128: savelist: <lambda>
  129: alist: <lambda> FILL COLOR THICKNESS STRING UP DOWN LEFT RIGHT CLOSE CHOP FROM TO THEN GO AT WITH SAME FIT BEHIND HEIGHT WIDTH RADIUS DIAMETER DOTTED DASHED CW CCW LARROW RARROW LRARROW INVIS THICK THIN SOLID
  130: attribute: FILL COLOR THICKNESS STRING UP DOWN LEFT RIGHT CLOSE CHOP FROM TO THEN GO AT WITH SAME FIT BEHIND HEIGHT WIDTH RADIUS DIAMETER DOTTED DASHED CW CCW LARROW RARROW LRARROW INVIS THICK THIN SOLID
  131: go: <lambda> GO
  132: boolproperty: CW CCW LARROW RARROW LRARROW INVIS THICK THIN SOLID
  133: withclause: EDGEPT LEFT RIGHT DOT_E CENTER TOP BOTTOM START END
  134: between: OF WAY BETWEEN
  135: place2: PLACENAME NTH THIS LAST
----------------------------------------------------
Syntax-only Symbols:
The following symbols never carry semantic content.

$ OF PLUS MINUS STAR PERCENT UMINUS EOL COLON ASSERT LP RP DEFINE PRINT
COMMA CHOP WITH AS BEHIND UNTIL EVEN DOT_E HEIGHT WIDTH RADIUS DIAMETER CW
CCW LARROW RARROW LRARROW INVIS THICK THIN SOLID LJUST RJUST ABOVE BELOW
ITALIC BOLD MONO ALIGNED BIG SMALL AND LT GT ON WAY BETWEEN THE IN THIS
DOT_U DIST DOT_XY X Y DOT_L locproperty even document print prlist pritem
prsep attribute_list alist attribute go boolproperty withclause between
----------------------------------------------------
Rules:
   0: document ::= statement_list.
   1: statement_list ::= statement.
   2: statement_list ::= statement_list EOL statement.
   3: statement ::=.
   4: statement ::= direction.
   5: statement ::= lvalue ASSIGN rvalue.
   6: statement ::= PLACENAME COLON unnamed_statement.
   7: statement ::= PLACENAME COLON position.
   8: statement ::= unnamed_statement.
   9: statement ::= print prlist.
  10: statement ::= ASSERT LP expr EQ expr RP.
  11: statement ::= ASSERT LP position EQ position RP.
  12: statement ::= DEFINE ID CODEBLOCK.
  13: rvalue ::= PLACENAME.
  14: pritem ::= FILL.
  15: pritem ::= COLOR.
  16: pritem ::= THICKNESS.
  17: pritem ::= rvalue.
  18: pritem ::= STRING.
  19: prsep ::= COMMA.
  20: unnamed_statement ::= basetype attribute_list.
  21: basetype ::= CLASSNAME.
  22: basetype ::= STRING textposition.
  23: basetype ::= LB savelist statement_list RB.
  24: savelist ::=.
  25: relexpr ::= expr.
  26: relexpr ::= expr PERCENT. [PERCENT precedence=3]
  27: optrelexpr ::=.
  28: attribute_list ::= relexpr alist.
  29: attribute ::= numproperty relexpr.
  30: attribute ::= dashproperty expr.
  31: attribute ::= dashproperty.
  32: attribute ::= colorproperty rvalue.
  33: attribute ::= go direction optrelexpr.
  34: attribute ::= go direction even position.
  35: attribute ::= CLOSE.
  36: attribute ::= CHOP.
  37: attribute ::= FROM position.
  38: attribute ::= TO position.
  39: attribute ::= THEN.
  40: attribute ::= THEN optrelexpr HEADING expr.
  41: attribute ::= THEN optrelexpr EDGEPT.
  42: attribute ::= GO optrelexpr HEADING expr.
  43: attribute ::= GO optrelexpr EDGEPT.
  44: attribute ::= AT position.
  45: attribute ::= SAME.
  46: attribute ::= SAME AS object.
  47: attribute ::= STRING textposition.
  48: attribute ::= FIT.
  49: attribute ::= BEHIND object.
  50: withclause ::= DOT_E edge AT position.
  51: withclause ::= edge AT position.
  52: numproperty ::= HEIGHT|WIDTH|RADIUS|DIAMETER|THICKNESS.
  53: boolproperty ::= CW.
  54: boolproperty ::= CCW.
  55: boolproperty ::= LARROW.
  56: boolproperty ::= RARROW.
  57: boolproperty ::= LRARROW.
  58: boolproperty ::= INVIS.
  59: boolproperty ::= THICK.
  60: boolproperty ::= THIN.
  61: boolproperty ::= SOLID.
  62: textposition ::=.
  63: textposition ::= textposition CENTER|LJUST|RJUST|ABOVE|BELOW|ITALIC|BOLD|MONO|ALIGNED|BIG|SMALL.
  64: position ::= expr COMMA expr.
  65: position ::= place PLUS expr COMMA expr. [PLUS precedence=2]
  66: position ::= place MINUS expr COMMA expr. [MINUS precedence=2]
  67: position ::= place PLUS LP expr COMMA expr RP. [PLUS precedence=2]
  68: position ::= place MINUS LP expr COMMA expr RP. [MINUS precedence=2]
  69: position ::= LP position COMMA position RP.
  70: position ::= LP position RP.
  71: position ::= expr between position AND position.
  72: position ::= expr LT position COMMA position GT.
  73: position ::= expr ABOVE position.
  74: position ::= expr BELOW position.
  75: position ::= expr LEFT OF position. [OF precedence=1]
  76: position ::= expr RIGHT OF position. [OF precedence=1]
  77: position ::= expr ON HEADING EDGEPT OF position. [OF precedence=1]
  78: position ::= expr HEADING EDGEPT OF position. [OF precedence=1]
  79: position ::= expr EDGEPT OF position. [OF precedence=1]
  80: position ::= expr ON HEADING expr FROM position.
  81: position ::= expr HEADING expr FROM position.
  82: place ::= edge OF object. [OF precedence=1]
  83: place2 ::= object.
  84: place2 ::= object DOT_E edge.
  85: place2 ::= NTH VERTEX OF object. [OF precedence=1]
  86: object ::= nth.
  87: object ::= nth OF|IN object. [OF precedence=1]
  88: objectname ::= THIS.
  89: objectname ::= PLACENAME.
  90: objectname ::= objectname DOT_U PLACENAME.
  91: nth ::= NTH CLASSNAME.
  92: nth ::= NTH LAST CLASSNAME.
  93: nth ::= LAST CLASSNAME.
  94: nth ::= LAST.
  95: nth ::= NTH LB RB.
  96: nth ::= NTH LAST LB RB.
  97: nth ::= LAST LB RB.
  98: expr ::= expr PLUS expr. [PLUS precedence=2]
  99: expr ::= expr MINUS expr. [MINUS precedence=2]
 100: expr ::= expr STAR expr. [STAR precedence=3]
 101: expr ::= expr SLASH expr. [SLASH precedence=3]
 102: expr ::= MINUS expr. [UMINUS precedence=4]
 103: expr ::= PLUS expr. [UMINUS precedence=4]
 104: expr ::= LP expr RP.
 105: expr ::= LP FILL|COLOR|THICKNESS RP.
 106: expr ::= NUMBER.
 107: expr ::= ID.
 108: expr ::= FUNC1 LP expr RP.
 109: expr ::= FUNC2 LP expr COMMA expr RP.
 110: expr ::= DIST LP position COMMA position RP.
 111: expr ::= place2 DOT_XY X.
 112: expr ::= place2 DOT_XY Y.
 113: expr ::= object DOT_L numproperty.
 114: expr ::= object DOT_L dashproperty.
 115: expr ::= object DOT_L colorproperty.
 116: lvalue ::= ID.
 117: lvalue ::= FILL.
 118: lvalue ::= COLOR.
 119: lvalue ::= THICKNESS.
 120: rvalue ::= expr.
 121: print ::= PRINT.
 122: prlist ::= pritem.
 123: prlist ::= prlist prsep pritem.
 124: direction ::= UP.
 125: direction ::= DOWN.
 126: direction ::= LEFT.
 127: direction ::= RIGHT.
 128: optrelexpr ::= relexpr.
 129: attribute_list ::= alist.
 130: alist ::=.
 131: alist ::= alist attribute.
 132: attribute ::= boolproperty.
 133: attribute ::= WITH withclause.
 134: go ::= GO.
 135: go ::=.
 136: even ::= UNTIL EVEN WITH.
 137: even ::= EVEN WITH.
 138: dashproperty ::= DOTTED.
 139: dashproperty ::= DASHED.
 140: colorproperty ::= FILL.
 141: colorproperty ::= COLOR.
 142: position ::= place.
 143: between ::= WAY BETWEEN.
 144: between ::= BETWEEN.
 145: between ::= OF THE WAY BETWEEN. [OF precedence=1]
 146: place ::= place2.
 147: edge ::= CENTER.
 148: edge ::= EDGEPT.
 149: edge ::= TOP.
 150: edge ::= BOTTOM.
 151: edge ::= START.
 152: edge ::= END.
 153: edge ::= RIGHT.
 154: edge ::= LEFT.
 155: object ::= objectname.
