RbYAML 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/lib/rbyaml.rb +14 -256
  2. data/lib/rbyaml.rb.~1.2.~ +383 -0
  3. data/lib/rbyaml/composer.rb +9 -11
  4. data/lib/rbyaml/{composer.rb.~1.2.~ → composer.rb.~1.3.~} +28 -25
  5. data/lib/rbyaml/constants.rb +95 -0
  6. data/lib/rbyaml/constructor.rb +180 -89
  7. data/lib/rbyaml/{constructor.rb.~1.2.~ → constructor.rb.~1.9.~} +137 -95
  8. data/lib/rbyaml/dumper.rb +12 -9
  9. data/lib/rbyaml/dumper.rb.~1.3.~ +36 -0
  10. data/lib/rbyaml/emitter.rb +14 -28
  11. data/lib/rbyaml/{emitter.rb.~1.2.~ → emitter.rb.~1.6.~} +22 -33
  12. data/lib/rbyaml/error.rb +4 -57
  13. data/lib/rbyaml/error.rb.~1.2.~ +75 -0
  14. data/lib/rbyaml/events.rb +8 -14
  15. data/lib/rbyaml/{events.rb.~1.2.~ → events.rb.~1.4.~} +29 -6
  16. data/lib/rbyaml/nodes.rb +5 -5
  17. data/lib/rbyaml/{nodes.rb.~1.2.~ → nodes.rb.~1.3.~} +13 -9
  18. data/lib/rbyaml/parser.rb +70 -108
  19. data/lib/rbyaml/parser.rb.~1.4.~ +632 -0
  20. data/lib/rbyaml/representer.rb +19 -157
  21. data/lib/rbyaml/representer.rb.old +317 -0
  22. data/lib/rbyaml/{representer.rb.~1.2.~ → representer.rb.~1.5.~} +60 -26
  23. data/lib/rbyaml/resolver.rb +6 -6
  24. data/lib/rbyaml/{resolver.rb.~1.1.~ → resolver.rb.~1.6.~} +20 -20
  25. data/lib/rbyaml/rubytypes.rb +391 -0
  26. data/lib/rbyaml/scanner.rb +123 -225
  27. data/lib/rbyaml/{scanner.rb.~1.2.~ → scanner.rb.~1.5.~} +466 -378
  28. data/lib/rbyaml/serializer.rb +9 -9
  29. data/lib/rbyaml/{serializer.rb.~1.2.~ → serializer.rb.~1.4.~} +19 -17
  30. data/lib/rbyaml/stream.rb +48 -0
  31. data/lib/rbyaml/tag.rb +72 -0
  32. data/lib/rbyaml/tokens.rb +22 -16
  33. data/lib/rbyaml/{tokens.rb.~1.2.~ → tokens.rb.~1.3.~} +44 -4
  34. data/lib/rbyaml/types.rb +146 -0
  35. data/lib/rbyaml/util.rb.~1.3.~ +38 -0
  36. data/lib/rbyaml/yaml.rb +22 -32
  37. data/lib/rbyaml/{yaml.rb.~1.2.~ → yaml.rb.~1.5.~} +17 -17
  38. data/test/load_one.rb +6 -0
  39. data/test/load_one_yaml.rb +6 -0
  40. data/test/output_events.rb +9 -0
  41. data/test/test_add_ctor.rb +51 -0
  42. data/test/test_add_ctor.rb.~1.1.~ +30 -0
  43. data/test/test_bm.rb +2 -2
  44. data/test/test_bm.rb.~1.1.~ +28 -0
  45. data/test/test_gems.rb +10 -0
  46. data/test/test_one.rb.~1.1.~ +5 -0
  47. data/test/test_one_syck.rb +5 -0
  48. data/test/test_rbyaml.rb +63 -32
  49. data/test/test_rbyaml.rb.~1.6.~ +59 -0
  50. data/test/{test_rbyaml.rb.~1.2.~ → test_rbyaml_old.rb} +13 -4
  51. data/test/test_time_events.rb +24 -0
  52. data/test/test_time_nodes.rb +24 -0
  53. data/test/test_time_tokens.rb +24 -0
  54. data/test/yaml/gems_new.yml +147456 -0
  55. data/test/yaml/test1.rb +8 -0
  56. data/test/yaml/test10.rb +14 -0
  57. data/test/yaml/test11.rb +13 -0
  58. data/test/yaml/test12.rb +9 -0
  59. data/test/yaml/test13.rb +9 -0
  60. data/test/yaml/test14.rb +13 -0
  61. data/test/yaml/test15.rb +12 -0
  62. data/test/yaml/test16.rb +11 -0
  63. data/test/yaml/test16.rb.~1.1.~ +11 -0
  64. data/test/yaml/test17.rb +10 -0
  65. data/test/yaml/test18.rb +13 -0
  66. data/test/yaml/test19.rb +9 -0
  67. data/test/yaml/test19.yml +1 -1
  68. data/test/yaml/test2.rb +8 -0
  69. data/test/yaml/test20.rb +11 -0
  70. data/test/yaml/test20.rb.~1.1.~ +9 -0
  71. data/test/yaml/test20.yml +1 -1
  72. data/test/yaml/test3.rb +13 -0
  73. data/test/yaml/test4.rb +13 -0
  74. data/test/yaml/test5.rb +8 -0
  75. data/test/yaml/test6.rb +10 -0
  76. data/test/yaml/test7.rb +15 -0
  77. data/test/yaml/test8.rb +15 -0
  78. data/test/yaml/test9.rb +13 -0
  79. metadata +61 -16
  80. data/lib/rbyaml/dumper.rb.~1.2.~ +0 -43
  81. data/lib/rbyaml/parser.rb.~1.2.~ +0 -494
