Working on the scanner.
[pyyaml/python3.git] / lib / yaml / tokens.py
blob275d4a3bb2bf2fc2738d0a1622f2989b5ac2a354
2 class Token:
3 def __init__(self, start_marker, end_marker):
4 self.start_marker = start_marker
5 self.end_marker = end_marker
7 class DirectiveToken(Token):
8 code = '<directive>'
10 class YAMLDirectiveToken(DirectiveToken):
11 code = '<%YAML directive>'
12 def __init__(self, major_version, minor_version, start_marker, end_marker):
13 self.major_version = major_version
14 self.minor_version = minor_version
15 self.start_marker = start_marker
16 self.end_marker = end_marker
18 class TagDirectiveToken(DirectiveToken):
19 code = '<%TAG directive>'
21 class ReservedDirectiveToken(DirectiveToken):
22 code = '<unknown directive>'
23 def __init__(self, name, start_marker, end_marker):
24 self.name = name
25 self.start_marker = start_marker
26 self.end_marker = end_marker
28 class DocumentStartToken(Token):
29 code = '<document start>'
31 class DocumentEndToken(Token):
32 code = '<document end>'
34 class StreamEndToken(Token):
35 code = '<stream end>'
37 class BlockSequenceStartToken(Token):
38 code = '<block sequence start>'
40 class BlockMappingStartToken(Token):
41 code = '<block mapping end>'
43 class BlockEndToken(Token):
44 code = '<block end>'
46 class FlowSequenceStartToken(Token):
47 code = '['
49 class FlowMappingStartToken(Token):
50 code = '{'
52 class FlowSequenceEndToken(Token):
53 code = ']'
55 class FlowMappingEndToken(Token):
56 code = '}'
58 class KeyToken(Token):
59 code = '?'
61 class ValueToken(Token):
62 code = ':'
64 class EntryToken(Token):
65 code = '- or ,'
67 class AliasToken(Token):
68 code = '<alias>'
69 def __init__(self, value, start_marker, end_marker):
70 self.value = value
71 self.start_marker = start_marker
72 self.end_marker = end_marker
74 class AnchorToken(Token):
75 code = '<anchor>'
76 def __init__(self, value, start_marker, end_marker):
77 self.value = value
78 self.start_marker = start_marker
79 self.end_marker = end_marker
81 class TagToken(Token):
82 code = '<tag>'
83 def __init__(self, value, start_marker, end_marker):
84 self.value = value
85 self.start_marker = start_marker
86 self.end_marker = end_marker
88 class ScalarToken(Token):
89 code = '<scalar>'
90 def __init__(self, value, plain, start_marker, end_marker):
91 self.value = value
92 self.plain = plain
93 self.start_marker = start_marker
94 self.end_marker = end_marker