ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     (* Parsing /boot/grub/grubenv *)

module GrubEnv =
  autoload xfm

  let eol = Util.del_str "\n"

  let comment = Util.comment
  let eq = Util.del_str "="
  let value   = /[^\\\n]*(\\\\(\\\\|\n)[^\\\n]*)*/

  let word = /[A-Za-z_][A-Za-z0-9_]*/
  let record = [ seq "target" .
                 [ label "name" . store word ] . eq .
                 [ label "value" . store value ] . eol ]

  let lns = ( comment | record ) *

  let xfm = transform lns (incl "/boot/grub/grubenv" . incl "/boot/grub2/grubenv")