@@ -1,6 +1,4 @@
1
-
2
1
  module RbYAML
3
- Event = Struct.new(:start_mark,:end_mark)
4
2
  class Event
5
3
  def hash
6
4
  object_id
@@ -27,8 +25,7 @@ module RbYAML
27
25
 
28
26
  class NodeEvent < Event
29
27
  attr_reader :anchor
30
- def initialize(anchor, start_mark=nil, end_mark=nil)
31
- super(start_mark,end_mark)
28
+ def initialize(anchor)
32
29
  @anchor = anchor
33
30
  end
34
31
  def __is_node; true; end
@@ -36,8 +33,8 @@ module RbYAML
36
33
 
37
34
  class CollectionStartEvent < NodeEvent
38
35
  attr_reader :tag, :implicit, :flow_style
39
- def initialize(anchor,tag,implicit,start_mark=nil, end_mark=nil,flow_style=nil)
40
- super(anchor,start_mark,end_mark)
36
+ def initialize(anchor,tag,implicit,flow_style=nil)
37
+ super(anchor)
41
38
  @tag = tag
42
39
  @implicit = implicit
43
40
  @flow_style = flow_style
@@ -51,8 +48,7 @@ module RbYAML
51
48
 
52
49
  class StreamStartEvent < Event
53
50
  attr_reader :encoding
54
- def initialize(start_mark=nil,end_mark=nil,encoding=nil)
55
- super(start_mark,end_mark)
51
+ def initialize(encoding=nil)
56
52
  @encoding = encoding
57
53
  end
58
54
  def __is_stream_start; true; end
@@ -64,8 +60,7 @@ module RbYAML
64
60
 
65
61
  class DocumentStartEvent < Event
66
62
  attr_reader :explicit, :version, :tags
67
- def initialize(start_mark=nil,end_mark=nil,explicit=nil,version=nil,tags=nil)
68
- super(start_mark,end_mark)
63
+ def initialize(explicit=nil,version=nil,tags=nil)
69
64
  @explicit = explicit
70
65
  @version = version
71
66
  @tags = tags
@@ -75,8 +70,7 @@ module RbYAML
75
70
 
76
71
  class DocumentEndEvent < Event
77
72
  attr_reader :explicit
78
- def initialize(start_mark=nil,end_mark=nil,explicit=nil)
79
- super(start_mark,end_mark)
73
+ def initialize(explicit=nil)
80
74
  @explicit = explicit
81
75
  end
82
76
  def __is_document_end; true; end
@@ -88,8 +82,8 @@ module RbYAML
88
82
 
89
83
  class ScalarEvent < NodeEvent
90
84
  attr_reader :tag, :style, :value, :implicit
91
- def initialize(anchor,tag,implicit,value,start_mark=nil, end_mark=nil,style=nil)
92
- super(anchor,start_mark,end_mark)
85
+ def initialize(anchor,tag,implicit,value,style=nil)
86
+ super(anchor)
93
87
  @tag = tag
