let split_extension path =
match basename path with
(Component str) :: []->
let lexbuf = Lexing.from_string str
in
let (base,ext) = try
GenericPath_parser.main_extension
GenericPath_lexer.token_extension
lexbuf
with Parsing.Parse_error ->
raise FilePathNoExtension
in
((dirname path) @ [Component base], ext)
| _ ->
raise FilePathNoExtension