⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 itbl-lex.l

📁 基于4个mips核的noc设计
💻 L
字号:
/* itbl-lex.l   Copyright 1997, 1998 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>#include <stdlib.h>#include <ctype.h>#include "itbl-parse.h"#ifdef DEBUG#define DBG(x) printf x#define MDBG(x) printf x#else#define DBG(x)#define MDBG(x)#endifint insntbl_line = 1;%}ALNUM	[A-Za-z0-9_]DIGIT	[0-9]ALPHA	[A-Za-z_]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;  }"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;  }{ALPHA}{ALNUM}*	{    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];  }%%#ifndef yywrapint yywrap ()   {     return 1;   }#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -