syslex.l

来自「基于4个mips核的noc设计」· L 代码 · 共 71 行

L
71
字号
%{/* Copyright 2001 Free Software Foundation, Inc.This file is part of GLD, the Gnu Linker.GLD is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GLD is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GLD; see the file COPYING.  If not, write to the FreeSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA.  */#include "sysinfo.h"char *word;int number;int unit;#ifndef yywrapstatic int yywrap () { return 1; }#endif%}%%"(" { return '(';}")" { return ')';}"[" { return '[';}"]" { return ']';}" " { ; }";".* { ; } "\t" { ; }"\n" { ; }"\""[^\"]*"\"" {yylval.s = malloc(strlen (yytext));strcpy(yylval.s, yytext+1);yylval.s[strlen(yylval.s)-1] = 0;        return NAME;	}0x[0-9a-f]+ {        yylval.i = strtol(yytext,0,16);	return  NUMBER;	}[0-9]+ {        yylval.i = atoi(yytext);	return  NUMBER;	}"bits" { yylval.i =1 ;return UNIT;}"bit" { yylval.i = 1; return UNIT;}"bytes" { yylval.i= 8; return UNIT;}"byte" { yylval.i = 8; return UNIT;}"int" { yylval.s = "INT"; return TYPE;}"barray" { yylval.s = "BARRAY"; return TYPE;}"chars" { yylval.s = "CHARS"; return TYPE;}"variable" { yylval.i = 0; return NUMBER;}"counted" { yylval.i = -4; return NUMBER;}"addrsize" { yylval.i = -2; return NUMBER; }"segsize" { yylval.i = -1; return NUMBER; }"cond" { return COND;}"repeat" { return REPEAT;}

⌨️ 快捷键说明

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