codekingpro/portable-devtools
114k
1 2class Token(object):3 def __init__(self, start_mark, end_mark):4 self.start_mark = start_mark5 self.end_mark = end_mark6 def __repr__(self):7 attributes = [key for key in self.__dict__8 if not key.endswith('_mark')]9 attributes.sort()10 arguments = ', '.join(['%s=%r' % (key, getattr(self, key))11 for key in attributes])12 return '%s(%s)' % (self.__class__.__name__, arguments)13 14#class BOMToken(Token):15# id = '<byte order mark>'16 17class DirectiveToken(Token):18 id = '<directive>'19 def __init__(self, name, value, start_mark, end_mark):20 self.name = name21 self.value = value22 self.start_mark = start_mark23 self.end_mark = end_mark24 25class DocumentStartToken(Token):26 id = '<document start>'27 28class DocumentEndToken(Token):29 id = '<document end>'30 31class StreamStartToken(Token):32 id = '<stream start>'33 def __init__(self, start_mark=None, end_mark=None,34 encoding=None):35 self.start_mark = start_mark36 self.end_mark = end_mark37 self.encoding = encoding38 39class StreamEndToken(Token):40 id = '<stream end>'41 42class BlockSequenceStartToken(Token):43 id = '<block sequence start>'44 45class BlockMappingStartToken(Token):46 id = '<block mapping start>'47 48class BlockEndToken(Token):49 id = '<block end>'50 51class FlowSequenceStartToken(Token):52 id = '['53 54class FlowMappingStartToken(Token):55 id = '{'56 57class FlowSequenceEndToken(Token):58 id = ']'59 60class FlowMappingEndToken(Token):61 id = '}'62 63class KeyToken(Token):64 id = '?'65 66class ValueToken(Token):67 id = ':'68 69class BlockEntryToken(Token):70 id = '-'71 72class FlowEntryToken(Token):73 id = ','74 75class AliasToken(Token):76 id = '<alias>'77 def __init__(self, value, start_mark, end_mark):78 self.value = value79 self.start_mark = start_mark80 self.end_mark = end_mark81 82class AnchorToken(Token):83 id = '<anchor>'84 def __init__(self, value, start_mark, end_mark):85 self.value = value86 self.start_mark = start_mark87 self.end_mark = end_mark88 89class TagToken(Token):90 id = '<tag>'91 def __init__(self, value, start_mark, end_mark):92 self.value = value93 self.start_mark = start_mark94 self.end_mark = end_mark95 96class ScalarToken(Token):97 id = '<scalar>'98 def __init__(self, value, plain, start_mark, end_mark, style=None):99 self.value = value100 self.plain = plain101 self.start_mark = start_mark102 self.end_mark = end_mark103 self.style = style104 105 