| T | |
| tab, Sep | |
| tag, FAI_DiskConfig | |
| target | |
| the valid values for schedules, Cron | |
| title_ace, Test_IniFile | |
| title_acf, Test_IniFile | |
| title_ade, Test_IniFile | |
| title_adf, Test_IniFile | |
| title_bce, Test_IniFile | |
| title_bcf, Test_IniFile | |
| title_bde, Test_IniFile | |
| title_bdf, Test_IniFile | |
| to_comment_re, IniFile | |
| to_eol, Xorg | |
| token, Syslog | |
| type_label_lv, FAI_DiskConfig | |
| U | |
| ul1, Test_Xml | |
| user_record, cgrules | |
| V | |
| value_re, Approx | |
| vg_option, FAI_DiskConfig | |
| volume_cryptsetup, FAI_DiskConfig | |
| volume_full, FAI_DiskConfig | |
| volume_lvm, FAI_DiskConfig | |
| volume_or_comment, FAI_DiskConfig | |
| volume_raid, FAI_DiskConfig | |
| volume_tmpfs, FAI_DiskConfig | |
| volume_vg, FAI_DiskConfig | |
| W | |
| with_spaces, Test_FAI_DiskConfig | |
| word | |
| word_slash, Keepalived | |
| ws, cgrules |
Deletes a Rx.space and default to a tab
let tab = del Rx.space "\t"
A generic tag beginning with a colon
let tag (re:regexp) = [ Util.del_str ":" . key re ]
let target = Rx.device_name
let title_ace = IniFile.title IniFile.record_re
let title_acf = IniFile.title IniFile.record_re
let title_ade = IniFile.title IniFile.record_re
let title_adf = IniFile.title IniFile.record_re
let title_bce = IniFile.title IniFile.record_re
let title_bcf = IniFile.title IniFile.record_re
let title_bde = IniFile.title IniFile.record_re
let title_bdf = IniFile.title IniFile.record_re
Regex until comment
let to_comment_re = /[^;# \t\n][^;#\n]*[^;# \t\n]|[^;# \t\n]/
Match everything from here to eol, cropping whitespace at both ends
let to_eol = /[^ \t\n](.*[^ \t\n])?/
alphanum or “*”
let token = /([a-z0-9]+|\*)/
let type_label_lv = label "lv" . [ label "vg" . store (/[^# \t\n-]+/ - "raw") ] . Util.del_str "-" . [ label "name" . store /[^ \t\n]+/ ]
let ul1 = " <ul> <li>test1</li> <li>test2</li> <li>test3</li> <li>test4</li> </ul> " test Xml.doc get ul1 = { "ul" { "#text" = " " } { "li" { "#text" = "test1" } } { "#text" = " " } { "li" { "#text" = "test2" } } { "#text" = " " } { "li" { "#text" = "test3" } } { "#text" = " " } { "li" { "#text" = "test4" } } }
let user_record = generic_record "user" (store name)
let value_re = /[^ \t\n](.*[^ \t\n])?/
An option for volume_vg
let vg_option = [ key "pvcreateopts" . Util.del_str "=\"" . store /[^"\n]*/ . Util.del_str "\"" ]
let volume_cryptsetup = volume_full (key ("swap"|"tmp"|"luks")) device
let volume_full (type:lens) (third_field:lens) =
let volume_lvm = volume_full type_label_lv size (* lvm logical volume: vg name and lv name *) | volume_vg
A succesion of volumes and comments
let volume_or_comment (vol:lens) = (vol|empty|comment)* . vol
let volume_raid = volume_full (key /raid[0156]/) disk_list (* raid level *)
let volume_tmpfs = [ key "tmpfs" . space . mountpoint .space . size . space . mount_options . (space . fs_options)? . eol ]
let volume_vg = [ key "vg" . space . name . space . disk . (space . vg_option)? . eol ]
let with_spaces = "disk_config disk2 raw-disk - 0 - - "
let word = Rx.word
let word = /[^|", \t\n]+/
let word = Rx.word
An alphanumeric string
let word = /[A-Za-z0-9_.-]+/
our version can’t start with [_.-] because it would mess up the grammar
let word = /[A-Za-z0-9][A-Za-z0-9_.-]*/
let word_slash = word | "/"
let ws = del /[ \t]+/ " "