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 + -
显示快捷键?