X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fitbl-lex.l;h=03ef518a01ffa7eff031913bce7c4cde56b2e843;hb=d94297b3f49923c665fe45eaf3df1614b026d8ee;hp=8c1e8e4313b6bacf73d307ecc13d21919a571ba0;hpb=8e5c905e99f422e16eddf45d6718c0931f288a05;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/itbl-lex.l b/gas/itbl-lex.l index 8c1e8e4313..03ef518a01 100644 --- a/gas/itbl-lex.l +++ b/gas/itbl-lex.l @@ -1,9 +1,28 @@ +%option noyywrap + +/* itbl-lex.l + Copyright (C) 1997-2021 Free Software Foundation, Inc. + + This file is part of GAS, the GNU Assembler. + + GAS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + GAS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GAS; see the file COPYING. If not, write to the Free + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + %{ -#include -#include -#include -#include -#include "itbl-parse.h" +#include "itbl-lex.h" +#include #ifdef DEBUG #define DBG(x) printf x @@ -23,64 +42,64 @@ HEX [0-9A-Fa-f] %% -"creg"|"CREG" { - return CREG; - } -"dreg"|"DREG" { - return DREG; - } -"greg"|"GREG" { - return GREG; - } -"immed"|"IMMED" { - return IMMED; - } -"addr"|"ADDR" { - return ADDR; - } -"insn"|"INSN" { - return INSN; - } +"creg"|"CREG" { + return CREG; + } +"dreg"|"DREG" { + return DREG; + } +"greg"|"GREG" { + return GREG; + } +"immed"|"IMMED" { + return IMMED; + } +"addr"|"ADDR" { + return ADDR; + } +"insn"|"INSN" { + return INSN; + } "p"{DIGIT} { - yytext[yyleng]=0; - yylval.processor = strtoul(yytext+1,0,0); - return PNUM; - } -{DIGIT}+ { - yytext[yyleng]=0; - yylval.num = strtoul(yytext,0,0); - return NUM; - } -"0x"{HEX}+ { - yytext[yyleng]=0; - yylval.num = strtoul(yytext,0,0); - return NUM; - } + yytext[yyleng] = 0; + yylval.processor = strtoul (yytext+1, 0, 0); + return PNUM; + } +{DIGIT}+ { + yytext[yyleng] = 0; + yylval.num = strtoul (yytext, 0, 0); + return NUM; + } +"0x"{HEX}+ { + yytext[yyleng] = 0; + yylval.num = strtoul (yytext, 0, 0); + return NUM; + } {ALPHA}{ALNUM}* { - yytext[yyleng]=0; - yylval.str = strdup(yytext); - return ID; - } + yytext[yyleng] = 0; + yylval.str = strdup (yytext); + return ID; + } ";"|"#" { - int c; - while ((c = input()) != EOF) { - if (c == '\n') - { - unput(c); - break; - } - } - } -"\n" { - insntbl_line++; - MDBG(("in lex, NL=%d (x%x)\n",NL,NL)); - return NL; - } -" "|"\t" { } -. { - MDBG(("char=%x,%d\n",yytext[0],yytext[0])); - return yytext[0]; - } + int c; + while ((c = input ()) != EOF) + { + if (c == '\n') + { + unput (c); + break; + } + } + } +"\n" { + insntbl_line++; + MDBG (("in lex, NL = %d (x%x)\n", NL, NL)); + return NL; + } +" "|"\t" { + } +. { + MDBG (("char = %x, %d\n", yytext[0], yytext[0])); + return yytext[0]; + } %% - -int yywrap() { return 1; }