Parse Table:
Set 1:
  OPENTOKEN_ACCEPT_ID <= ^ COMPILATION_UNIT_ID EOF_ID

   IDENTIFIER_ID              => shift and goto state 2
   default                    => ERROR

   COMPILATION_UNIT_ID        goto state 3
   PARAMETER_SPECIFICATION_ID goto state 4

Set 2:
  PARAMETER_SPECIFICATION_ID <= IDENTIFIER_ID ^ MODE_ID NAME_ID, EOF_ID/IDENTIFIER_ID

   IDENTIFIER_ID              => reduce 0 tokens to MODE_ID
   IN_ID                      => shift and goto state 7
   default                    => ERROR

   MODE_ID                    goto state 8

Set 3:
  OPENTOKEN_ACCEPT_ID <= COMPILATION_UNIT_ID ^ EOF_ID

   EOF_ID                     => shift and goto state 6
   default                    => ERROR


Set 4:
  COMPILATION_UNIT_ID <= PARAMETER_SPECIFICATION_ID ^ PARAMETER_SPECIFICATION_ID, EOF_ID

   IDENTIFIER_ID              => shift and goto state 2
   default                    => ERROR

   PARAMETER_SPECIFICATION_ID goto state 5

Set 5:
  COMPILATION_UNIT_ID <= PARAMETER_SPECIFICATION_ID PARAMETER_SPECIFICATION_ID ^, EOF_ID

   EOF_ID                     => reduce 2 tokens to COMPILATION_UNIT_ID
   default                    => ERROR


Set 6:
  OPENTOKEN_ACCEPT_ID <= COMPILATION_UNIT_ID EOF_ID ^, EOF_ID/IDENTIFIER_ID/IN_ID

   EOF_ID                     => accept it
   IDENTIFIER_ID              => accept it
   IN_ID                      => accept it
   default                    => ERROR


Set 7:
  MODE_ID <= IN_ID ^, IDENTIFIER_ID

   IDENTIFIER_ID              => reduce 1 tokens to MODE_ID
   default                    => ERROR


Set 8:
  PARAMETER_SPECIFICATION_ID <= IDENTIFIER_ID MODE_ID ^ NAME_ID, EOF_ID/IDENTIFIER_ID

   IDENTIFIER_ID              => shift and goto state 9
   default                    => ERROR

   NAME_ID                    goto state 10

Set 9:
  NAME_ID <= IDENTIFIER_ID ^, EOF_ID/IDENTIFIER_ID

   EOF_ID                     => reduce 1 tokens to NAME_ID
   IDENTIFIER_ID              => reduce 1 tokens to NAME_ID
   default                    => ERROR


Set 10:
  PARAMETER_SPECIFICATION_ID <= IDENTIFIER_ID MODE_ID NAME_ID ^, EOF_ID/IDENTIFIER_ID

   EOF_ID                     => reduce 3 tokens to PARAMETER_SPECIFICATION_ID
   IDENTIFIER_ID              => reduce 3 tokens to PARAMETER_SPECIFICATION_ID
   default                    => ERROR


 1 : 
IDENTIFIER_ID : SHIFT
 2 : IDENTIFIER_ID
 1 : 
IN_ID : SHIFT
 7 : IN_ID
 2 : IDENTIFIER_ID
 1 : 
IDENTIFIER_ID : REDUCE to MODE_ID, goto state 8
 8 : MODE_ID
 2 : IDENTIFIER_ID
 1 : 
IDENTIFIER_ID : SHIFT
 9 : IDENTIFIER_ID
 8 : MODE_ID
 2 : IDENTIFIER_ID
 1 : 
IDENTIFIER_ID : REDUCE to NAME_ID, goto state 10
 10 : NAME_ID
 8 : MODE_ID
 2 : IDENTIFIER_ID
 1 : 
IDENTIFIER_ID : REDUCE to PARAMETER_SPECIFICATION_ID, goto state 4
 4 : PARAMETER_SPECIFICATION_ID
 1 : 
IDENTIFIER_ID : SHIFT
 2 : IDENTIFIER_ID
 4 : PARAMETER_SPECIFICATION_ID
 1 : 
IDENTIFIER_ID : REDUCE to MODE_ID, goto state 8
 8 : MODE_ID
 2 : IDENTIFIER_ID
 4 : PARAMETER_SPECIFICATION_ID
 1 : 
IDENTIFIER_ID : SHIFT
 9 : IDENTIFIER_ID
 8 : MODE_ID
 2 : IDENTIFIER_ID
 4 : PARAMETER_SPECIFICATION_ID
 1 : 
EOF_ID : REDUCE to NAME_ID, goto state 10
 10 : NAME_ID
 8 : MODE_ID
 2 : IDENTIFIER_ID
 4 : PARAMETER_SPECIFICATION_ID
 1 : 
EOF_ID : REDUCE to PARAMETER_SPECIFICATION_ID, goto state 5
 5 : PARAMETER_SPECIFICATION_ID
 4 : PARAMETER_SPECIFICATION_ID
 1 : 
EOF_ID : REDUCE to COMPILATION_UNIT_ID, goto state 3
 3 : COMPILATION_UNIT_ID
 1 : 
EOF_ID : SHIFT
 6 : EOF_ID
 3 : COMPILATION_UNIT_ID
 1 : 
EOF_ID : ACCEPT_IT
