27 lines
612 B
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);
|
||
|
}
|