mirror of
				https://github.com/stedolan/jq.git
				synced 2024-05-11 05:55:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			38 lines
		
	
	
		
			682 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			682 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef JV_PARSE_H
 | 
						|
#define JV_PARSE_H
 | 
						|
#include "jv_dtoa.h"
 | 
						|
struct jv_parser {
 | 
						|
  const char* curr_buf;
 | 
						|
  int curr_buf_length;
 | 
						|
  int curr_buf_pos;
 | 
						|
  int curr_buf_is_partial;
 | 
						|
  unsigned bom_strip_position;
 | 
						|
 | 
						|
  jv* stack;
 | 
						|
  int stackpos;
 | 
						|
  int stacklen;
 | 
						|
  jv next;
 | 
						|
  
 | 
						|
  char* tokenbuf;
 | 
						|
  int tokenpos;
 | 
						|
  int tokenlen;
 | 
						|
 | 
						|
  int line, column;
 | 
						|
  
 | 
						|
  struct dtoa_context dtoa;
 | 
						|
 | 
						|
  enum {
 | 
						|
    JV_PARSER_NORMAL,
 | 
						|
    JV_PARSER_STRING,
 | 
						|
    JV_PARSER_STRING_ESCAPE
 | 
						|
  } st;
 | 
						|
};
 | 
						|
 | 
						|
void jv_parser_init(struct jv_parser* p);
 | 
						|
void jv_parser_free(struct jv_parser* p);
 | 
						|
 | 
						|
void jv_parser_set_buf(struct jv_parser* p, const char* buf, int length, int is_partial);
 | 
						|
 | 
						|
jv jv_parser_next(struct jv_parser* p);
 | 
						|
#endif
 |