diff options
Diffstat (limited to 'errloc.c')
| -rw-r--r-- | errloc.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/errloc.c b/errloc.c new file mode 100644 index 0000000..a9dccdb --- /dev/null +++ b/errloc.c @@ -0,0 +1,28 @@ +#include "errloc.h" +#include "lex.h" +#include <stdarg.h> +#include <stdio.h> + +void errcloc(const struct lex *l, const char *fmt, ...) +{ + const struct loc *loc = &l->loc; + va_list ap; + + va_start(ap, fmt); + fprintf(stderr, "%s:%d:%d: error: ", l->loc.f, loc->line, loc->col); + vfprintf(stderr, fmt, ap); + fputc('\n', stderr); + va_end(ap); +} + +void errloc(const struct tk *tk, const char *fmt, ...) +{ + const struct loc *loc = &tk->loc; + va_list ap; + + va_start(ap, fmt); + fprintf(stderr, "%s:%d:%d: error: ", loc->f, loc->line, loc->col); + vfprintf(stderr, fmt, ap); + fputc('\n', stderr); + va_end(ap); +} |
