21 lines
553 B
OCaml
21 lines
553 B
OCaml
(* File patterns *)
|
|
(* type *)
|
|
type filePattern = {
|
|
typename : string;
|
|
extensions : string list;
|
|
mactypes : string list
|
|
}
|
|
(* /type *)
|
|
|
|
let cCAMLtoTKfilePattern fp =
|
|
let typename = TkQuote (TkToken fp.typename) in
|
|
let extensions =
|
|
TkQuote (TkTokenList (List.map (fun x -> TkToken x) fp.extensions)) in
|
|
let mactypes =
|
|
match fp.mactypes with
|
|
| [] -> []
|
|
| [s] -> [TkToken s]
|
|
| _ -> [TkQuote (TkTokenList (List.map (fun x -> TkToken x) fp.mactypes))]
|
|
in
|
|
TkQuote (TkTokenList (typename :: extensions :: mactypes))
|