[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Call pkl_ice and abort on lexer fatal errors
From: |
John Darrington |
Subject: |
[PATCH] Call pkl_ice and abort on lexer fatal errors |
Date: |
Tue, 12 Nov 2019 14:58:23 +0100 |
From: John Darrington <address@hidden>
* src/pkl-lex.l (YYFATAL_ERROR): Redefine
---
ChangeLog | 4 ++++
src/pkl-lex.l | 13 +++++++++++++
2 files changed, 17 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 5acd43c..fe40e34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2019-11-12 John Darrington <address@hidden>
+ * src/pkl-lex.l (YYFATAL_ERROR): Redefine
+
+2019-11-12 John Darrington <address@hidden>
+
* src/std.pk (ltrim): New function.
* src/std.pk (rtrim): New function.
* doc/poke.texi (String Functions): New chapter.
diff --git a/src/pkl-lex.l b/src/pkl-lex.l
index f9dec2d..2e45311 100644
--- a/src/pkl-lex.l
+++ b/src/pkl-lex.l
@@ -50,6 +50,19 @@
#include <pkl-tab.h>
#include "pk-cmd.h"
+
+#define YY_FATAL_ERROR(msg) \
+ do \
+ { \
+ YYLTYPE *loc = yyget_lloc (yyscanner); \
+ YY_EXTRA_TYPE extra = yyget_extra (yyscanner); \
+ pkl_ice (extra->ast, *loc, "%s", msg); \
+ abort (); \
+ /* kludge to avoid compiler warning */ \
+ void *x = yy_fatal_error; x = x; \
+ } \
+ while (0)
+
#define YY_USER_ACTION \
do \
{ \
--
2.11.0
- [PATCH] Call pkl_ice and abort on lexer fatal errors,
John Darrington <=