File src/yajl_lex.h

A JSON text lexical analyzer.
Common and shared declarations for the lexer.

Included in: src/yajl.c
  src/yajl_lex.c
  src/yajl_parser.c
  src/yajl_parser.h

Included Files


Typedef yajl_tok

typedef enum {...} yajl_tok
enum  
   {  
      yajl_tok_bool;  
      yajl_tok_colon;  
      yajl_tok_comma;  
      yajl_tok_eof;  
      yajl_tok_error;  
      yajl_tok_left_brace;  
      yajl_tok_left_bracket;  
      yajl_tok_null;  
      yajl_tok_right_brace;  
      yajl_tok_right_bracket;  
      yajl_tok_integer; we differentiate between integers and doubles to allow the parser to interpret the number without re-scanning
      yajl_tok_double;  
      yajl_tok_string; we differentiate between strings which require further processing, and strings that do not
      yajl_tok_string_with_escapes;  
      yajl_tok_comment; comment tokens are not currently returned to the parser, ever
   }  

Typedef yajl_lexer

typedef struct yajl_lexer_t* yajl_lexer

Typedef yajl_lex_error

typedef enum {...} yajl_lex_error
enum  
   {  
      yajl_lex_e_ok;  
      yajl_lex_string_invalid_utf8;  
      yajl_lex_string_invalid_escaped_char;  
      yajl_lex_string_invalid_json_char;  
      yajl_lex_string_invalid_hex_char;  
      yajl_lex_invalid_char;  
      yajl_lex_invalid_string;  
      yajl_lex_missing_integer_after_decimal;  
      yajl_lex_missing_integer_after_exponent;  
      yajl_lex_missing_integer_after_minus;  
      yajl_lex_unallowed_comment;  
   }