• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/ruby-104/ruby/ext/psych/yaml/

Lines Matching defs:parser

9 yaml_parser_set_reader_error(yaml_parser_t *parser, const char *problem,
13 yaml_parser_update_raw_buffer(yaml_parser_t *parser);
16 yaml_parser_determine_encoding(yaml_parser_t *parser);
19 yaml_parser_update_buffer(yaml_parser_t *parser, size_t length);
26 yaml_parser_set_reader_error(yaml_parser_t *parser, const char *problem,
29 parser->error = YAML_READER_ERROR;
30 parser->problem = problem;
31 parser->problem_offset = offset;
32 parser->problem_value = value;
51 yaml_parser_determine_encoding(yaml_parser_t *parser)
55 while (!parser->eof
56 && parser->raw_buffer.last - parser->raw_buffer.pointer < 3) {
57 if (!yaml_parser_update_raw_buffer(parser)) {
64 if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 2
65 && !memcmp(parser->raw_buffer.pointer, BOM_UTF16LE, 2)) {
66 parser->encoding = YAML_UTF16LE_ENCODING;
67 parser->raw_buffer.pointer += 2;
68 parser->offset += 2;
70 else if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 2
71 && !memcmp(parser->raw_buffer.pointer, BOM_UTF16BE, 2)) {
72 parser->encoding = YAML_UTF16BE_ENCODING;
73 parser->raw_buffer.pointer += 2;
74 parser->offset += 2;
76 else if (parser->raw_buffer.last - parser->raw_buffer.pointer >= 3
77 && !memcmp(parser->raw_buffer.pointer, BOM_UTF8, 3)) {
78 parser->encoding = YAML_UTF8_ENCODING;
79 parser->raw_buffer.pointer += 3;
80 parser->offset += 3;
83 parser->encoding = YAML_UTF8_ENCODING;
94 yaml_parser_update_raw_buffer(yaml_parser_t *parser)
100 if (parser->raw_buffer.start == parser->raw_buffer.pointer
101 && parser->raw_buffer.last == parser->raw_buffer.end)
106 if (parser->eof) return 1;
110 if (parser->raw_buffer.start < parser->raw_buffer.pointer
111 && parser->raw_buffer.pointer < parser->raw_buffer.last) {
112 memmove(parser->raw_buffer.start, parser->raw_buffer.pointer,
113 parser->raw_buffer.last - parser->raw_buffer.pointer);
115 parser->raw_buffer.last -=
116 parser->raw_buffer.pointer - parser->raw_buffer.start;
117 parser->raw_buffer.pointer = parser->raw_buffer.start;
121 if (!parser->read_handler(parser->read_handler_data, parser->raw_buffer.last,
122 parser->raw_buffer.end - parser->raw_buffer.last, &size_read)) {
123 return yaml_parser_set_reader_error(parser, "input error",
124 parser->offset, -1);
126 parser->raw_buffer.last += size_read;
128 parser->eof = 1;
142 yaml_parser_update_buffer(yaml_parser_t *parser, size_t length)
146 assert(parser->read_handler); /* Read handler must be set. */
150 if (parser->eof && parser->raw_buffer.pointer == parser->raw_buffer.last)
155 if (parser->unread >= length)
160 if (!parser->encoding) {
161 if (!yaml_parser_determine_encoding(parser))
167 if (parser->buffer.start < parser->buffer.pointer
168 && parser->buffer.pointer < parser->buffer.last) {
169 size_t size = parser->buffer.last - parser->buffer.pointer;
170 memmove(parser->buffer.start, parser->buffer.pointer, size);
171 parser->buffer.pointer = parser->buffer.start;
172 parser->buffer.last = parser->buffer.start + size;
174 else if (parser->buffer.pointer == parser->buffer.last) {
175 parser->buffer.pointer = parser->buffer.start;
176 parser->buffer.last = parser->buffer.start;
181 while (parser->unread < length)
185 if (!first || parser->raw_buffer.pointer == parser->raw_buffer.last) {
186 if (!yaml_parser_update_raw_buffer(parser)) return 0;
192 while (parser->raw_buffer.pointer != parser->raw_buffer.last)
200 size_t raw_unread = parser->raw_buffer.last - parser->raw_buffer.pointer;
204 switch (parser->encoding)
230 octet = parser->raw_buffer.pointer[0];
239 return yaml_parser_set_reader_error(parser,
241 parser->offset, octet);
246 if (parser->eof) {
247 return yaml_parser_set_reader_error(parser,
249 parser->offset, -1);
266 octet = parser->raw_buffer.pointer[k];
271 return yaml_parser_set_reader_error(parser,
273 parser->offset+k, octet);
286 return yaml_parser_set_reader_error(parser,
288 parser->offset, -1);
293 return yaml_parser_set_reader_error(parser,
295 parser->offset, value);
302 low = (parser->encoding == YAML_UTF16LE_ENCODING ? 0 : 1);
303 high = (parser->encoding == YAML_UTF16LE_ENCODING ? 1 : 0);
334 if (parser->eof) {
335 return yaml_parser_set_reader_error(parser,
337 parser->offset, -1);
345 value = parser->raw_buffer.pointer[low]
346 + (parser->raw_buffer.pointer[high] << 8);
351 return yaml_parser_set_reader_error(parser,
353 parser->offset, value);
364 if (parser->eof) {
365 return yaml_parser_set_reader_error(parser,
367 parser->offset, -1);
375 value2 = parser->raw_buffer.pointer[low+2]
376 + (parser->raw_buffer.pointer[high+2] << 8);
381 return yaml_parser_set_reader_error(parser,
383 parser->offset+2, value2);
416 return yaml_parser_set_reader_error(parser,
418 parser->offset, value);
422 parser->raw_buffer.pointer += width;
423 parser->offset += width;
429 *(parser->buffer.last++) = value;
433 *(parser->buffer.last++) = 0xC0 + (value >> 6);
434 *(parser->buffer.last++) = 0x80 + (value & 0x3F);
438 *(parser->buffer.last++) = 0xE0 + (value >> 12);
439 *(parser->buffer.last++) = 0x80 + ((value >> 6) & 0x3F);
440 *(parser->buffer.last++) = 0x80 + (value & 0x3F);
444 *(parser->buffer.last++) = 0xF0 + (value >> 18);
445 *(parser->buffer.last++) = 0x80 + ((value >> 12) & 0x3F);
446 *(parser->buffer.last++) = 0x80 + ((value >> 6) & 0x3F);
447 *(parser->buffer.last++) = 0x80 + (value & 0x3F);
450 parser->unread ++;
455 if (parser->eof) {
456 *(parser->buffer.last++) = '\0';
457 parser->unread ++;
463 if (parser->offset >= PTRDIFF_MAX)
464 return yaml_parser_set_reader_error(parser, "input is too long",