94
88
  @style = style
95
89
  @value = value
@@ -1,17 +1,27 @@
1
-
2
1
  module RbYAML
2
+ Event = Struct.new(:start_mark,:end_mark)
3
3
  class Event
4
- attr_reader :start_mark, :end_mark
5
- def initialize(start_mark=nil,end_mark=nil)
6
- @start_mark = start_mark
7
- @end_mark = end_mark
4
+ def hash
5
+ object_id
8
6
  end
9
-
10
7
  def to_s
11
8
  attributes = ["@anchor","@tag","@implicit","@value"] & self.instance_variables
12
9
  args = attributes.collect {|val| "#{val[1..-1]}=" + eval("#{val}").to_s}.join(", ")
13
10
  "#{self.class.name}(#{args})"
14
11
  end
12
+ def __is_node; false; end
13
+ def __is_collection_start; false; end
14
+ def __is_collection_end; false; end
15
+ def __is_stream_start; false; end
16
+ def __is_stream_end; false; end
17
+ def __is_document_start; false; end
18
+ def __is_document_end; false; end
19
+ def __is_alias; false; end
20
+ def __is_scalar; false; end
21
+ def __is_sequence_start; false; end
22
+ def __is_sequence_end; false; end
23
+ def __is_mapping_start; false; end
24
+ def __is_mapping_end; false; end
15
25
  end
16
26
 
17
27
  class NodeEvent < Event
@@ -20,6 +30,7 @@ module RbYAML
20
30
  super(start_mark,end_mark)
21
31
  @anchor = anchor
22
32
  end
33
+ def __is_node; true; end
23
34
  end
24
35
 
25
36
  class CollectionStartEvent < NodeEvent
@@ -30,9 +41,11 @@ module RbYAML
30
41
  @implicit = implicit
31
42
  @flow_style = flow_style
32
43
  end
44
+ def __is_collection_start; true; end
33
45
  end
34
46
 
35
47
  class CollectionEndEvent < Event
48
+ def __is_collection_end; true; end
36
49
  end
37
50
 
38
51
  class StreamStartEvent < Event
@@ -41,9 +54,11 @@ module RbYAML
41
54
  super(start_mark,end_mark)
42
55
  @encoding = encoding
43
56
  end
57
+ def __is_stream_start; true; end
44
58
  end
45
59
 
46
60
  class StreamEndEvent < Event
61
+ def __is_stream_end; true; end
47
62
  end
48
63
 
49
64
  class DocumentStartEvent < Event
@@ -54,6 +69,7 @@ module RbYAML
54
69
  @version = version
55
70
  @tags = tags
56
71
  end
72
+ def __is_document_start; true; end
57
73
  end
58
74
 
59
75
  class DocumentEndEvent < Event
@@ -62,9 +78,11 @@ module RbYAML
62
78
  super(start_mark,end_mark)
63
79
  @explicit = explicit
64
80
  end
81
+ def __is_document_end; true; end
65
82
  end
66
83
 
67
84
  class AliasEvent < NodeEvent
85
+ def __is_alias; true; end
68
86
  end
69
87
 
70
88
  class ScalarEvent < NodeEvent
@@ -76,18 +94,23 @@ module RbYAML
76
94
  @value = value
77
95
  @implicit = implicit
78
96
  end
97
+ def __is_scalar; true; end
79
98
  end
80
99
 
81
100
  class SequenceStartEvent < CollectionStartEvent
101
+ def __is_sequence_start; true; end
82
102
  end
83
103
 
84
104
  class SequenceEndEvent < CollectionEndEvent
105
+ def __is_sequence_end; true; end
85
106
  end
86
107
 
87
108
  class MappingStartEvent < CollectionStartEvent
109
+ def __is_mapping_start; true; end
88
110
  end
89
111
 
90
112
  class MappingEndEvent < CollectionEndEvent
113
+ def __is_mapping_end; true; end
91
114
  end
92
115
  end
93
116
 
@@ -1,6 +1,6 @@
1
1
 
2
2
  module RbYAML
3
- Node = Struct.new(:tag, :value, :start_mark, :end_mark)
3
+ Node = Struct.new(:tag, :value)
4
4
  class Node
5
5
  def hash
6
6
  object_id
@@ -22,8 +22,8 @@ module RbYAML
22
22
 
23
23
  attr_accessor :style
24
24
 
