From 34316144bd5212e27adcd65f6ddec250e260d26c Mon Sep 17 00:00:00 2001 From: "W. Eric Norum" Date: Fri, 17 Nov 2006 14:24:45 +0000 Subject: [PATCH] Clean up several problems with lexical analyzer. --- src/dbtools/dbLoadTemplate.y | 6 +++--- src/dbtools/dbLoadTemplate_lex.l | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/dbtools/dbLoadTemplate.y b/src/dbtools/dbLoadTemplate.y index 40bc40274..7ff4d9e61 100644 --- a/src/dbtools/dbLoadTemplate.y +++ b/src/dbtools/dbLoadTemplate.y @@ -242,8 +242,8 @@ sub_pat: WORD EQUALS WORD static int yyerror(char* str) { - fprintf(stderr,"Substitution file parse error\n"); - fprintf(stderr,"line %d:%s\n",line_num,yytext); + fprintf(stderr,"Substitution file parse error : \"%s\"\n", str); + fprintf(stderr,"line %d:\"%s\"\n",line_num,yytext); return(0); } @@ -254,7 +254,7 @@ int epicsShareAPI dbLoadTemplate(char* sub_file) FILE *fp; int ind; - line_num=0; + line_num=1; if( !sub_file || !*sub_file) { diff --git a/src/dbtools/dbLoadTemplate_lex.l b/src/dbtools/dbLoadTemplate_lex.l index 848ec5190..32ab5d363 100644 --- a/src/dbtools/dbLoadTemplate_lex.l +++ b/src/dbtools/dbLoadTemplate_lex.l @@ -8,8 +8,8 @@ * in file LICENSE that is included with this distribution. \*************************************************************************/ -word [a-zA-Z0-9_\.\^~/\*#\[\]%:;!|\-&\$\(\)@\?\+<>] -par [\"\'] +word [a-zA-Z0-9_\.\^~/\*#\[\]%:;!|\-&\$\(\)@\?\+<>\'] +par [\"] notquote [^\"] escapequote \\\" @@ -20,14 +20,14 @@ value {notquote}|{escapequote} %% -\#.*\n ; +\#.*\n { line_num++; } "pattern" { return(PATTERN); } "file" { return(DBFILE); } "=" { return(EQUALS); } {par}{value}*{par} { - yylval.Str = dbmfStrdup(yytext); + yylval.Str = dbmfStrdup(yytext+1); yylval.Str[strlen(yylval.Str)-1] = '\0'; return(QUOTE); } @@ -42,6 +42,8 @@ value {notquote}|{escapequote} \n { line_num ++;} +[ \t,] { ; } + . { char message[20]; YY_BUFFER_STATE *dummy=0;