LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: OpenCores CVS Agent<cvs@o...>
    Date: Tue Jan 18 16:25:45 CET 2005
    Subject: [cvs-checkins] MODIFIED: sc2v ...
    Top
    Date: 00/05/01 18:16:25

    Modified: sc2v/src sc2v_step1.l sc2v_step2.l
    Log:
    Contributions by Harald Devos




    Revision Changes Path
    1.4 +92 -85 sc2v/src/sc2v_step1.l

    http://www.opencores.org/cvsweb.shtml/sc2v/src/sc2v_step1.l.diff?r1=1.3&r2=1.4

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: sc2v_step1.l
    ===================================================================
    RCS file: /cvsroot/jcastillo/sc2v/src/sc2v_step1.l,v
    retrieving revision 1.3
    retrieving revision 1.4
    diff -u -b -r1.3 -r1.4
    --- sc2v_step1.l 17 Jan 2005 11:04:45 -0000 1.3
    +++ sc2v_step1.l 18 Jan 2005 15:24:34 -0000 1.4
    @@ -28,54 +28,61 @@

    extern int yylval;

    +int includefound = 0;
    +int linecomment = 0;
    +int multilinecomment = 0;
    %}

    %%
    -"void" return VOID;
    -"true" return TTRUE;
    -"false" return TFALSE;
    +"void" if(!includefound & !linecomment & !multilinecomment) return VOID; else {yylval=(int)strdup(yytext);} return WORD;
    +"true" if(!includefound & !linecomment & !multilinecomment) return TTRUE; else {yylval=(int)strdup(yytext);} return WORD;
    +"false" if(!includefound & !linecomment & !multilinecomment) return TFALSE; else {yylval=(int)strdup(yytext);} return WORD;
    [0-9]+ yylval=atoi(yytext); return NUMBER;
    -"::" return TWODOUBLEPOINTS;
    -sc_int return SC_INT;
    -sc_uint return SC_UINT;
    -sc_bigint return SC_BIGINT;
    -sc_biguint return SC_BIGUINT;
    -bool return BOOL;
    -">" return BIGGER;
    -"<" return LOWER;
    -"{" return OPENKEY;
    -"}" return CLOSEKEY;
    -"(" return OPENPAR;
    -")" return CLOSEPAR;
    -"[" return OPENCORCH;
    -"]" return CLOSECORCH;
    -".write" return WRITE;
    -"switch" return SWITCH;
    -"case" return CASE;
    -"default" return DEFAULT;
    -"break" return BREAK;
    -".read" return READ;
    -".range" return RANGE;
    +"::" if(!includefound & !linecomment & !multilinecomment) return TWODOUBLEPOINTS; else {yylval=(int)strdup(yytext);} return WORD;
    +sc_int if(!includefound & !linecomment & !multilinecomment) return SC_INT; else {yylval=(int)strdup(yytext);} return WORD;
    +sc_uint if(!includefound & !linecomment & !multilinecomment) return SC_UINT; else {yylval=(int)strdup(yytext);} return WORD;
    +sc_bigint if(!includefound & !linecomment & !multilinecomment) return SC_BIGINT; else {yylval=(int)strdup(yytext);} return WORD;
    +sc_biguint if(!includefound & !linecomment & !multilinecomment) return SC_BIGUINT; else {yylval=(int)strdup(yytext);} return WORD;
    +bool if(!includefound & !linecomment & !multilinecomment) return BOOL; else {yylval=(int)strdup(yytext);} return WORD;
    +">" if(!includefound & !linecomment & !multilinecomment) return BIGGER; else {yylval=(int)strdup(yytext);} return WORD;
    +"<" if(!includefound & !linecomment & !multilinecomment) return LOWER; else {yylval=(int)strdup(yytext);} return WORD;
    +"{" if(!includefound & !linecomment & !multilinecomment) return OPENKEY; else {yylval=(int)strdup(yytext);} return WORD;
    +"}" if(!includefound & !linecomment & !multilinecomment) return CLOSEKEY; else {yylval=(int)strdup(yytext);} return WORD;
    +"(" if(!includefound & !linecomment & !multilinecomment) return OPENPAR; else {yylval=(int)strdup(yytext);} return WORD;
    +")" if(!includefound & !linecomment & !multilinecomment) return CLOSEPAR; else {yylval=(int)strdup(yytext);} return WORD;
    +"[" if(!includefound & !linecomment & !multilinecomment) return OPENCORCH; else {yylval=(int)strdup(yytext);} return WORD;
    +"]" if(!includefound & !linecomment & !multilinecomment) return CLOSECORCH; else {yylval=(int)strdup(yytext);} return WORD;
    +".write" if(!includefound & !linecomment & !multilinecomment) return WRITE; else {yylval=(int)strdup(yytext);} return WORD;
    +"switch" if(!includefound & !linecomment & !multilinecomment) return SWITCH; else {yylval=(int)strdup(yytext);} return WORD;
    +"case" if(!includefound & !linecomment & !multilinecomment) return CASE; else {yylval=(int)strdup(yytext);} return WORD;
    +"default" if(!includefound & !linecomment & !multilinecomment) return DEFAULT; else {yylval=(int)strdup(yytext);} return WORD;
    +"break" if(!includefound & !linecomment & !multilinecomment) return BREAK; else {yylval=(int)strdup(yytext);} return WORD;
    +".read" if(!includefound & !linecomment & !multilinecomment) return READ; else {yylval=(int)strdup(yytext);} return WORD;
    +".range" if(!includefound & !linecomment & !multilinecomment) return RANGE; else {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;
    -"," return COLON;
    -";" return SEMICOLON;
    +"," if(!includefound & !linecomment & !multilinecomment) return COLON; else {yylval=(int)strdup(yytext);} return WORD;
    +";" if(!includefound & !linecomment & !multilinecomment) return SEMICOLON; else {yylval=(int)strdup(yytext);} return WORD;
    [" "]+ /*Ignore white spaces*/
    "\t" return TAB; /*Ignore Tab*/
    -"\n" return NEWLINE;
    -"0x" return HEXA;
    -"$" return DOLLAR; /* Ignore $ */
    -"(int)" return INTCONV; /* Ignore int type conversions*/
    -
    -"#define" return DEFINE;
    -"#include"
    -"#ifdef" return PIFDEF;
    -"#else" return PELSE; -"#endif" return PENDDEF; - +"\n" if (linecomment) linecomment=0; else if(includefound) includefound=0; return NEWLINE; +"\\\n" /* no new line */ +"0x" if(!includefound & !linecomment & !multilinecomment) return HEXA; else {yylval=(int)strdup(yytext);} return WORD; +"$" if(!includefound & !linecomment & !multilinecomment) return DOLLAR; else {yylval=(int)strdup(yytext);} return WORD;/* Ignore if(!includefound & !linecomment & !multilinecomment) $ */ +"(int)" if(!includefound & !linecomment & !multilinecomment) return INTCONV; else {yylval=(int)strdup(yytext);} return WORD;/* Ignore int type if(!includefound & !linecomment & !multilinecomment) conversions*/ + +"#define" if(!includefound & !linecomment & !multilinecomment) return DEFINE; else {yylval=(int)strdup(yytext);} return WORD; +"#include" includefound = 1; +"#ifdef" if(!includefound & !linecomment & !multilinecomment) return PIFDEF; else {yylval=(int)strdup(yytext);} return WORD; +"#else" if(!includefound & !linecomment & !multilinecomment) return PELSE; else {yylval=(int)strdup(yytext);} return WORD; +"#endif" if(!includefound & !linecomment & !multilinecomment) return PENDDEF; else {yylval=(int)strdup(yytext);} return WORD; + +"//" if (!multilinecomment) linecomment = 1; yylval=(int)strdup(yytext); return WORD; +"/*" if (!linecomment) multilinecomment = 1; yylval=(int)strdup(yytext); return WORD; +"*/" if (multilinecomment) multilinecomment = 0; yylval=(int)strdup(yytext); return WORD; "//"[ ]*[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*/ 1.3 +94 -93 sc2v/src/sc2v_step2.l http://www.opencores.org/cvsweb.shtml/sc2v/src/sc2v_step2.l.diff?r1=1.2&r2=1.3 (In the diff below, changes in quantity of whitespace are not shown.) Index: sc2v_step2.l =================================================================== RCS file: /cvsroot/jcastillo/sc2v/src/sc2v_step2.l,v retrieving revision 1.2 retrieving revision 1.3 diff -u -b -r1.2 -r1.3 --- sc2v_step2.l 20 Dec 2004 17:49:08 -0000 1.2 +++ sc2v_step2.l 18 Jan 2005 15:24:35 -0000 1.3 @@ -74,13 +74,14 @@ } "*" if(!includefound & !linecomment & !multilinecomment) return ASTERISCO; "\n" includefound = 0; linecomment = 0; +"\\\n" /* no new line */ "$" /* ignore */ "." /* ignore */ ":" /* ignore */ "#include" includefound = 1; -"//" linecomment = 1; -"/*" multilinecomment = 1; -"*/" multilinecomment = 0; +"//" if (!multilinecomment) linecomment = 1; +"/*" if (!linecomment) multilinecomment = 1; +"*/" if (multilinecomment) multilinecomment = 0; "/" /* ignore */ "-" "#"

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.