25
- def initialize(tag, value,start_mark=nil,end_mark=nil,style=nil)
26
- super(tag,value,start_mark,end_mark)
25
+ def initialize(tag,value,style=nil)
26
+ super(tag,value)
27
27
  @style = style
28
28
  end
29
29
  def __is_scalar; true; end
@@ -32,8 +32,8 @@ module RbYAML
32
32
  class CollectionNode < Node
33
33
  attr_accessor :flow_style
34
34
 
35
- def initialize(tag, value,start_mark=nil,end_mark=nil,flow_style=nil)
36
- super(tag,value,start_mark,end_mark)
35
+ def initialize(tag, value,flow_style=nil)
36
+ super(tag,value)
37
37
  @flow_style = flow_style
38
38
  end
39
39
  def __is_collection; true; end
@@ -1,18 +1,18 @@
1
1
 
2
2
  module RbYAML
3
+ Node = Struct.new(:tag, :value, :start_mark, :end_mark)
3
4
  class Node
4
- attr_accessor :tag, :value, :start_mark, :end_mark
5
-
6
- def initialize(tag, value, start_mark, end_mark)
7
- @tag = tag
8
- @value = value
9
- @start_mark = start_mark
10
- @end_mark = end_mark
5
+ def hash
6
+ object_id
11
7
  end
12
-
13
8
  def to_s
14
- "#{self.class.name}(tag=#{@tag}, value=#{@value})"
9
+ "#{self.class.name}(tag=#{tag}, value=#{value})"
15
10
  end
11
+
12
+ def __is_scalar; false; end
13
+ def __is_collection; false; end
14
+ def __is_sequence; false; end
15
+ def __is_mapping; false; end
16
16
  end
17
17
 
18
18
  class ScalarNode < Node
@@ -26,6 +26,7 @@ module RbYAML
26
26
  super(tag,value,start_mark,end_mark)
27
27
  @style = style
28
28
  end
29
+ def __is_scalar; true; end
29
30
  end
30
31
 
31
32
  class CollectionNode < Node
@@ -35,18 +36,21 @@ module RbYAML
35
36
  super(tag,value,start_mark,end_mark)
36
37
  @flow_style = flow_style
37
38
  end
39
+ def __is_collection; true; end
38
40
  end
39
41
 
40
42
  class SequenceNode < CollectionNode
41
43
  def tid
42
44
  "sequence"
43
45
  end
46
+ def __is_sequence; true; end
44
47
  end
45
48
 
46
49
  class MappingNode < CollectionNode
47
50
  def tid
48
51
  "mapping"
49
52
  end
53
+ def __is_mapping; true; end
50
54
  end
51
55
  end
52
56
 
@@ -50,7 +50,7 @@ require 'rbyaml/events'
50
50
  require 'rbyaml/scanner'
51
51
 
52
52
  module RbYAML
53
- class ParserError < MarkedYAMLError
53
+ class ParserError < YAMLError
54
54
  end
55
55
 
56
56
  class Parser
@@ -59,6 +59,14 @@ module RbYAML
59
59
  '!!' => 'tag:yaml.org,2002:'
60
60
  }
61
61
 
62
+ DOCUMENT_END_TRUE = DocumentEndEvent.new(true)
63
+ DOCUMENT_END_FALSE = DocumentEndEvent.new(false)
64
+ MAPPING_END = MappingEndEvent.new
65
+ SEQUENCE_END = SequenceEndEvent.new
66
+ STREAM_END = StreamEndEvent.new
67
+ STREAM_START = StreamStartEvent.new
68
+
69
+
62
70
  def initialize(scanner)
63
71
  @scanner = scanner
64
72
  @current_event = nil
@@ -67,9 +75,6 @@ module RbYAML
67
75
  @working_events = nil
68
76
  @tag_handles = { }
69
77
  @parse_stack = nil
70
- @start_mark = []
71
- @tks = []
72
-
73
78
  end
74
79
 
75
80
  def check_event(*choices)
@@ -108,11 +113,8 @@ module RbYAML
108
113
  def parse_stream
109
114
  if !@parse_stack
110
115
  @parse_stack = [:stream]
111
- @tokens = nil
112
116
  @tags = []
113
117
  @anchors = []
114
- @start_marks = []
115
- @end_marks = []
116
118
  end
117
119
  end
118
120
 
