mrk/example/basic.c

27 lines
612 B
C

#include <assert.h>
#include <stdio.h>
#include "mrk/lexer.h"
#include "mrk/parser.h"
#include "mrk/ast.h"
int main() {
const char *buf = "# this is a header\n\nthis is a paragraph with a [link](https://example.com)";
mrk_lexer *lexer;
assert(mrk_lexer_init(&lexer) == mrk_err_ok);
mrk_lexer_open(lexer, buf, 0);
mrk_parser *parser;
assert(mrk_parser_init(&parser) == mrk_err_ok);
mrk_parser_open(parser, lexer);
mrk_ast_node *root;
assert(mrk_parser_parse(&root, parser) == mrk_err_ok);
char *html;
assert(mrk_ast_to_html(&html, buf, root) == mrk_err_ok);
printf("%s\n", html);
}