btparse

btparse is a C library for parsing and processing BibTeX data files.
Download

btparse Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Greg Ward
  • Publisher web site:
  • http://search.cpan.org/~ambs/Text-BibTeX-0.37/BibTeX/Name.pm

btparse Tags


btparse Description

btparse is a C library for parsing and processing BibTeX data files. btparse is a C library for parsing and processing BibTeX data files.< b >SYNOPSIS< /b > #include < btparse.h > /* Basic library initialization / cleanup */ void bt_initialize (void); void bt_free_ast (AST *ast); void bt_cleanup (void); /* Input / interface to parser */ void bt_set_stringopts (bt_metatype_t metatype, ushort options); AST * bt_parse_entry_s (char * entry_text, char * filename, int line, ushort options, boolean * status); AST * bt_parse_entry (FILE * infile, char * filename, ushort options, boolean * status); AST * bt_parse_file (char * filename, ushort options, boolean * overall_status); /* AST traversal/query */ AST * bt_next_entry (AST * entry_list, AST * prev_entry) AST * bt_next_field (AST *entry, AST *prev, char **name); AST * bt_next_value (AST *head, AST *prev, bt_nodetype_t *nodetype, char **text); bt_metatype_t bt_entry_metatype (AST *entry); char *bt_entry_type (AST *entry); char *bt_entry_key (AST *entry); char *bt_get_text (AST *node); /* Splitting names and lists of names */ bt_stringlist * bt_split_list (char * string, char * delim, char * filename, int line, char * description); void bt_free_list (bt_stringlist *list); bt_name * bt_split_name (char * name, char * filename, int line, int name_num); void bt_free_name (bt_name * name); /* Formatting names */ bt_name_format * bt_create_name_format (char * parts, boolean abbrev_first); void bt_free_name_format (bt_name_format * format); void bt_set_format_text (bt_name_format * format, bt_namepart part, char * pre_part, char * post_part, char * pre_token, char * post_token); void bt_set_format_options (bt_name_format * format, bt_namepart part, boolean abbrev, bt_joinmethod join_tokens, bt_joinmethod join_part); char * bt_format_name (bt_name * name, bt_name_format * format); /* Construct tree from TeX groups */ bt_tex_tree * bt_build_tex_tree (char * string); void bt_free_tex_tree (bt_tex_tree **top); void bt_dump_tex_tree (bt_tex_tree *node, int depth, FILE *stream); char * bt_flatten_tex_tree (bt_tex_tree *top); /* Miscellaneous string utilities */ void bt_purify_string (char * string, ushort options); void bt_change_case (char transform, char * string, ushort options); Requirements: · Perl


btparse Related Software