jx_parse.h

Go to the documentation of this file.
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_parser_yield( struct jx_parser *p );
00053 
00055 struct jx * jx_parse( struct jx_parser *p );
00056 
00058 int jx_parser_errors( struct jx_parser *p );
00059 
00061 const char *jx_parser_error_string( struct jx_parser *p );
00062 
00064 void jx_parser_delete( struct jx_parser *p );
00065 
00066 /* Private function used by jx_print to put parens in the right place. */
00067 int jx_operator_precedence( jx_operator_t op );
00068 
00069 
00070 #endif

Generated on 24 Oct 2016 for cctools by  doxygen 1.6.1