class LanguageOfZpoolStatuses(Grammar): grammar = (REPEAT(ZpoolStatus, OPTIONAL(WORD('\n'))), )
class ConfigDiskStatusText(Grammar): grammar = (REPEAT( SpaceSeperator, WORD(string.ascii_letters + string.punctuation + string.digits)), )
class ConfigSpareState(Grammar): grammar = ( OR('AVAIL', 'INUSE'), SpaceSeperator, OPTIONAL(REPEAT(SpaceSeperator, WORD(string.ascii_letters))), )
class TypeCharacters(Grammar): grammar = WORD("A-Za-z\u005F")
class ConfigPoolName(Grammar): grammar = (WORD(string.ascii_letters + string.digits))
class PositiveInteger (Integer): grammar = (WORD('0-9'))
class Integer(Grammar): grammar = OR(L('0'), (OPTIONAL(L('-')), WORD('1-9', '0-9')))
class Label(Grammar): grammar = (G(b'_("', WORD(b'^"'), b'")') | G(b"_('", WORD(b"^'"), b"')") | Variable)
class FieldWord(Grammar): grammar = (WORD(string.ascii_letters + string.digits + string.punctuation))
class FirstParameterCharacter(Grammar): grammar = OR( WORD("A-Za-z", max=1), # The underscore character and question mark "\u005F", "?")
class Variable(Grammar): grammar = (G(b'"', WORD(b'^"'), b'"') | G(b"'", WORD(b"^'"), b"'") | WORD(b"a-zA-Z_", b"a-zA-Z0-9_."))
class HexadecimalDigit(Grammar): grammar = WORD('0-9a-fA-F', max=1)
class DecimalDigits(Grammar): grammar = WORD('0-9')
class VariableCharacters(Grammar): grammar = WORD("A-Za-z0-9?\u005F")
class SpaceSeperator(Grammar): grammar_greedy = True grammar = (WORD(' '), )
class ConfigCounters(Grammar): grammar = (WORD(string.digits), SpaceSeperator, WORD(string.digits), SpaceSeperator, WORD(string.digits))
class Integer (Terminal): grammar = (OPTIONAL('-'), WORD('0-9')) def grammar_elem_init(self, sessiondata): self.value = int(self.string)
class ConfigVDevName(Grammar): grammar = (OR('raidz1', 'raidz2', 'raidz3', 'mirror', 'spare'), '-', WORD(string.digits))
class Identifier(Grammar): grammar = WORD('a-zA-Z', 'a-zA-Z0-9_')
class ConfigDiskName(Grammar): grammar = (WORD(string.ascii_letters + string.digits + "/"))
class Float(Grammar): grammar = (OPTIONAL(L('-')), WORD('1-9', '0-9'), L('.'), WORD('0-9'))
class TypeCharacter(Grammar): grammar = OR( WORD("A-Za-z", max=1), WORD("\u005F"), )