json_pure 2.4.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +27 -5
- data/README.md +3 -3
- data/VERSION +1 -1
- data/json_pure.gemspec +43 -21
- data/lib/json/common.rb +34 -13
- data/lib/json/pure/parser.rb +1 -1
- data/lib/json/version.rb +1 -1
- data/lib/json.rb +1 -1
- metadata +14 -123
- data/.gitignore +0 -18
- data/.travis.yml +0 -23
- data/Gemfile +0 -14
- data/README-json-jruby.md +0 -33
- data/Rakefile +0 -334
- data/diagrams/.keep +0 -0
- data/ext/json/ext/fbuffer/fbuffer.h +0 -187
- data/ext/json/ext/generator/depend +0 -1
- data/ext/json/ext/generator/extconf.rb +0 -4
- data/ext/json/ext/generator/generator.c +0 -1612
- data/ext/json/ext/generator/generator.h +0 -174
- data/ext/json/ext/parser/depend +0 -1
- data/ext/json/ext/parser/extconf.rb +0 -31
- data/ext/json/ext/parser/parser.c +0 -2164
- data/ext/json/ext/parser/parser.h +0 -92
- data/ext/json/ext/parser/parser.rl +0 -924
- data/ext/json/extconf.rb +0 -3
- data/install.rb +0 -23
- data/java/src/json/ext/ByteListTranscoder.java +0 -166
- data/java/src/json/ext/Generator.java +0 -447
- data/java/src/json/ext/GeneratorMethods.java +0 -231
- data/java/src/json/ext/GeneratorService.java +0 -42
- data/java/src/json/ext/GeneratorState.java +0 -520
- data/java/src/json/ext/OptionsReader.java +0 -113
- data/java/src/json/ext/Parser.java +0 -2374
- data/java/src/json/ext/Parser.rl +0 -905
- data/java/src/json/ext/ParserService.java +0 -34
- data/java/src/json/ext/RuntimeInfo.java +0 -116
- data/java/src/json/ext/StringDecoder.java +0 -166
- data/java/src/json/ext/StringEncoder.java +0 -117
- data/java/src/json/ext/Utils.java +0 -88
- data/json-java.gemspec +0 -38
- data/json.gemspec +0 -140
- data/lib/json/ext/.keep +0 -0
- data/references/rfc7159.txt +0 -899
- data/tests/fixtures/fail10.json +0 -1
- data/tests/fixtures/fail11.json +0 -1
- data/tests/fixtures/fail12.json +0 -1
- data/tests/fixtures/fail13.json +0 -1
- data/tests/fixtures/fail14.json +0 -1
- data/tests/fixtures/fail18.json +0 -1
- data/tests/fixtures/fail19.json +0 -1
- data/tests/fixtures/fail2.json +0 -1
- data/tests/fixtures/fail20.json +0 -1
- data/tests/fixtures/fail21.json +0 -1
- data/tests/fixtures/fail22.json +0 -1
- data/tests/fixtures/fail23.json +0 -1
- data/tests/fixtures/fail24.json +0 -1
- data/tests/fixtures/fail25.json +0 -1
- data/tests/fixtures/fail27.json +0 -2
- data/tests/fixtures/fail28.json +0 -2
- data/tests/fixtures/fail3.json +0 -1
- data/tests/fixtures/fail4.json +0 -1
- data/tests/fixtures/fail5.json +0 -1
- data/tests/fixtures/fail6.json +0 -1
- data/tests/fixtures/fail7.json +0 -1
- data/tests/fixtures/fail8.json +0 -1
- data/tests/fixtures/fail9.json +0 -1
- data/tests/fixtures/obsolete_fail1.json +0 -1
- data/tests/fixtures/pass1.json +0 -56
- data/tests/fixtures/pass15.json +0 -1
- data/tests/fixtures/pass16.json +0 -1
- data/tests/fixtures/pass17.json +0 -1
- data/tests/fixtures/pass2.json +0 -1
- data/tests/fixtures/pass26.json +0 -1
- data/tests/fixtures/pass3.json +0 -6
- data/tests/json_addition_test.rb +0 -199
- data/tests/json_common_interface_test.rb +0 -169
- data/tests/json_encoding_test.rb +0 -107
- data/tests/json_ext_parser_test.rb +0 -15
- data/tests/json_fixtures_test.rb +0 -40
- data/tests/json_generator_test.rb +0 -432
- data/tests/json_generic_object_test.rb +0 -82
- data/tests/json_parser_test.rb +0 -497
- data/tests/json_string_matching_test.rb +0 -38
- data/tests/test_helper.rb +0 -17
- data/tools/diff.sh +0 -18
- data/tools/fuzz.rb +0 -131
- data/tools/server.rb +0 -62
@@ -1,92 +0,0 @@
|
|
1
|
-
#ifndef _PARSER_H_
|
2
|
-
#define _PARSER_H_
|
3
|
-
|
4
|
-
#include "ruby.h"
|
5
|
-
|
6
|
-
#ifndef HAVE_RUBY_RE_H
|
7
|
-
#include "re.h"
|
8
|
-
#endif
|
9
|
-
|
10
|
-
#ifdef HAVE_RUBY_ST_H
|
11
|
-
#include "ruby/st.h"
|
12
|
-
#else
|
13
|
-
#include "st.h"
|
14
|
-
#endif
|
15
|
-
|
16
|
-
#define option_given_p(opts, key) RTEST(rb_funcall(opts, i_key_p, 1, key))
|
17
|
-
|
18
|
-
/* unicode */
|
19
|
-
|
20
|
-
typedef unsigned long UTF32; /* at least 32 bits */
|
21
|
-
typedef unsigned short UTF16; /* at least 16 bits */
|
22
|
-
typedef unsigned char UTF8; /* typically 8 bits */
|
23
|
-
|
24
|
-
#define UNI_REPLACEMENT_CHAR (UTF32)0x0000FFFD
|
25
|
-
#define UNI_SUR_HIGH_START (UTF32)0xD800
|
26
|
-
#define UNI_SUR_HIGH_END (UTF32)0xDBFF
|
27
|
-
#define UNI_SUR_LOW_START (UTF32)0xDC00
|
28
|
-
#define UNI_SUR_LOW_END (UTF32)0xDFFF
|
29
|
-
|
30
|
-
typedef struct JSON_ParserStruct {
|
31
|
-
VALUE Vsource;
|
32
|
-
char *source;
|
33
|
-
long len;
|
34
|
-
char *memo;
|
35
|
-
VALUE create_id;
|
36
|
-
int max_nesting;
|
37
|
-
int allow_nan;
|
38
|
-
int parsing_name;
|
39
|
-
int symbolize_names;
|
40
|
-
int freeze;
|
41
|
-
VALUE object_class;
|
42
|
-
VALUE array_class;
|
43
|
-
VALUE decimal_class;
|
44
|
-
int create_additions;
|
45
|
-
VALUE match_string;
|
46
|
-
FBuffer *fbuffer;
|
47
|
-
} JSON_Parser;
|
48
|
-
|
49
|
-
#define GET_PARSER \
|
50
|
-
GET_PARSER_INIT; \
|
51
|
-
if (!json->Vsource) rb_raise(rb_eTypeError, "uninitialized instance")
|
52
|
-
#define GET_PARSER_INIT \
|
53
|
-
JSON_Parser *json; \
|
54
|
-
TypedData_Get_Struct(self, JSON_Parser, &JSON_Parser_type, json)
|
55
|
-
|
56
|
-
#define MinusInfinity "-Infinity"
|
57
|
-
#define EVIL 0x666
|
58
|
-
|
59
|
-
static UTF32 unescape_unicode(const unsigned char *p);
|
60
|
-
static int convert_UTF32_to_UTF8(char *buf, UTF32 ch);
|
61
|
-
static char *JSON_parse_object(JSON_Parser *json, char *p, char *pe, VALUE *result, int current_nesting);
|
62
|
-
static char *JSON_parse_value(JSON_Parser *json, char *p, char *pe, VALUE *result, int current_nesting);
|
63
|
-
static char *JSON_parse_integer(JSON_Parser *json, char *p, char *pe, VALUE *result);
|
64
|
-
static char *JSON_parse_float(JSON_Parser *json, char *p, char *pe, VALUE *result);
|
65
|
-
static char *JSON_parse_array(JSON_Parser *json, char *p, char *pe, VALUE *result, int current_nesting);
|
66
|
-
static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd);
|
67
|
-
static char *JSON_parse_string(JSON_Parser *json, char *p, char *pe, VALUE *result);
|
68
|
-
static VALUE convert_encoding(VALUE source);
|
69
|
-
static VALUE cParser_initialize(int argc, VALUE *argv, VALUE self);
|
70
|
-
static VALUE cParser_parse(VALUE self);
|
71
|
-
static void JSON_mark(void *json);
|
72
|
-
static void JSON_free(void *json);
|
73
|
-
static VALUE cJSON_parser_s_allocate(VALUE klass);
|
74
|
-
static VALUE cParser_source(VALUE self);
|
75
|
-
#ifndef ZALLOC
|
76
|
-
#define ZALLOC(type) ((type *)ruby_zalloc(sizeof(type)))
|
77
|
-
static inline void *ruby_zalloc(size_t n)
|
78
|
-
{
|
79
|
-
void *p = ruby_xmalloc(n);
|
80
|
-
memset(p, 0, n);
|
81
|
-
return p;
|
82
|
-
}
|
83
|
-
#endif
|
84
|
-
#ifdef TypedData_Make_Struct
|
85
|
-
static const rb_data_type_t JSON_Parser_type;
|
86
|
-
#define NEW_TYPEDDATA_WRAPPER 1
|
87
|
-
#else
|
88
|
-
#define TypedData_Make_Struct(klass, type, ignore, json) Data_Make_Struct(klass, type, NULL, JSON_free, json)
|
89
|
-
#define TypedData_Get_Struct(self, JSON_Parser, ignore, json) Data_Get_Struct(self, JSON_Parser, json)
|
90
|
-
#endif
|
91
|
-
|
92
|
-
#endif
|