From 28c2424eeb6fb829911af7d812cb7ce7540e8401 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 16 Jan 2012 00:01:28 +1000 Subject: Actually make use of the lexers line and column numbers. --- LuaSL/src/LuaSL_LSL_tree.c | 2 -- LuaSL/src/LuaSL_LSL_tree.h | 2 -- LuaSL/src/LuaSL_lexer.l | 17 ++--------------- 3 files changed, 2 insertions(+), 19 deletions(-) (limited to 'LuaSL') diff --git a/LuaSL/src/LuaSL_LSL_tree.c b/LuaSL/src/LuaSL_LSL_tree.c index 169a699..c5a9405 100644 --- a/LuaSL/src/LuaSL_LSL_tree.c +++ b/LuaSL/src/LuaSL_LSL_tree.c @@ -736,8 +736,6 @@ static int nextFile(LuaSL_yyparseParam *param) burnLeaf(param->ast); param->ast = NULL; param->lval = calloc(1, sizeof(LSL_Leaf)); - param->line = 0; - param->column = 0; return TRUE; } /* diff --git a/LuaSL/src/LuaSL_LSL_tree.h b/LuaSL/src/LuaSL_LSL_tree.h index b87e7d2..9a71c17 100644 --- a/LuaSL/src/LuaSL_LSL_tree.h +++ b/LuaSL/src/LuaSL_LSL_tree.h @@ -276,8 +276,6 @@ typedef struct LSL_Leaf *ast; char *ignorableText; LSL_Leaf *lval; - int column; - int line; } LuaSL_yyparseParam; diff --git a/LuaSL/src/LuaSL_lexer.l b/LuaSL/src/LuaSL_lexer.l index 15cfae2..876d30a 100644 --- a/LuaSL/src/LuaSL_lexer.l +++ b/LuaSL/src/LuaSL_lexer.l @@ -112,22 +112,9 @@ IDENTIFIER [[:alpha:]](_|[[:alpha:]]|[[:digit:]])* int common(YYSTYPE *lval, char *text, LuaSL_yyparseParam *param, boolean checkIgnorable, int type) { - int i; - - for (i = 0; text[i] != '\0'; i++) - if (text[i] == '\n') - { - param->column = 0; - param->line++; - } - else if (text[i] == '\t') - param->column += 8 - (param->column % 8); - else - param->column++; - lval->token = tokens[type - lowestToken]; - lval->line = param->line; - lval->column = param->column; + lval->line = yyget_lineno(param->scanner); + lval->column = yyget_column(param->scanner); if (checkIgnorable) { -- cgit v1.1