OpenCores
URL https://opencores.org/ocsvn/sc2v/sc2v/trunk

Subversion Repositories sc2v

[/] [sc2v/] [trunk/] [src/] [sc2v_step1.l] - Diff between revs 2 and 4

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 2 Rev 4
Line 1... Line 1...
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
 *
 *
 *  SystemC to Verilog Translator v0.1
 *  SystemC to Verilog Translator v0.2
 *  Provided by OpenSoc Design
 *  Provided by OpenSoc Design
 *
 *
 *  www.opensocdesign.com
 *  www.opensocdesign.com
 *
 *
 * -----------------------------------------------------------------------------
 * -----------------------------------------------------------------------------
Line 29... Line 29...
extern int yylval;
extern int yylval;
 
 
%}
%}
 
 
%%
%%
 
"void"                              return VOID;
[0-9]+                              yylval=atoi(yytext); return NUMBER;
[0-9]+                              yylval=atoi(yytext); return NUMBER;
void                                /* Ignore void */
"::"                                return TWODOUBLEPOINTS;
"::"                                return DOSPUNTOSDOBLE;
 
sc_int                              return SC_INT;
sc_int                              return SC_INT;
sc_uint                             return SC_UINT;
sc_uint                             return SC_UINT;
sc_bigint                           return SC_BIGINT;
sc_bigint                           return SC_BIGINT;
sc_biguint                          return SC_BIGUINT;
sc_biguint                          return SC_BIGUINT;
bool                                return BOOL;
bool                                return BOOL;
">"                                 return MAYOR;
">"                                 return BIGGER;
"<"                                 return MENOR;
"<"                                 return LOWER;
"{"                                 return OPENKEY;
"{"                                 return OPENKEY;
"}"                                 return CLOSEKEY;
"}"                                 return CLOSEKEY;
"("                                 return OPENPAR;
"("                                 return OPENPAR;
")"                                 return CLOSEPAR;
")"                                 return CLOSEPAR;
"["                                 return OPENCORCH;
"["                                 return OPENCORCH;
Line 52... Line 52...
"case"                              return CASE;
"case"                              return CASE;
"default"                           return DEFAULT;
"default"                           return DEFAULT;
"break"                             return BREAK;
"break"                             return BREAK;
".read"                             return READ;
".read"                             return READ;
".range"                            return RANGE;
".range"                            return RANGE;
"#define"                           return DEFINE;
 
"#include"                          /* Ignore #include */
 
[a-zA-Z][_a-zA-Z0-9]*               yylval=(int)strdup(yytext); return WORD;
[a-zA-Z][_a-zA-Z0-9]*               yylval=(int)strdup(yytext); return WORD;
[.:"^"!%()=/+*_"&""?""|""\\"]       yylval=(int)strdup(yytext); return SYMBOL;
[.:"^"!%()=/+*_"&""?""|""\\"]       yylval=(int)strdup(yytext); return SYMBOL;
"-"                                 yylval=(int)strdup(yytext); return SYMBOL;
"-"                                 yylval=(int)strdup(yytext); return SYMBOL;
"~"                                 yylval=(int)strdup(yytext); return SYMBOL;
"~"                                 yylval=(int)strdup(yytext); return SYMBOL;
"@"                                 yylval=(int)strdup(yytext); return SYMBOL;
"@"                                 yylval=(int)strdup(yytext); return SYMBOL;
"#"                                 yylval=(int)strdup(yytext); return SYMBOL;
 
","                                 return COLON;
","                                 return COLON;
";"                                 return SEMICOLON;
";"                                 return SEMICOLON;
[" "]+                              /* Ignore white spaces*/
[" "]+                              /* Ignore white spaces*/
"\t"                                /* Ignore TAB; */
"\t"                                return TAB; /*Ignore Tab*/
"\n"                                return NEWLINE;
"\n"                                return NEWLINE;
"0x"                                return HEXA;
"0x"                                return HEXA;
"$"                                 /* Ignore $ */
"$"                                 return DOLLAR; /* Ignore $ */
"(int)"                             /* Ignore int type conversions*/
"(int)"                             return INTCONV; /* Ignore int type conversions*/
 
 
 
"#define"                           return DEFINE;
 
"#include"
 
"#ifdef"                            return PIFDEF;
 
"#else"                             return PELSE;
 
"#endif"                            return PENDDEF;
 
 
 
 
 
"//"[ ]*[tT][rR][aA][nN][sS][lL][aA][tT][eE][ ]*[oO][fF][fF]  return TRANSLATEOFF;  /*Translate directive*/
 
"//"[ ]*[tT][rR][aA][nN][sS][lL][aA][tT][eE][ ]*[oO][nN]      return TRANSLATEON;   /*Translate directive*/
 
"/*"[ ]*[vV][eE][rR][iI][lL][oO][gG][ ]*[bB][eE][gG][iI][nN]  return VERILOGBEGIN;
 
[vV][eE][rR][iI][lL][oO][gG][ ]*[eE][nN][dD]"*/"              return VERILOGEND;
 
 
%%
%%

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.