ÿØÿà 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 /etc/ethers *)

module Ethers =
  autoload xfm

  let sep_tab = Util.del_ws_tab

  let eol = del /[ \t]*\n/ "\n"
  let indent = del /[ \t]*/ ""

  let comment = Util.comment
  let empty   = [ del /[ \t]*#?[ \t]*\n/ "\n" ]

  let word = /[^# \n\t]+/
  let address =
    let hex = /[0-9a-fA-F][0-9a-fA-F]?/ in
      hex . ":" . hex . ":" . hex . ":" . hex . ":" . hex . ":" . hex

  let record = [ seq "ether" . indent .
                              [ label "mac" . store  address ] . sep_tab .
                              [ label "ip" . store word ] . eol ]

  let lns = ( empty | comment | record ) *

  let xfm = transform lns (incl "/etc/ethers")
