From 047e4e3753c597628024847a524d44ca67fa1382 Mon Sep 17 00:00:00 2001 From: "Rafael G. Martins" Date: Fri, 17 Apr 2015 01:47:41 -0300 Subject: replaced leg-based parser with handmade parser for source files --- src/output.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/output.c (limited to 'src/output.c') diff --git a/src/output.c b/src/output.c new file mode 100644 index 0000000..bd96b8e --- /dev/null +++ b/src/output.c @@ -0,0 +1,39 @@ +/* + * blogc: A blog compiler. + * Copyright (C) 2015 Rafael G. Martins + * + * This program can be distributed under the terms of the BSD License. + * See the file COPYING. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif /* HAVE_CONFIG_H */ + +#include +#include "utils/utils.h" +#include "output.h" + + +void +blogc_parser_syntax_error(const char *name, const char *src, size_t src_len, + size_t current) +{ + b_string_t *msg = b_string_new(); + + while (current < src_len) { + char c = src[current]; + + if (c == '\r' || c == '\n') + break; + + b_string_append_c(msg, c); + + current++; + } + + fprintf(stderr, "%s parser error: syntax error near \"%s\"\n", name, + msg->str); + + b_string_free(msg, true); +} -- cgit v1.2.3-18-g5258