element * parse_markdown_with_metadata(char *string, int extensions, element *reference_list, element *note_list, element *label_list) { char *oldcharbuf; syntax_extensions = extensions; references = reference_list; notes = note_list; labels = label_list; oldcharbuf = charbuf; charbuf = string; start_time = clock(); yyparsefrom(yy_DocWithMetaData); charbuf = oldcharbuf; /* restore charbuf to original value */ /* reset start_time for subsequent passes */ start_time = 0; if (parse_aborted) { parse_aborted = 0; free_element_list(parse_result); return NULL; } return parse_result; }
element * parse_markdown_for_opml(char *string, int extensions) { yycontext *context = create_parsing_context(string, extensions, NULL, NULL, NULL); yyparsefrom(context, yy_DocForOPML); element *parse_result = context->state->parse_result; free_parsing_context(context); return parse_result; }
element * parse_metadata_only(char *string, int extensions) { yycontext *context = create_parsing_context(string, extensions, NULL, NULL, NULL); yyparsefrom(context, yy_MetaDataOnly); element *parse_result = context->state->parse_result; free_parsing_context(context); return parse_result; }
element * parse_labels(char *string, int extensions, element *reference_list, element *note_list) { yycontext *context = create_parsing_context(string, extensions, reference_list, note_list, NULL); yyparsefrom(context, yy_AutoLabels); /* third pass, to collect labels */ element *labels = context->state->labels; free_parsing_context(context); return labels; }
element * parse_references(char *string, int extensions) { yycontext *context = create_parsing_context(string, extensions, NULL, NULL, NULL); yyparsefrom(context, yy_References); /* first pass, just to collect references */ element *references = context->state->references; free_parsing_context(context); return references; }
element * parse_markdown(char *string, int extensions, element *reference_list, element *note_list, element *label_list) { yycontext *context = create_parsing_context(string, extensions, reference_list, note_list, label_list); yyparsefrom(context, yy_Doc); element *parse_result = context->state->parse_result; free_parsing_context(context); return parse_result; }
mdp_element *parse_references(char *string, int extensions) { syntax_extensions = extensions; char *oldcharbuf = charbuf; charbuf = string; // First pass to collect references yyparsefrom(yy_References); charbuf = oldcharbuf; return references; }
element * parse_references(char *string, int extensions) { char *oldcharbuf; syntax_extensions = extensions; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_References); /* first pass, just to collect references */ charbuf = oldcharbuf; return references; }
mdp_element *parse_content(char *string, int extensions, mdp_element *reference_list, mdp_element *note_list) { syntax_extensions = extensions; references = reference_list; notes = note_list; char *oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_Doc); charbuf = oldcharbuf; /* restore charbuf to original value */ return parse_result; }
element * parse_markdown_for_opml(char *string, int extensions) { char *oldcharbuf; syntax_extensions = extensions; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_DocForOPML); charbuf = oldcharbuf; /* restore charbuf to original value */ return parse_result; }
element * parse_metadata_only(char *string, int extensions) { char *oldcharbuf; syntax_extensions = extensions; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_MetaDataOnly); charbuf = oldcharbuf; /* restore charbuf to original value */ return parse_result; }
element * parse_notes(char *string, int extensions, element *reference_list) { yycontext *context = create_parsing_context(string, extensions, reference_list, NULL, NULL); element *notes = NULL; if (extension(context->state, EXT_NOTES)) { yyparsefrom(context, yy_Notes); /* second pass for notes */ notes = context->state->notes; } free_parsing_context(context); return notes; }
element * parse_labels(char *string, int extensions, element *reference_list, element *note_list) { char *oldcharbuf; syntax_extensions = extensions; references = reference_list; notes = note_list; labels = NULL; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_AutoLabels); /* third pass, to collect labels */ charbuf = oldcharbuf; return labels; }
mdp_element *parse_notes(char *string, int extensions, mdp_element *reference_list) { notes = NULL; syntax_extensions = extensions; if (extension(MDP_EXT_NOTES)) { char *oldcharbuf = charbuf; references = reference_list; charbuf = string; // Second pass to collect notes yyparsefrom(yy_Notes); charbuf = oldcharbuf; } return notes; }
element * parse_notes(char *string, int extensions, element *reference_list) { char *oldcharbuf; notes = NULL; syntax_extensions = extensions; if (extension(EXT_NOTES)) { references = reference_list; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_Notes); /* second pass for notes */ charbuf = oldcharbuf; } return notes; }
element * parse_markdown_with_metadata(char *string, int extensions, element *reference_list, element *note_list, element *label_list) { yycontext *context = create_parsing_context(string, extensions, reference_list, note_list, label_list); context->state->start_time = clock(); yyparsefrom(context, yy_DocWithMetaData); element *parse_result = context->state->parse_result; int is_aborted = context->state->parse_aborted; free_parsing_context(context); if (is_aborted) { free_element_list(parse_result); return NULL; } return parse_result; }
element * parse_markdown(char *string, int extensions, element *reference_list, element *note_list, element *label_list) { char *oldcharbuf; syntax_extensions = extensions; references = reference_list; notes = note_list; labels = label_list; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_Doc); charbuf = oldcharbuf; /* restore charbuf to original value */ /* if (parse_aborted) { free_element_list(parse_result); return NULL; }*/ return parse_result; }