@@ -129,11 +131,8 @@ module RbYAML
129
131
  end
130
132
  end
131
133
  else
132
- @tokens = nil
133
134
  @tags = []
134
135
  @anchors = []
135
- @start_marks = []
136
- @end_marks = []
137
136
  return nil
138
137
  end
139
138
  end
@@ -141,140 +140,125 @@ module RbYAML
141
140
  #TERMINALS, definitions
142
141
 
143
142
  def stream_start
144
- token = @scanner.get_token
145
- StreamStartEvent.new(token.start_mark, token.end_mark,token.encoding)
143
+ @scanner.get_token
144
+ STREAM_START
146
145
  end
147
146
 
148
147
  def stream_end
149
- token = @scanner.get_token
150
- StreamEndEvent.new(token.start_mark, token.end_mark)
148
+ @scanner.get_token
149
+ STREAM_END
151
150
  end
152
151
 
153
152
  def document_start_implicit
154
153
  token = @scanner.peek_token
155
154
  version, tags = process_directives
156
- DocumentStartEvent.new(token.start_mark,token.start_mark,false)
155
+ DocumentStartEvent.new(false,version,tags)
157
156
  end
158
157
 
159
158
  def document_start
160
159
  token = @scanner.peek_token
161
- start_mark = token.start_mark
162
160
  version, tags = process_directives
163
- raise ParserError.new(nil, nil,"expected '<document start>', but found #{token.tid}",token.start_mark) unless @scanner.peek_token.__is_document_start
164
- @token = token = @scanner.get_token
165
- end_mark = token.end_mark
166
- DocumentStartEvent.new(start_mark, end_mark,true,version,tags)
161
+ raise ParserError.new(nil, "expected '<document start>', but found #{token.tid}") unless @scanner.peek_token.__is_document_start
162
+ @scanner.get_token
163
+ DocumentStartEvent.new(true,version,tags)
167
164
  end
168
165
 
169
166
  def document_end
170
167
  token = @scanner.peek_token
171
- start_mark = end_mark = token.start_mark
172
168
  explicit = false
173
169
  while @scanner.peek_token.__is_document_end
174
- @tokens = token = @scanner.get_token
175
- end_mark = token.end_mark
170
+ @scanner.get_token
176
171
  explicit = true
177
172
  end
178
- DocumentEndEvent.new(start_mark, end_mark, explicit)
173
+ explicit ? DOCUMENT_END_TRUE : DOCUMENT_END_FALSE
179
174
  end
180
175
 
181
176
  def _alias
182
- token = @scanner.get_token
183
- AliasEvent.new(token.value, token.start_mark, token.end_mark)
177
+ AliasEvent.new(@scanner.get_token.value)
184
178
  end
185
179
 
186
180
  def block_sequence_start
187
- end_mark = @scanner.peek_token.start_mark
188
- implicit = @tags.last.nil? || @tags.last == ?!
189
- @tokens = token = @scanner.get_token
190
- SequenceStartEvent.new(@anchors.last, @tags.last, implicit, @start_marks.last, end_mark,false)
181
+ implicit = @tags.last.nil? || @tags.last == "!"
182
+ @scanner.get_token
183
+ SequenceStartEvent.new(@anchors.last, @tags.last, implicit, false)
191
184
  end
192
185
 
193
186
  def block_indentless_sequence_start
194
- end_mark = @scanner.peek_token.end_mark
195
- implicit = @tags.last.nil? || @tags.last == ?!
196
- SequenceStartEvent.new(@anchors.last, @tags.last, implicit, @start_marks.last, end_mark,false)
187
+ implicit = @tags.last.nil? || @tags.last == "!"
188
+ SequenceStartEvent.new(@anchors.last, @tags.last, implicit, false)
197
189
  end
198
190
 
199
191
  def block_sequence_end
200
192
  if !@scanner.peek_token.__is_block_end
201
- token = @scanner.peek_token
202
- raise ParserError.new("while scanning a block collection", @start_marks.last,"expected <block end>, but found #{token.tid}: #{token.inspect}", token.start_mark)
193
+ raise ParserError.new("while scanning a block collection","expected <block end>, but found #{token.tid}: #{token.inspect}")
203
194
  end
204
- token = @scanner.get_token
205
- SequenceEndEvent.new(token.start_mark, token.end_mark)
195
+ @scanner.get_token
196
+ SEQUENCE_END
206
197
  end
