Data Structures | Defines | Typedefs | Functions

ext/json/parser/parser.h File Reference

#include "ruby.h"
Include dependency graph for parser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  JSON_ParserStruct

Defines

#define FORCE_UTF8(obj)
#define option_given_p(opts, key)   RTEST(rb_funcall(opts, i_key_p, 1, key))
#define UNI_REPLACEMENT_CHAR   (UTF32)0x0000FFFD
#define UNI_SUR_HIGH_START   (UTF32)0xD800
#define UNI_SUR_HIGH_END   (UTF32)0xDBFF
#define UNI_SUR_LOW_START   (UTF32)0xDC00
#define UNI_SUR_LOW_END   (UTF32)0xDFFF
#define GET_PARSER
#define GET_PARSER_INIT
#define MinusInfinity   "-Infinity"
#define EVIL   0x666

Typedefs

typedef unsigned long UTF32
typedef unsigned short UTF16
typedef unsigned char UTF8
typedef struct JSON_ParserStruct JSON_Parser

Functions

static UTF32 unescape_unicode (const unsigned char *p)
static int convert_UTF32_to_UTF8 (char *buf, UTF32 ch)
static char * JSON_parse_object (JSON_Parser *json, char *p, char *pe, VALUE *result)
static char * JSON_parse_value (JSON_Parser *json, char *p, char *pe, VALUE *result)
static char * JSON_parse_integer (JSON_Parser *json, char *p, char *pe, VALUE *result)
static char * JSON_parse_float (JSON_Parser *json, char *p, char *pe, VALUE *result)
static char * JSON_parse_array (JSON_Parser *json, char *p, char *pe, VALUE *result)
static VALUE json_string_unescape (VALUE result, char *string, char *stringEnd)
static char * JSON_parse_string (JSON_Parser *json, char *p, char *pe, VALUE *result)
static VALUE convert_encoding (VALUE source)
static VALUE cParser_initialize (int argc, VALUE *argv, VALUE self)
static VALUE cParser_parse (VALUE self)
static JSON_ParserJSON_allocate ()
static void JSON_mark (JSON_Parser *json)
static void JSON_free (JSON_Parser *json)
static VALUE cJSON_parser_s_allocate (VALUE klass)
static VALUE cParser_source (VALUE self)

Define Documentation

#define EVIL   0x666

Definition at line 54 of file parser.h.

#define FORCE_UTF8 (   obj  ) 

Definition at line 14 of file parser.h.

#define GET_PARSER
Value:
GET_PARSER_INIT;                        \
    if (!json->Vsource) rb_raise(rb_eTypeError, "uninitialized instance")

Definition at line 46 of file parser.h.

#define GET_PARSER_INIT
Value:
JSON_Parser *json;                      \
    Data_Get_Struct(self, JSON_Parser, json)

Definition at line 49 of file parser.h.

#define MinusInfinity   "-Infinity"

Definition at line 53 of file parser.h.

Referenced by JSON_parse_value().

#define option_given_p (   opts,
  key 
)    RTEST(rb_funcall(opts, i_key_p, 1, key))

Definition at line 17 of file parser.h.

#define UNI_REPLACEMENT_CHAR   (UTF32)0x0000FFFD

Definition at line 25 of file parser.h.

#define UNI_SUR_HIGH_END   (UTF32)0xDBFF

Definition at line 27 of file parser.h.

#define UNI_SUR_HIGH_START   (UTF32)0xD800

Definition at line 26 of file parser.h.

#define UNI_SUR_LOW_END   (UTF32)0xDFFF

Definition at line 29 of file parser.h.

#define UNI_SUR_LOW_START   (UTF32)0xDC00

Definition at line 28 of file parser.h.


Typedef Documentation

typedef unsigned short UTF16

Definition at line 22 of file parser.h.

typedef unsigned long UTF32

Definition at line 21 of file parser.h.

typedef unsigned char UTF8

Definition at line 23 of file parser.h.


Function Documentation

static VALUE cJSON_parser_s_allocate ( VALUE  klass  )  [static]
static VALUE convert_encoding ( VALUE  source  )  [static]
static int convert_UTF32_to_UTF8 ( char *  buf,
UTF32  ch 
) [static]
static VALUE cParser_initialize ( int  argc,
VALUE argv,
VALUE  self 
) [static]
static VALUE cParser_parse ( VALUE  self  )  [static]
static VALUE cParser_source ( VALUE  self  )  [static]
static JSON_Parser* JSON_allocate (  )  [static]
static void JSON_free ( JSON_Parser json  )  [static]
static void JSON_mark ( JSON_Parser json  )  [static]
static char* JSON_parse_array ( JSON_Parser json,
char *  p,
char *  pe,
VALUE result 
) [static]
static char* JSON_parse_float ( JSON_Parser json,
char *  p,
char *  pe,
VALUE result 
) [static]
static char* JSON_parse_integer ( JSON_Parser json,
char *  p,
char *  pe,
VALUE result 
) [static]
static char* JSON_parse_object ( JSON_Parser json,
char *  p,
char *  pe,
VALUE result 
) [static]
static char* JSON_parse_string ( JSON_Parser json,
char *  p,
char *  pe,
VALUE result 
) [static]
static char* JSON_parse_value ( JSON_Parser json,
char *  p,
char *  pe,
VALUE result 
) [static]
static VALUE json_string_unescape ( VALUE  result,
char *  string,
char *  stringEnd 
) [static]
static UTF32 unescape_unicode ( const unsigned char *  p  )  [static]