From 5dbe3c6d8f9503c76a96b5f866716d4b3acac447 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 6 Oct 2010 20:54:36 +0000 Subject: [PATCH] restored missing GREATER token (whoops), added column tracking to lexer git-svn-id: svn://anubis/fart/trunk@346 7f9b0f55-74a9-4bce-be96-3c2cd072584d --- parser/parser.lex | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/parser/parser.lex b/parser/parser.lex index 3ea85aa..64a2ac1 100644 --- a/parser/parser.lex +++ b/parser/parser.lex @@ -8,6 +8,8 @@ #include "parser.h" #include "parser.tab.hh" +#define YY_USER_ACTION yylloc->first_column += yyleng; + %} %% @@ -39,6 +41,7 @@ \) return RPAREN; \< return LESS; \<= return LESSEQ; +\> return GREATER; \>= return GREATEREQ; [0-9]+ *yylval = new NumberNode(atof(yytext)); return REAL_NUMBER; @@ -102,8 +105,14 @@ local return LOCAL; return VARREF; } -#.*\n yylloc->first_line++; yylloc->last_line++; -\n yylloc->first_line++; yylloc->last_line++; +#.*\n { + yylloc->first_line++; yylloc->last_line++; + yylloc->first_column = yylloc->last_column = 0; +} +\n { + yylloc->first_line++; yylloc->last_line++; + yylloc->first_column = yylloc->last_column = 0; +} [ \t\v] /* ignore whitespace */ . return yytext[0];