207
198
 
208
199
  def block_indentless_sequence_end
209
- @tokens = token = @scanner.peek_token
210
- SequenceEndEvent.new(token.start_mark, token.end_mark)
200
+ SEQUENCE_END
211
201
  end
212
202
 
213
203
  def block_mapping_start
214
- end_mark = @scanner.peek_token.start_mark
215
- implicit = @tags.last.nil? || @tags.last == ?!
216
- @tokens = token = @scanner.get_token
217
- MappingStartEvent.new(@anchors.last, @tags.last, implicit, @start_marks.last, end_mark,false)
204
+ implicit = @tags.last.nil? || @tags.last == "!"
205
+ @scanner.get_token
206
+ MappingStartEvent.new(@anchors.last, @tags.last, implicit,false)
218
207
  end
219
208
 
220
209
  def block_mapping_end
221
210
  if !@scanner.peek_token.__is_block_end
222
- token = @scanner.peek_token
223
- raise ParserError.new("while scanning a block mapping", @start_marks.last,"expected <block end>, but found #{token.tid}", token.start_mark)
211
+ raise ParserError.new("while scanning a block mapping","expected <block end>, but found #{token.tid}")
224
212
  end
225
- @tokens = token = @scanner.get_token
226
- MappingEndEvent.new(token.start_mark, token.end_mark)
213
+ @scanner.get_token
214
+ MAPPING_END
227
215
  end
228
216
 
229
217
  def flow_sequence_start
230
- end_mark = @scanner.peek_token.end_mark
231
- implicit = @tags.last.nil? || @tags.last == ?!
232
- @tokens = token = @scanner.get_token
233
- SequenceStartEvent.new(@anchors.last, @tags.last, implicit, @start_marks.last, end_mark,true)
218
+ implicit = @tags.last.nil? || @tags.last == "!"
219
+ @scanner.get_token
220
+ SequenceStartEvent.new(@anchors.last, @tags.last, implicit,true)
234
221
  end
235
222
 
236
223
  def flow_sequence_end
237
- @tokens = token = @scanner.get_token
238
- SequenceEndEvent.new(token.start_mark, token.end_mark)
224
+ @scanner.get_token
225
+ SEQUENCE_END
239
226
  end
240
227
 
241
228
  def flow_internal_mapping_start
242
- @tokens = token = @scanner.get_token
243
- MappingStartEvent.new(nil,nil,true,token.start_mark, token.end_mark,true)
229
+ @scanner.get_token
230
+ MappingStartEvent.new(nil,nil,true,true)
244
231
  end
245
232
 
246
233
  def flow_internal_mapping_end
247
- token = peek_token
248
- MappingEndEvent.new(token.start_mark, token.start_mark)
234
+ MAPPING_END
249
235
  end
250
236
 
251
237
  def flow_mapping_start
252
- end_mark = @scanner.peek_token.end_mark
253
- implicit = @tags.last.nil? || @tags.last == ?!
254
- @tokens = token = @scanner.get_token
255
- MappingStartEvent.new(@anchors.last, @tags.last, implicit, @start_marks.last, end_mark,true)
238
+ implicit = @tags.last.nil? || @tags.last == "!"
239
+ @scanner.get_token
240
+ MappingStartEvent.new(@anchors.last, @tags.last, implicit,true)
256
241
  end
257
242
 
258
243
  def flow_mapping_end
259
- @tokens = token = @scanner.get_token
260
- MappingEndEvent.new(token.start_mark, token.end_mark)
244
+ @scanner.get_token
245
+ MAPPING_END
261
246
  end
262
247
 
263
248
  def scalar
264
249
  token = @scanner.get_token
265
- end_mark = token.end_mark
266
- if (token.plain && @tags.last.nil?) || @tags.last == ?!
250
+ if (token.plain && @tags.last.nil?) || @tags.last == "!"
267
251
  implicit = [true, false]
268
252
  elsif @tags.last.nil?
269
253
  implicit = [false, true]
270
254
  else
271
255
  implicit = [false, false]
272
256
  end
273
- ScalarEvent.new(@anchors.last, @tags.last, implicit, token.value, @start_marks.last, end_mark, token.style)
257
+ ScalarEvent.new(@anchors.last, @tags.last, implicit, token.value,token.style)
274
258
  end
275
259
 
276
260
  def empty_scalar
