class SelectStatement(Grammar): grammar = ( CK('select'), WhatToSelect, CK('from'), OPTIONAL(Name, OP('.')), Name, OPTIONAL(CK('using'), CK('consistency'), Consistency), OPTIONAL(CK('where'), SelectWhereClause), OPTIONAL(CK('limit'), Integer) )
class FlowControlStatement(Grammar): grammar = OR( (OR(RE_LITERAL("break"), RE_LITERAL("continue")), OPTIONAL((WHITESPACE, LabelExpression))), (OR(RE_LITERAL("throw"), RE_LITERAL("return"), RE_LITERAL("exit")), OPTIONAL((WHITESPACE, Pipeline))), )
class ConfigBody(Grammar): grammar = ( '\t', ConfigPool, OPTIONAL(LogDevices), OPTIONAL(SpareDevices), OPTIONAL(CacheDevices), )
class ExpandableStringLiteralWithSubexpr(Grammar): grammar = OR( (ExpandableStringWithSubexprStart, OPTIONAL(StatementList), ")", ExpandableStringWithSubexprCharacters, ExpandableStringWithSubexprEnd), (ExpandableHereStringWithSubexprStart, OPTIONAL(StatementList), ")", ExpandableHereStringWithSubexprCharacters, ExpandableHereStringWithSubexprEnd))
class ZpoolStatus(Grammar): grammar = ( PoolNameField, StateField, OPTIONAL(StatusField), OPTIONAL(ActionField), ScanField, OPTIONAL(SeeField), ConfigField, ErrorsField, )
class RealLiteral(Grammar): grammar = OR((DecimalDigits, ".", DecimalDigits, OPTIONAL(ExponentPart), OPTIONAL(DecimalTypeSuffix), OPTIONAL(NumericMultiplier)), (".", DecimalDigits, OPTIONAL(ExponentPart), OPTIONAL(DecimalTypeSuffix), OPTIONAL(NumericMultiplier)), (DecimalDigits, ExponentPart, OPTIONAL(DecimalTypeSuffix), OPTIONAL(NumericMultiplier)))
class ExpressionWithUnaryOperator(Grammar): grammar = OR( (OR(",", RE_LITERAL("-bnot"), RE_LITERAL("-not"), RE_LITERAL("-split"), RE_LITERAL("-join"), "!", "+", Dash), OPTIONAL(WHITESPACE), UnaryExpression), PreIncrementExpression, PreDecrementExpression, CastExpression, )
class ConfigDisk(Grammar): grammar = ( ConfigDiskName, SpaceSeperator, ConfigVDevState, SpaceSeperator, ConfigCounters, OPTIONAL(ConfigDiskStatusText), )
class DeleteStatement(Grammar): grammar = (CK('delete'), OPTIONAL(LIST_OF(Term)), CK('from'), Name, OPTIONAL(CK('using'), LIST_OF(DeleteOption, sep=CK('and'))), CK('where'), UpdateWhereClause)
class UpdateStatement(Grammar): grammar = (CK('update'), Name, OPTIONAL(UsingClause), CK('set'), LIST_OF(Assignment), CK('where'), UpdateWhereClause)
class InsertStatement(Grammar): grammar = (CK('insert'), CK('into'), Name, LPar, LIST_OF(Term), RPar, CK('values'), LPar, LIST_OF(Term), RPar, OPTIONAL(UsingClause))
class Integer (Terminal): grammar = (OPTIONAL('-'), WORD('0-9')) def grammar_elem_init(self, sessiondata): self.value = int(self.string)
class DataStatement(Grammar): grammar = (RE_LITERAL("data"), OPTIONAL(WHITESPACE), OPTIONAL(DataCommandsAllowed), OPTIONAL(WHITESPACE), StatementBlock)
class ElseClause(Grammar): grammar = (OPTIONAL(WHITESPACE), RE_LITERAL("else"), OPTIONAL(WHITESPACE), StatementBlock)
class CreateIndexStatement(Grammar): grammar = (CK('create'), CK('index'), OPTIONAL(Identifier), CK('on'), Name, LPar, Term, RPar)
class FirstFieldValue(Grammar): grammar = ( FieldWord, OPTIONAL(REPEAT(SpaceSeperator, FieldWord)), L('\n'), )
class FullFieldValue(Grammar): grammar = ( FirstFieldValue, OPTIONAL(REPEAT(IndentedFieldValue)), )
class InlineEditGrammar(Grammar): grammar = (OR(G(OR(b"field", b"create"), OPTIONAL(Label)), b"search"), b"from", Variable, OPTIONAL(b"for", Variable), OPTIONAL(b"in", Variable), b"withtemplate", Variable, OPTIONAL(b"withhelp", Label)) grammar_whitespace = True
class ConfigDisk(Grammar): grammar = (ConfigDeviceSpacing, ConfigDiskName, SpaceSeparator, ConfigDevState, SpaceSeparator, ConfigCounters, OPTIONAL(ConfigDiskStatusText), '\n')
class ElseIfClause(Grammar): grammar = (OPTIONAL(WHITESPACE), RE_LITERAL("elseif"), OPTIONAL(WHITESPACE), "(", OPTIONAL(WHITESPACE), Pipeline, OPTIONAL(WHITESPACE), ")", OPTIONAL(WHITESPACE), StatementBlock)
class BatchStatement(Grammar): grammar = (CK('begin'), CK('batch'), OPTIONAL(UsingClause), LIST_OF(BatchStatementMember, sep=';'), CK('apply'), CK('batch'))
class Float(Grammar): grammar = (OPTIONAL(L('-')), WORD('1-9', '0-9'), L('.'), WORD('0-9'))
class CreateColumnFamilyStatement(Grammar): grammar = ( CK('create'), CK('columnfamily'), Name, LPar, Term, StorageType, CK('primary'), CK('key'), ZERO_OR_MORE((OP(','), Term, StorageType)), RPar, OPTIONAL(CK('with'), LIST_OF((Identifier, OP('='), ColumFamilyOptionValue), sep=CK('and'))) )
class WhatToSelect(Grammar): grammar = OR( (OPTIONAL(CK('first'), Integer, OPTIONAL(CK('reversed'))), ColumnRange), (FN('count'), LPar, CountTarget, RPar), LIST_OF(Term) )
class Integer(Grammar): grammar = OR(L('0'), (OPTIONAL(L('-')), WORD('1-9', '0-9')))
class ElseIfClauses(Grammar): grammar = LIST_OF(ElseIfClause, sep=OPTIONAL(WHITESPACE))
class Consistency(Grammar): grammar = OR(CK('any'), CK('one'), (OPTIONAL(CK('local') | CK('each')), CK('quorum')), CK('all'))
class LanguageOfZpoolStatuses(Grammar): grammar = (REPEAT(ZpoolStatus, OPTIONAL(WORD('\n'))), )
class ConfigSpareState(Grammar): grammar = ( OR('AVAIL', 'INUSE'), SpaceSeperator, OPTIONAL(REPEAT(SpaceSeperator, WORD(string.ascii_letters))), )
class DataCommandsAllowed(Grammar): grammar = (RE_LITERAL("-supportedcommand"), OPTIONAL(WHITESPACE), DataCommandsList)