diff options
author | Dawn Perchik <dawn@cygnus> | 1997-02-23 22:23:12 +0000 |
---|---|---|
committer | Dawn Perchik <dawn@cygnus> | 1997-02-23 22:23:12 +0000 |
commit | efec4a282c17a6814a2ff28b15d6305af8aaf2bb (patch) | |
tree | 4e9afaa9bb6cb915bd311a7b7425ef13ede8cc1b /gas/itbl-lex.l | |
parent | c7583da0b6ef488954a9c299d95452e5e081e22e (diff) | |
download | gdb-efec4a282c17a6814a2ff28b15d6305af8aaf2bb.zip gdb-efec4a282c17a6814a2ff28b15d6305af8aaf2bb.tar.gz gdb-efec4a282c17a6814a2ff28b15d6305af8aaf2bb.tar.bz2 |
* itbl-parse.y: Fix indentation mistakes from indent program.
* itbl-lex.l: Fix indentation mistakes from indent program.
* itbl-ops.h: Add include for ansidecl.h.
Add PARAMS around function arguments.
Add declaration for itbl_have_entries.
* itbl-ops.c: Add PARAMS around function arguments.
* Makefile.in: Add itbl build rules.
Add dependancies for itbl files to mips target.
* as.c: Add itbl support.
Add new option "--insttbl" for dynamically extending instruction set.
* as.h: Declare insttbl_file_name;
the name of file defining extensions to the basic instruction set
* configure.in, configure: Add itbl-parse.o, itbl-lex.o, and
itbl-ops.o to extra_objects for mips configuration.
Add include file link from itbl-cpu.h to
config/itbl-${target_cpu_type}.h.
* config/tc-mips.c: Allow copz instructions.
Add notes for future additions to the itbl support.
Add debug macros.
(macro): Call itbl_assemble to assemble itbl instructions.
See if an unknown register is specified in an itbl entry.
Diffstat (limited to 'gas/itbl-lex.l')
-rw-r--r-- | gas/itbl-lex.l | 138 |
1 files changed, 83 insertions, 55 deletions
diff --git a/gas/itbl-lex.l b/gas/itbl-lex.l index 8c1e8e4..0ef88eb 100644 --- a/gas/itbl-lex.l +++ b/gas/itbl-lex.l @@ -1,3 +1,25 @@ + +/* itbl-lex.l + + Copyright (C) 1997 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 2, 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, 59 Temple Place - Suite 330, Boston, MA + 02111-1307, USA. */ + %{ #include <stdio.h> #include <string.h> @@ -23,64 +45,70 @@ 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; - } - } - } + 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]; - } + 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; } +int +yywrap () + { + return 1; + } |