00001 /* 00002 Copyright (C) 2015- The University of Notre Dame 00003 This software is distributed under the GNU General Public License. 00004 See the file COPYING for details. 00005 */ 00006 00007 #ifndef JX_PARSE_H 00008 #define JX_PARSE_H 00009 00020 #include "jx.h" 00021 #include "link.h" 00022 00023 #include <stdio.h> 00024 00025 struct jx_parser; 00026 00028 struct jx * jx_parse_string( const char *str ); 00029 00031 struct jx * jx_parse_stream( FILE *file ); 00032 00034 struct jx * jx_parse_file( const char *name ); 00035 00037 struct jx * jx_parse_link( struct link *l, time_t stoptime ); 00038 00040 struct jx_parser * jx_parser_create(); 00041 00043 void jx_parser_read_stream( struct jx_parser *p, FILE *file ); 00044 00046 void jx_parser_read_string( struct jx_parser *p, const char *str ); 00047 00049 void jx_parser_read_link( struct jx_parser *p, struct link *l, time_t stoptime ); 00050 00052 struct jx * jx_parse( struct jx_parser *p ); 00053 00055 int jx_parser_errors( struct jx_parser *p ); 00056 00058 const char *jx_parser_error_string( struct jx_parser *p ); 00059 00061 void jx_parser_delete( struct jx_parser *p ); 00062 00063 #endif