You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			105 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			105 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
 | 
						|
class Token(object):
 | 
						|
    def __init__(self, start_mark, end_mark):
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
    def __repr__(self):
 | 
						|
        attributes = [key for key in self.__dict__
 | 
						|
                if not key.endswith('_mark')]
 | 
						|
        attributes.sort()
 | 
						|
        arguments = ', '.join(['%s=%r' % (key, getattr(self, key))
 | 
						|
                for key in attributes])
 | 
						|
        return '%s(%s)' % (self.__class__.__name__, arguments)
 | 
						|
 | 
						|
#class BOMToken(Token):
 | 
						|
#    id = '<byte order mark>'
 | 
						|
 | 
						|
class DirectiveToken(Token):
 | 
						|
    id = '<directive>'
 | 
						|
    def __init__(self, name, value, start_mark, end_mark):
 | 
						|
        self.name = name
 | 
						|
        self.value = value
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
 | 
						|
class DocumentStartToken(Token):
 | 
						|
    id = '<document start>'
 | 
						|
 | 
						|
class DocumentEndToken(Token):
 | 
						|
    id = '<document end>'
 | 
						|
 | 
						|
class StreamStartToken(Token):
 | 
						|
    id = '<stream start>'
 | 
						|
    def __init__(self, start_mark=None, end_mark=None,
 | 
						|
            encoding=None):
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.encoding = encoding
 | 
						|
 | 
						|
class StreamEndToken(Token):
 | 
						|
    id = '<stream end>'
 | 
						|
 | 
						|
class BlockSequenceStartToken(Token):
 | 
						|
    id = '<block sequence start>'
 | 
						|
 | 
						|
class BlockMappingStartToken(Token):
 | 
						|
    id = '<block mapping start>'
 | 
						|
 | 
						|
class BlockEndToken(Token):
 | 
						|
    id = '<block end>'
 | 
						|
 | 
						|
class FlowSequenceStartToken(Token):
 | 
						|
    id = '['
 | 
						|
 | 
						|
class FlowMappingStartToken(Token):
 | 
						|
    id = '{'
 | 
						|
 | 
						|
class FlowSequenceEndToken(Token):
 | 
						|
    id = ']'
 | 
						|
 | 
						|
class FlowMappingEndToken(Token):
 | 
						|
    id = '}'
 | 
						|
 | 
						|
class KeyToken(Token):
 | 
						|
    id = '?'
 | 
						|
 | 
						|
class ValueToken(Token):
 | 
						|
    id = ':'
 | 
						|
 | 
						|
class BlockEntryToken(Token):
 | 
						|
    id = '-'
 | 
						|
 | 
						|
class FlowEntryToken(Token):
 | 
						|
    id = ','
 | 
						|
 | 
						|
class AliasToken(Token):
 | 
						|
    id = '<alias>'
 | 
						|
    def __init__(self, value, start_mark, end_mark):
 | 
						|
        self.value = value
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
 | 
						|
class AnchorToken(Token):
 | 
						|
    id = '<anchor>'
 | 
						|
    def __init__(self, value, start_mark, end_mark):
 | 
						|
        self.value = value
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
 | 
						|
class TagToken(Token):
 | 
						|
    id = '<tag>'
 | 
						|
    def __init__(self, value, start_mark, end_mark):
 | 
						|
        self.value = value
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
 | 
						|
class ScalarToken(Token):
 | 
						|
    id = '<scalar>'
 | 
						|
    def __init__(self, value, plain, start_mark, end_mark, style=None):
 | 
						|
        self.value = value
 | 
						|
        self.plain = plain
 | 
						|
        self.start_mark = start_mark
 | 
						|
        self.end_mark = end_mark
 | 
						|
        self.style = style
 | 
						|
 |