let begin_tokens_of_token = function
    END -> [ BEGIN ; OBJECT ; SIG ; STRUCT ]
  | IN -> [ LET ]
  | DONE -> [ DO ]
  | DO -> [ WHILE ; FOR ]
  | RPAREN -> [LPAREN]
  | RBRACE -> [LBRACE]
  | RBRACKET -> [LBRACKETLBRACKETLESSLBRACKETGREATER]
  | BARRBRACKET -> [LBRACKETBAR]
  | GREATERRBRACE -> [LBRACELESS]
  | GREATERRBRACKET -> [LBRACKETLESS]
  | WITH -> [MATCH;TRY;LBRACE]
  | THEN -> [IF]
  | ELSE -> [THEN]
  | OBJECT ->  [CLASS]
  | STRUCT | SIG -> [MODULE]
  | _ -> assert false