From 10c298df37f430b4c7914448fb43a05bbec6302f Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 16 Jan 2012 08:42:48 +1000 Subject: yylineno does not track colums, so do it myself. --- LuaSL/src/LuaSL_lexer.l | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'LuaSL/src/LuaSL_lexer.l') diff --git a/LuaSL/src/LuaSL_lexer.l b/LuaSL/src/LuaSL_lexer.l index c805659..afc99ce 100644 --- a/LuaSL/src/LuaSL_lexer.l +++ b/LuaSL/src/LuaSL_lexer.l @@ -8,7 +8,7 @@ int common(YYSTYPE *lval, char *text, LuaSL_yyparseParam *param, boolean checkIg %} %option reentrant never-interactive batch -%option bison-bridge yylineno 8bit +%option bison-bridge 8bit %option noreject noyymore %option backup debug perf-report perf-report verbose warn %option align full @@ -115,9 +115,22 @@ STRING \"(\\.|[^\\"\n])*\" int common(YYSTYPE *lval, char *text, LuaSL_yyparseParam *param, boolean checkIgnorable, int type) { + char *p; + + for (p = text; *p; p++) + { + if ('\n' == *p) + { + param->line++; + param->column = 1; + } + else + param->column++; + } + lval->token = tokens[type - lowestToken]; - lval->line = yyget_lineno(param->scanner); - lval->column = yyget_column(param->scanner); + lval->line = param->line; + lval->column = param->column; if (checkIgnorable) { -- cgit v1.1