277
- process_empty_scalar(@tokens.end_mark)
261
+ process_empty_scalar
278
262
  end
279
263
 
280
264
 
@@ -329,54 +313,35 @@ module RbYAML
329
313
  def properties
330
314
  anchor = nil
331
315
  tag = nil
332
- start_mark = end_mark = tag_mark = nil
333
316
  if @scanner.peek_token.__is_anchor
334
- token = @scanner.get_token
335
- start_mark = token.start_mark
336
- end_mark = token.end_mark
337
- anchor = token.value
317
+ anchor = @scanner.get_token.value
338
318
  if @scanner.peek_token.__is_tag
339
- token = @scanner.get_token
340
- tag_mark = token.start_mark
341
- end_mark = token.end_mark
342
- tag = token.value
319
+ tag = @scanner.get_token.value
343
320
  end
344
321
  elsif @scanner.peek_token.__is_tag
345
- token = @scanner.get_token
346
- start_mark = tag_mark = token.start_mark
347
- end_mark = token.end_mark
348
- tag = token.value
322
+ tag = @scanner.get_token.value
349
323
  if @scanner.peek_token.__is_anchor
350
- token = @scanner.get_token
351
- end_mark = token.end_mark
352
- anchor = token.value
324
+ anchor = @scanner.get_token.value
353
325
  end
354
326
  end
355
327
 
356
328
  if !tag.nil? and tag != "!"
357
329
  handle, suffix = tag
358
330
  if !handle.nil?
359
- raise ParserError.new("while parsing a node", start_mark,"found undefined tag handle #{handle}",tag_mark) if !@tag_handles.include?(handle)
331
+ raise ParserError.new("while parsing a node","found undefined tag handle #{handle}") if !@tag_handles.include?(handle)
360
332
  tag = @tag_handles[handle]+suffix
361
333
  else
362
334
  tag = suffix
363
335
  end
364
336
  end
365
- if start_mark.nil?
366
- start_mark = end_mark = @scanner.peek_token.start_mark
367
- end
368
337
  @anchors << anchor
369
338
  @tags << tag
370
- @start_marks << start_mark
371
- @end_marks << end_mark
372
339
  nil
373
340
  end
374
341
 
375
342
  def un_properties
376
343
  @anchors.pop
377
344
  @tags.pop
378
- @start_marks.pop
379
- @end_marks.pop
380
345
  nil
381
346
  end
382
347
 
@@ -393,7 +358,7 @@ module RbYAML
393
358
  elsif token.__is_scalar
394
359
  return scalar
395
360
  else
396
- raise ParserError.new("while scanning a node", @start_marks.last,"expected the node content, but found #{token.tid}",token.start_mark)
361
+ raise ParserError.new("while scanning a node","expected the node content, but found #{token.tid}")
397
362
  end
398
363
  end
399
364
 
@@ -406,13 +371,13 @@ module RbYAML
406
371
  elsif token.__is_scalar
407
372
  return scalar
408
373
  else
409
- raise ParserError.new("while scanning a flow node", @start_marks.last,"expected the node content, but found #{token.tid}",token.start_mark)
374
+ raise ParserError.new("while scanning a flow node","expected the node content, but found #{token.tid}")
410
375
  end
411
376
  end
412
377
 
413
378
  def block_sequence_entry
414
379
  if @scanner.peek_token.__is_block_entry
415
- @tokens = token = @scanner.get_token
380
+ @scanner.get_token
416
381
  if !(@scanner.peek_token.__is_block_entry || @scanner.peek_token.__is_block_end)
417
382
  @parse_stack += [:block_sequence_entry]
418
383
  return block_node
@@ -428,7 +393,7 @@ module RbYAML
428
393
  # ((KEY block_node_or_indentless_sequence?)? (VALUE block_node_or_indentless_sequence?)?)*
429
394
  if @scanner.peek_token.__is_key || @scanner.peek_token.__is_value
430
395
  if @scanner.check_token(KeyToken)
431
- @tokens = token = @scanner.get_token
396
+ @scanner.get_token
432
397
  curr = @scanner.peek_token
433
398
  if !(curr.__is_key || curr.__is_value || curr.__is_block_end)
434
399
  @parse_stack += [:block_mapping_entry,:block_mapping_entry_value]
@@ -448,7 +413,7 @@ module RbYAML
448
413
  def block_mapping_entry_value
