summaryrefslogtreecommitdiff
path: root/lib/yaml/tokens.py
blob: 275d4a3bb2bf2fc2738d0a1622f2989b5ac2a354 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

class Token:
    def __init__(self, start_marker, end_marker):
        self.start_marker = start_marker
        self.end_marker = end_marker

class DirectiveToken(Token):
    code = '<directive>'

class YAMLDirectiveToken(DirectiveToken):
    code = '<%YAML directive>'
    def __init__(self, major_version, minor_version, start_marker, end_marker):
        self.major_version = major_version
        self.minor_version = minor_version
        self.start_marker = start_marker
        self.end_marker = end_marker

class TagDirectiveToken(DirectiveToken):
    code = '<%TAG directive>'

class ReservedDirectiveToken(DirectiveToken):
    code = '<unknown directive>'
    def __init__(self, name, start_marker, end_marker):
        self.name = name
        self.start_marker = start_marker
        self.end_marker = end_marker

class DocumentStartToken(Token):
    code = '<document start>'

class DocumentEndToken(Token):
    code = '<document end>'

class StreamEndToken(Token):
    code = '<stream end>'

class BlockSequenceStartToken(Token):
    code = '<block sequence start>'

class BlockMappingStartToken(Token):
    code = '<block mapping end>'

class BlockEndToken(Token):
    code = '<block end>'

class FlowSequenceStartToken(Token):
    code = '['

class FlowMappingStartToken(Token):
    code = '{'

class FlowSequenceEndToken(Token):
    code = ']'

class FlowMappingEndToken(Token):
    code = '}'

class KeyToken(Token):
    code = '?'

class ValueToken(Token):
    code = ':'

class EntryToken(Token):
    code = '- or ,'

class AliasToken(Token):
    code = '<alias>'
    def __init__(self, value, start_marker, end_marker):
        self.value = value
        self.start_marker = start_marker
        self.end_marker = end_marker

class AnchorToken(Token):
    code = '<anchor>'
    def __init__(self, value, start_marker, end_marker):
        self.value = value
        self.start_marker = start_marker
        self.end_marker = end_marker

class TagToken(Token):
    code = '<tag>'
    def __init__(self, value, start_marker, end_marker):
        self.value = value
        self.start_marker = start_marker
        self.end_marker = end_marker

class ScalarToken(Token):
    code = '<scalar>'
    def __init__(self, value, plain, start_marker, end_marker):
        self.value = value
        self.plain = plain
        self.start_marker = start_marker
        self.end_marker = end_marker