29 lines
620 B
Plaintext
29 lines
620 B
Plaintext
|
(* Parsing grub's device.map *)
|
||
|
|
||
|
module Device_map =
|
||
|
autoload xfm
|
||
|
|
||
|
let sep_tab = Sep.tab
|
||
|
let eol = Util.eol
|
||
|
let fspath = Rx.fspath
|
||
|
let del_str = Util.del_str
|
||
|
|
||
|
let comment = Util.comment
|
||
|
let empty = Util.empty
|
||
|
|
||
|
let dev_name = /(h|f|c)d[0-9]+(,[0-9a-zA-Z]+){0,2}/
|
||
|
let dev_hex = Rx.hex
|
||
|
let dev_dec = /[0-9]+/
|
||
|
|
||
|
let device = del_str "(" . key ( dev_name | dev_hex | dev_dec ) . del_str ")"
|
||
|
|
||
|
let map = [ device . sep_tab . store fspath . eol ]
|
||
|
|
||
|
let lns = ( empty | comment | map ) *
|
||
|
|
||
|
let xfm = transform lns (incl "/boot/*/device.map")
|
||
|
|
||
|
(* Local Variables: *)
|
||
|
(* mode: caml *)
|
||
|
(* End: *)
|