449
414
  if @scanner.peek_token.__is_key || @scanner.peek_token.__is_value
450
415
  if @scanner.peek_token.__is_value
451
- @tokens = token = @scanner.get_token
416
+ @scanner.get_token
452
417
  curr = @scanner.peek_token
453
418
  if !(curr.__is_key || curr.__is_value || curr.__is_block_end)
454
419
  return block_node_or_indentless_sequence
@@ -456,7 +421,6 @@ module RbYAML
456
421
  return empty_scalar
457
422
  end
458
423
  else
459
- @tokens = token = @scanner.peek_token
460
424
  return empty_scalar
461
425
  end
462
426
  end
@@ -494,7 +458,7 @@ module RbYAML
494
458
 
495
459
  def indentless_block_sequence_entry
496
460
  if @scanner.peek_token.__is_block_entry
497
- @tokens = @scanner.get_token
461
+ @scanner.get_token
498
462
  curr = @scanner.peek_token
499
463
  if !(curr.__is_block_entry || curr.__is_key || curr.__is_value || curr.__is_block_end)
500
464
  @parse_stack << :indentless_block_sequence_entry
@@ -541,14 +505,13 @@ module RbYAML
541
505
 
542
506
  def flow_internal_value
543
507
  if @scanner.peek_token.__is_value
544
- @tokens = token = @scanner.get_token
508
+ @scanner.get_token
545
509
  if !(@scanner.peek_token.__is_flow_entry || @scanner.peek_token.__is_flow_sequence_end)
546
510
  flow_node
547
511
  else
548
512
  empty_scalar
549
513
  end
550
514
  else
551
- @tokens = token = @scanner.peek_token
552
515
  empty_scalar
553
516
  end
554
517
  end
@@ -576,7 +539,7 @@ module RbYAML
576
539
  def flow_mapping_internal_content
577
540
  curr = @scanner.peek_token
578
541
  if !(curr.__is_value || curr.__is_flow_entry || curr.__is_flow_mapping_end)
579
- @tokens = token = @scanner.get_token
542
+ @scanner.get_token
580
543
  flow_node
581
544
  else
582
545
  empty_scalar
@@ -585,14 +548,13 @@ module RbYAML
585
548
 
586
549
  def flow_mapping_internal_value
587
550
  if @scanner.peek_token.__is_value
588
- @tokens = token = @scanner.get_token
551
+ @scanner.get_token
589
552
  if !(@scanner.peek_token.__is_flow_entry || @scanner.peek_token.__is_flow_mapping_end)
590
553
  flow_node
591
554
  else
592
555
  empty_scalar
593
556
  end
594
557
  else
595
- @tokens = token = @scanner.peek_token
596
558
  empty_scalar
597
559
  end
598
560
  end
@@ -603,13 +565,13 @@ module RbYAML
603
565
  while @scanner.peek_token.__is_directive
604
566
  token = @scanner.get_token
605
567
  if token.name == "YAML"
606
- raise ParserError.new(nil, nil,"found duplicate YAML directive", token.start_mark) if !@yaml_version.nil?
568
+ raise ParserError.new(nil,"found duplicate YAML directive") if !@yaml_version.nil?
607
569
  major, minor = token.value[0].to_i, token.value[1].to_i
608
- raise ParserError.new(nil,nil,"found incompatible YAML document (version 1.* is required)",token.start_mark) if major != 1
570
+ raise ParserError.new(nil,"found incompatible YAML document (version 1.* is required)") if major != 1
609
571
  @yaml_version = [major,minor]
610
572
  elsif token.name == "TAG"
611
573
  handle, prefix = token.value
612
- raise ParserError.new(nil,nil,"duplicate tag handle #{handle}",token.start_mark) if @tag_handles.member?(handle)
574
+ raise ParserError.new(nil,"duplicate tag handle #{handle}") if @tag_handles.member?(handle)
613
575
  @tag_handles[handle] = prefix
614
576
  end
615
577
  end
@@ -624,8 +586,8 @@ module RbYAML
624
586
  value
625
587
  end
626
588
 
627
- def process_empty_scalar(mark)
628
- ScalarEvent.new(nil, nil, [true, false], "", mark, mark)
589
+ def process_empty_scalar
590
+ ScalarEvent.new(nil, nil, [true, false], "")
629
591
  end
630
592
  end
631
593
  end