RbYAML 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rbyaml.rb +14 -256
- data/lib/rbyaml.rb.~1.2.~ +383 -0
- data/lib/rbyaml/composer.rb +9 -11
- data/lib/rbyaml/{composer.rb.~1.2.~ → composer.rb.~1.3.~} +28 -25
- data/lib/rbyaml/constants.rb +95 -0
- data/lib/rbyaml/constructor.rb +180 -89
- data/lib/rbyaml/{constructor.rb.~1.2.~ → constructor.rb.~1.9.~} +137 -95
- data/lib/rbyaml/dumper.rb +12 -9
- data/lib/rbyaml/dumper.rb.~1.3.~ +36 -0
- data/lib/rbyaml/emitter.rb +14 -28
- data/lib/rbyaml/{emitter.rb.~1.2.~ → emitter.rb.~1.6.~} +22 -33
- data/lib/rbyaml/error.rb +4 -57
- data/lib/rbyaml/error.rb.~1.2.~ +75 -0
- data/lib/rbyaml/events.rb +8 -14
- data/lib/rbyaml/{events.rb.~1.2.~ → events.rb.~1.4.~} +29 -6
- data/lib/rbyaml/nodes.rb +5 -5
- data/lib/rbyaml/{nodes.rb.~1.2.~ → nodes.rb.~1.3.~} +13 -9
- data/lib/rbyaml/parser.rb +70 -108
- data/lib/rbyaml/parser.rb.~1.4.~ +632 -0
- data/lib/rbyaml/representer.rb +19 -157
- data/lib/rbyaml/representer.rb.old +317 -0
- data/lib/rbyaml/{representer.rb.~1.2.~ → representer.rb.~1.5.~} +60 -26
- data/lib/rbyaml/resolver.rb +6 -6
- data/lib/rbyaml/{resolver.rb.~1.1.~ → resolver.rb.~1.6.~} +20 -20
- data/lib/rbyaml/rubytypes.rb +391 -0
- data/lib/rbyaml/scanner.rb +123 -225
- data/lib/rbyaml/{scanner.rb.~1.2.~ → scanner.rb.~1.5.~} +466 -378
- data/lib/rbyaml/serializer.rb +9 -9
- data/lib/rbyaml/{serializer.rb.~1.2.~ → serializer.rb.~1.4.~} +19 -17
- data/lib/rbyaml/stream.rb +48 -0
- data/lib/rbyaml/tag.rb +72 -0
- data/lib/rbyaml/tokens.rb +22 -16
- data/lib/rbyaml/{tokens.rb.~1.2.~ → tokens.rb.~1.3.~} +44 -4
- data/lib/rbyaml/types.rb +146 -0
- data/lib/rbyaml/util.rb.~1.3.~ +38 -0
- data/lib/rbyaml/yaml.rb +22 -32
- data/lib/rbyaml/{yaml.rb.~1.2.~ → yaml.rb.~1.5.~} +17 -17
- data/test/load_one.rb +6 -0
- data/test/load_one_yaml.rb +6 -0
- data/test/output_events.rb +9 -0
- data/test/test_add_ctor.rb +51 -0
- data/test/test_add_ctor.rb.~1.1.~ +30 -0
- data/test/test_bm.rb +2 -2
- data/test/test_bm.rb.~1.1.~ +28 -0
- data/test/test_gems.rb +10 -0
- data/test/test_one.rb.~1.1.~ +5 -0
- data/test/test_one_syck.rb +5 -0
- data/test/test_rbyaml.rb +63 -32
- data/test/test_rbyaml.rb.~1.6.~ +59 -0
- data/test/{test_rbyaml.rb.~1.2.~ → test_rbyaml_old.rb} +13 -4
- data/test/test_time_events.rb +24 -0
- data/test/test_time_nodes.rb +24 -0
- data/test/test_time_tokens.rb +24 -0
- data/test/yaml/gems_new.yml +147456 -0
- data/test/yaml/test1.rb +8 -0
- data/test/yaml/test10.rb +14 -0
- data/test/yaml/test11.rb +13 -0
- data/test/yaml/test12.rb +9 -0
- data/test/yaml/test13.rb +9 -0
- data/test/yaml/test14.rb +13 -0
- data/test/yaml/test15.rb +12 -0
- data/test/yaml/test16.rb +11 -0
- data/test/yaml/test16.rb.~1.1.~ +11 -0
- data/test/yaml/test17.rb +10 -0
- data/test/yaml/test18.rb +13 -0
- data/test/yaml/test19.rb +9 -0
- data/test/yaml/test19.yml +1 -1
- data/test/yaml/test2.rb +8 -0
- data/test/yaml/test20.rb +11 -0
- data/test/yaml/test20.rb.~1.1.~ +9 -0
- data/test/yaml/test20.yml +1 -1
- data/test/yaml/test3.rb +13 -0
- data/test/yaml/test4.rb +13 -0
- data/test/yaml/test5.rb +8 -0
- data/test/yaml/test6.rb +10 -0
- data/test/yaml/test7.rb +15 -0
- data/test/yaml/test8.rb +15 -0
- data/test/yaml/test9.rb +13 -0
- metadata +61 -16
- data/lib/rbyaml/dumper.rb.~1.2.~ +0 -43
- data/lib/rbyaml/parser.rb.~1.2.~ +0 -494
data/lib/rbyaml/serializer.rb
CHANGED
@@ -7,15 +7,15 @@ module RbYAML
|
|
7
7
|
end
|
8
8
|
|
9
9
|
class Serializer
|
10
|
-
|
11
|
-
|
12
|
-
def initialize(emitter, resolver, explicit_start=nil, explicit_end=nil, version=nil, tags=nil)
|
10
|
+
def initialize(emitter, resolver, opts={})
|
13
11
|
@emitter = emitter
|
14
12
|
@resolver = resolver
|
15
|
-
@
|
16
|
-
@
|
17
|
-
@
|
18
|
-
@
|
13
|
+
@options = opts
|
14
|
+
@use_explicit_start = opts[:ExplicitStart]
|
15
|
+
@use_explicit_end = opts[:ExplicitEnd]
|
16
|
+
@use_version = opts[:UseVersion] && opts[:Version]
|
17
|
+
@use_tags = opts[:UseHeader]
|
18
|
+
@anchor_template = opts[:AnchorFormat] || "id%03d"
|
19
19
|
@serialized_nodes = {}
|
20
20
|
@anchors = {}
|
21
21
|
@last_anchor_id = 0
|
@@ -77,7 +77,7 @@ module RbYAML
|
|
77
77
|
|
78
78
|
def generate_anchor(node)
|
79
79
|
@last_anchor_id += 1
|
80
|
-
|
80
|
+
@anchor_template % @last_anchor_id
|
81
81
|
end
|
82
82
|
|
83
83
|
def serialize_node(node,parent,index)
|
@@ -91,7 +91,7 @@ module RbYAML
|
|
91
91
|
detected_tag = @resolver.resolve(ScalarNode, node.value, [true,false])
|
92
92
|
default_tag = @resolver.resolve(ScalarNode, node.value, [false,true])
|
93
93
|
implicit = (node.tag == detected_tag), (node.tag == default_tag)
|
94
|
-
@emitter.emit(ScalarEvent.new(talias, node.tag, implicit, node.value,
|
94
|
+
@emitter.emit(ScalarEvent.new(talias, node.tag, implicit, node.value,node.style))
|
95
95
|
elsif SequenceNode === node
|
96
96
|
implicit = (node.tag == @resolver.resolve(SequenceNode, node.value, true))
|
97
97
|
@emitter.emit(SequenceStartEvent.new(talias, node.tag, implicit,node.flow_style))
|
@@ -6,10 +6,12 @@ module RbYAML
|
|
6
6
|
class SerializerError < YAMLError
|
7
7
|
end
|
8
8
|
|
9
|
-
|
9
|
+
class Serializer
|
10
10
|
ANCHOR_TEMPLATE = "id%03d"
|
11
11
|
|
12
|
-
def
|
12
|
+
def initialize(emitter, resolver, explicit_start=nil, explicit_end=nil, version=nil, tags=nil)
|
13
|
+
@emitter = emitter
|
14
|
+
@resolver = resolver
|
13
15
|
@use_explicit_start = explicit_start
|
14
16
|
@use_explicit_end = explicit_end
|
15
17
|
@use_version = version
|
@@ -22,7 +24,7 @@ module RbYAML
|
|
22
24
|
|
23
25
|
def open
|
24
26
|
if @closed.nil?
|
25
|
-
emit(StreamStartEvent.new)
|
27
|
+
@emitter.emit(StreamStartEvent.new)
|
26
28
|
@closed = false
|
27
29
|
elsif @closed
|
28
30
|
raise SerializerError.new("serializer is closed")
|
@@ -35,7 +37,7 @@ module RbYAML
|
|
35
37
|
if @closed.nil?
|
36
38
|
raise SerializerError.new("serializer is not opened")
|
37
39
|
elsif !@closed
|
38
|
-
emit(StreamEndEvent.new)
|
40
|
+
@emitter.emit(StreamEndEvent.new)
|
39
41
|
@closed = true
|
40
42
|
end
|
41
43
|
end
|
@@ -46,10 +48,10 @@ module RbYAML
|
|
46
48
|
elsif @closed
|
47
49
|
raise SerializerError.new("serializer is closed")
|
48
50
|
end
|
49
|
-
emit(DocumentStartEvent.new(
|
51
|
+
@emitter.emit(DocumentStartEvent.new(nil,nil,@use_explicit_start,@use_version,@use_tags))
|
50
52
|
anchor_node(node)
|
51
53
|
serialize_node(node,nil,nil)
|
52
|
-
emit(DocumentEndEvent.new(
|
54
|
+
@emitter.emit(DocumentEndEvent.new(nil,nil,@use_explicit_end))
|
53
55
|
@serialized_nodes = {}
|
54
56
|
@anchors = {}
|
55
57
|
@last_alias_id = 0
|
@@ -81,32 +83,32 @@ module RbYAML
|
|
81
83
|
def serialize_node(node,parent,index)
|
82
84
|
talias = @anchors[node]
|
83
85
|
if @serialized_nodes.include?(node)
|
84
|
-
emit(AliasEvent.new(talias))
|
86
|
+
@emitter.emit(AliasEvent.new(talias))
|
85
87
|
else
|
86
88
|
@serialized_nodes[node] = true
|
87
|
-
descend_resolver(parent, index)
|
89
|
+
@resolver.descend_resolver(parent, index)
|
88
90
|
if ScalarNode === node
|
89
|
-
detected_tag = resolve(ScalarNode, node.value, [true,false])
|
90
|
-
default_tag = resolve(ScalarNode, node.value, [false,true])
|
91
|
+
detected_tag = @resolver.resolve(ScalarNode, node.value, [true,false])
|
92
|
+
default_tag = @resolver.resolve(ScalarNode, node.value, [false,true])
|
91
93
|
implicit = (node.tag == detected_tag), (node.tag == default_tag)
|
92
|
-
emit(ScalarEvent.new(talias, node.tag, implicit, node.value,nil,nil,node.style))
|
94
|
+
@emitter.emit(ScalarEvent.new(talias, node.tag, implicit, node.value,nil,nil,node.style))
|
93
95
|
elsif SequenceNode === node
|
94
|
-
implicit = (node.tag == resolve(SequenceNode, node.value, true))
|
95
|
-
emit(SequenceStartEvent.new(talias, node.tag, implicit,node.flow_style))
|
96
|
+
implicit = (node.tag == @resolver.resolve(SequenceNode, node.value, true))
|
97
|
+
@emitter.emit(SequenceStartEvent.new(talias, node.tag, implicit,node.flow_style))
|
96
98
|
index = 0
|
97
99
|
for item in node.value
|
98
100
|
serialize_node(item,node,index)
|
99
101
|
index += 1
|
100
102
|
end
|
101
|
-
emit(SequenceEndEvent.new)
|
103
|
+
@emitter.emit(SequenceEndEvent.new)
|
102
104
|
elsif MappingNode === node
|
103
|
-
implicit = (node.tag == resolve(MappingNode, node.value, true))
|
104
|
-
emit(MappingStartEvent.new(talias, node.tag, implicit,node.flow_style))
|
105
|
+
implicit = (node.tag == @resolver.resolve(MappingNode, node.value, true))
|
106
|
+
@emitter.emit(MappingStartEvent.new(talias, node.tag, implicit,node.flow_style))
|
105
107
|
for key, value in node.value
|
106
108
|
serialize_node(key,node,nil)
|
107
109
|
serialize_node(value,node,key)
|
108
110
|
end
|
109
|
-
emit(MappingEndEvent.new)
|
111
|
+
@emitter.emit(MappingEndEvent.new)
|
110
112
|
end
|
111
113
|
end
|
112
114
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module RbYAML
|
2
|
+
#
|
3
|
+
# RbYAML::Stream -- for emitting many documents
|
4
|
+
#
|
5
|
+
class Stream
|
6
|
+
include Enumerable
|
7
|
+
|
8
|
+
attr_accessor :documents, :options
|
9
|
+
def initialize(opts = {})
|
10
|
+
@options = opts
|
11
|
+
@documents = []
|
12
|
+
end
|
13
|
+
|
14
|
+
def [](i)
|
15
|
+
@documents[ i ]
|
16
|
+
end
|
17
|
+
|
18
|
+
def add(doc)
|
19
|
+
@documents << doc
|
20
|
+
end
|
21
|
+
|
22
|
+
def edit(doc_num,doc)
|
23
|
+
@documents[ doc_num ] = doc
|
24
|
+
end
|
25
|
+
|
26
|
+
def each(&block)
|
27
|
+
@documents.each(&block)
|
28
|
+
end
|
29
|
+
|
30
|
+
def emit
|
31
|
+
# TODO: implement
|
32
|
+
|
33
|
+
opts = @options.dup
|
34
|
+
opts[:UseHeader] = true if @documents.length > 1
|
35
|
+
ct = 0
|
36
|
+
out = Emitter.new( opts )
|
37
|
+
@documents.each { |v|
|
38
|
+
if ct > 0
|
39
|
+
out << "\n--- "
|
40
|
+
end
|
41
|
+
v.to_yaml( :Emitter => out )
|
42
|
+
ct += 1
|
43
|
+
}
|
44
|
+
out.end_object
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/lib/rbyaml/tag.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
module RbYAML
|
2
|
+
# A dictionary of taguris which map to
|
3
|
+
# Ruby classes.
|
4
|
+
@@tagged_classes = {}
|
5
|
+
|
6
|
+
#
|
7
|
+
# Associates a taguri _tag_ with a Ruby class _cls_. The taguri is used to give types
|
8
|
+
# to classes when loading YAML. Taguris are of the form:
|
9
|
+
#
|
10
|
+
# tag:authorityName,date:specific
|
11
|
+
#
|
12
|
+
# The +authorityName+ is a domain name or email address. The +date+ is the date the type
|
13
|
+
# was issued in YYYY or YYYY-MM or YYYY-MM-DD format. The +specific+ is a name for
|
14
|
+
# the type being added.
|
15
|
+
#
|
16
|
+
# For example, built-in YAML types have 'yaml.org' as the +authorityName+ and '2002' as the
|
17
|
+
# +date+. The +specific+ is simply the name of the type:
|
18
|
+
#
|
19
|
+
# tag:yaml.org,2002:int
|
20
|
+
# tag:yaml.org,2002:float
|
21
|
+
# tag:yaml.org,2002:timestamp
|
22
|
+
#
|
23
|
+
# The domain must be owned by you on the +date+ declared. If you don't own any domains on the
|
24
|
+
# date you declare the type, you can simply use an e-mail address.
|
25
|
+
#
|
26
|
+
# tag:why@ruby-lang.org,2004:notes/personal
|
27
|
+
#
|
28
|
+
def self.tag_class( tag, cls )
|
29
|
+
if @@tagged_classes.has_key? tag
|
30
|
+
warn "class #{ @@tagged_classes[tag] } held ownership of the #{ tag } tag"
|
31
|
+
end
|
32
|
+
@@tagged_classes[tag] = cls
|
33
|
+
end
|
34
|
+
|
35
|
+
# Returns the complete dictionary of taguris, paired with classes. The key for
|
36
|
+
# the dictionary is the full taguri. The value for each key is the class constant
|
37
|
+
# associated to that taguri.
|
38
|
+
#
|
39
|
+
# YAML.tagged_classes["tag:yaml.org,2002:int"] => Integer
|
40
|
+
#
|
41
|
+
def self.tagged_classes
|
42
|
+
@@tagged_classes
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class Module # :nodoc: all
|
47
|
+
def yaml_as( tag, sc = true )
|
48
|
+
class_eval <<-"end;", __FILE__, __LINE__+1
|
49
|
+
attr_writer :taguri
|
50
|
+
def taguri
|
51
|
+
return @taguri if defined?(@taguri) and @taguri
|
52
|
+
tag = #{ tag.dump }
|
53
|
+
if self.class.yaml_tag_subclasses? and self.class != RbYAML::tagged_classes[tag]
|
54
|
+
tag = "\#{ tag }:\#{ self.class.yaml_tag_class_name }"
|
55
|
+
end
|
56
|
+
tag
|
57
|
+
end
|
58
|
+
def self.yaml_tag_subclasses?; #{ sc ? 'true' : 'false' }; end
|
59
|
+
end;
|
60
|
+
RbYAML::tag_class tag, self
|
61
|
+
end
|
62
|
+
# Transforms the subclass name into a name suitable for display
|
63
|
+
# in a subclassed tag.
|
64
|
+
def yaml_tag_class_name
|
65
|
+
self.name
|
66
|
+
end
|
67
|
+
# Transforms the subclass name found in the tag into a Ruby
|
68
|
+
# constant name.
|
69
|
+
def yaml_tag_read_class( name )
|
70
|
+
name
|
71
|
+
end
|
72
|
+
end
|
data/lib/rbyaml/tokens.rb
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
1
|
module RbYAML
|
3
|
-
Token = Struct.new(:start_mark, :end_mark)
|
4
|
-
|
5
2
|
class Token
|
6
3
|
def __is_document_start; false; end
|
7
4
|
def __is_document_end; false; end
|
@@ -34,8 +31,7 @@ module RbYAML
|
|
34
31
|
"<directive>"
|
35
32
|
end
|
36
33
|
attr_reader :name, :value
|
37
|
-
def initialize(name, value
|
38
|
-
super(start_mark,end_mark)
|
34
|
+
def initialize(name, value)
|
39
35
|
@name = name
|
40
36
|
@value = value
|
41
37
|
end
|
@@ -61,8 +57,7 @@ module RbYAML
|
|
61
57
|
"<stream start>"
|
62
58
|
end
|
63
59
|
attr_reader :encoding
|
64
|
-
def initialize(
|
65
|
-
super(start_mark,end_mark)
|
60
|
+
def initialize(encoding=nil)
|
66
61
|
@encoding = encoding
|
67
62
|
end
|
68
63
|
end
|
@@ -157,8 +152,7 @@ module RbYAML
|
|
157
152
|
"<alias>"
|
158
153
|
end
|
159
154
|
attr_reader :value
|
160
|
-
def initialize(value
|
161
|
-
super(start_mark,end_mark)
|
155
|
+
def initialize(value)
|
162
156
|
@value = value
|
163
157
|
end
|
164
158
|
end
|
@@ -169,8 +163,7 @@ module RbYAML
|
|
169
163
|
"<anchor>"
|
170
164
|
end
|
171
165
|
attr_reader :value
|
172
|
-
def initialize(value
|
173
|
-
super(start_mark,end_mark)
|
166
|
+
def initialize(value)
|
174
167
|
@value = value
|
175
168
|
end
|
176
169
|
end
|
@@ -181,8 +174,7 @@ module RbYAML
|
|
181
174
|
"<tag>"
|
182
175
|
end
|
183
176
|
attr_reader :value
|
184
|
-
def initialize(value
|
185
|
-
super(start_mark,end_mark)
|
177
|
+
def initialize(value)
|
186
178
|
@value = value
|
187
179
|
end
|
188
180
|
end
|
@@ -193,12 +185,26 @@ module RbYAML
|
|
193
185
|
"<scalar>"
|
194
186
|
end
|
195
187
|
attr_reader :value, :plain, :style
|
196
|
-
|
197
|
-
def initialize(value, plain, start_mark, end_mark, style=nil)
|
198
|
-
super(start_mark, end_mark)
|
188
|
+
def initialize(value, plain, style=nil)
|
199
189
|
@value = value
|
200
190
|
@plain = plain
|
201
191
|
@style = style
|
202
192
|
end
|
203
193
|
end
|
194
|
+
|
195
|
+
DOCUMENT_START = DocumentStartToken.new
|
196
|
+
DOCUMENT_END = DocumentEndToken.new
|
197
|
+
BLOCK_MAPPING_START = BlockMappingStartToken.new
|
198
|
+
BLOCK_SEQUENCE_START = BlockSequenceStartToken.new
|
199
|
+
BLOCK_ENTRY = BlockEntryToken.new
|
200
|
+
BLOCK_END = BlockEndToken.new
|
201
|
+
FLOW_ENTRY = FlowEntryToken.new
|
202
|
+
FLOW_MAPPING_END = FlowMappingEndToken.new
|
203
|
+
FLOW_MAPPING_START = FlowMappingStartToken.new
|
204
|
+
FLOW_SEQUENCE_END = FlowSequenceEndToken.new
|
205
|
+
FLOW_SEQUENCE_START = FlowSequenceStartToken.new
|
206
|
+
KEY = KeyToken.new
|
207
|
+
VALUE = ValueToken.new
|
208
|
+
STREAM_END = StreamEndToken.new
|
209
|
+
STREAM_START = StreamStartToken.new
|
204
210
|
end
|
@@ -1,14 +1,35 @@
|
|
1
1
|
|
2
2
|
module RbYAML
|
3
|
+
Token = Struct.new(:start_mark, :end_mark)
|
4
|
+
|
3
5
|
class Token
|
4
|
-
|
5
|
-
def
|
6
|
-
|
7
|
-
|
6
|
+
def __is_document_start; false; end
|
7
|
+
def __is_document_end; false; end
|
8
|
+
def __is_stream_start; false; end
|
9
|
+
def __is_stream_end; false; end
|
10
|
+
def __is_directive; false; end
|
11
|
+
def __is_block_sequence_start; false; end
|
12
|
+
def __is_block_mapping_start; false; end
|
13
|
+
def __is_block_end; false; end
|
14
|
+
def __is_flow_sequence_start; false; end
|
15
|
+
def __is_flow_mapping_start; false; end
|
16
|
+
def __is_flow_sequence_end; false; end
|
17
|
+
def __is_flow_mapping_end; false; end
|
18
|
+
def __is_key; false; end
|
19
|
+
def __is_value; false; end
|
20
|
+
def __is_block_entry; false; end
|
21
|
+
def __is_flow_entry; false; end
|
22
|
+
def __is_alias; false; end
|
23
|
+
def __is_anchor; false; end
|
24
|
+
def __is_tag; false; end
|
25
|
+
def __is_scalar; false; end
|
26
|
+
def hash
|
27
|
+
object_id
|
8
28
|
end
|
9
29
|
end
|
10
30
|
|
11
31
|
class DirectiveToken < Token
|
32
|
+
def __is_directive; true; end
|
12
33
|
def tid
|
13
34
|
"<directive>"
|
14
35
|
end
|
@@ -21,18 +42,21 @@ module RbYAML
|
|
21
42
|
end
|
22
43
|
|
23
44
|
class DocumentStartToken < Token
|
45
|
+
def __is_document_start; true; end
|
24
46
|
def tid
|
25
47
|
"<document start>"
|
26
48
|
end
|
27
49
|
end
|
28
50
|
|
29
51
|
class DocumentEndToken < Token
|
52
|
+
def __is_document_end; true; end
|
30
53
|
def tid
|
31
54
|
"<document end>"
|
32
55
|
end
|
33
56
|
end
|
34
57
|
|
35
58
|
class StreamStartToken < Token
|
59
|
+
def __is_stream_start; true; end
|
36
60
|
def tid
|
37
61
|
"<stream start>"
|
38
62
|
end
|
@@ -44,78 +68,91 @@ module RbYAML
|
|
44
68
|
end
|
45
69
|
|
46
70
|
class StreamEndToken < Token
|
71
|
+
def __is_stream_end; true; end
|
47
72
|
def tid
|
48
73
|
"<stream end>"
|
49
74
|
end
|
50
75
|
end
|
51
76
|
|
52
77
|
class BlockSequenceStartToken < Token
|
78
|
+
def __is_block_sequence_start; true; end
|
53
79
|
def tid
|
54
80
|
"<block sequence start>"
|
55
81
|
end
|
56
82
|
end
|
57
83
|
|
58
84
|
class BlockMappingStartToken < Token
|
85
|
+
def __is_block_mapping_start; true; end
|
59
86
|
def tid
|
60
87
|
"<block mapping start>"
|
61
88
|
end
|
62
89
|
end
|
63
90
|
|
64
91
|
class BlockEndToken < Token
|
92
|
+
def __is_block_end; true; end
|
65
93
|
def tid
|
66
94
|
"<block end>"
|
67
95
|
end
|
68
96
|
end
|
69
97
|
|
70
98
|
class FlowSequenceStartToken < Token
|
99
|
+
def __is_flow_sequence_start; true; end
|
71
100
|
def tid
|
72
101
|
"["
|
73
102
|
end
|
74
103
|
end
|
75
104
|
|
76
105
|
class FlowMappingStartToken < Token
|
106
|
+
def __is_flow_mapping_start; true; end
|
77
107
|
def tid
|
78
108
|
"{"
|
79
109
|
end
|
80
110
|
end
|
81
111
|
|
82
112
|
class FlowSequenceEndToken < Token
|
113
|
+
def __is_flow_sequence_end; true; end
|
83
114
|
def tid
|
84
115
|
"]"
|
85
116
|
end
|
86
117
|
end
|
87
118
|
|
88
119
|
class FlowMappingEndToken < Token
|
120
|
+
def __is_flow_mapping_end; true; end
|
89
121
|
def tid
|
90
122
|
"}"
|
91
123
|
end
|
92
124
|
end
|
93
125
|
|
94
126
|
class KeyToken < Token
|
127
|
+
def __is_key; true; end
|
95
128
|
def tid
|
96
129
|
"?"
|
97
130
|
end
|
98
131
|
end
|
99
132
|
|
100
133
|
class ValueToken < Token
|
134
|
+
def __is_value; true; end
|
101
135
|
def tid
|
102
136
|
":"
|
103
137
|
end
|
104
138
|
end
|
105
139
|
|
106
140
|
class BlockEntryToken < Token
|
141
|
+
def __is_block_entry; true; end
|
107
142
|
def tid
|
108
143
|
"-"
|
109
144
|
end
|
110
145
|
end
|
111
146
|
|
112
147
|
class FlowEntryToken < Token
|
148
|
+
def __is_flow_entry; true; end
|
113
149
|
def tid
|
114
150
|
","
|
115
151
|
end
|
116
152
|
end
|
117
153
|
|
118
154
|
class AliasToken < Token
|
155
|
+
def __is_alias; true; end
|
119
156
|
def tid
|
120
157
|
"<alias>"
|
121
158
|
end
|
@@ -127,6 +164,7 @@ module RbYAML
|
|
127
164
|
end
|
128
165
|
|
129
166
|
class AnchorToken < Token
|
167
|
+
def __is_anchor; true; end
|
130
168
|
def tid
|
131
169
|
"<anchor>"
|
132
170
|
end
|
@@ -138,6 +176,7 @@ module RbYAML
|
|
138
176
|
end
|
139
177
|
|
140
178
|
class TagToken < Token
|
179
|
+
def __is_tag; true; end
|
141
180
|
def tid
|
142
181
|
"<tag>"
|
143
182
|
end
|
@@ -149,6 +188,7 @@ module RbYAML
|
|
149
188
|
end
|
150
189
|
|
151
190
|
class ScalarToken < Token
|
191
|
+
def __is_scalar; true; end
|
152
192
|
def tid
|
153
193
|
"<scalar>"
|
154
194
|
end
|