Further progress in merging sdag translator with charmxi. trans.l, the lexer
authorMilind Bhandarkar <milind@cs.uiuc.edu>
Fri, 23 Mar 2001 20:40:32 +0000 (20:40 +0000)
committerMilind Bhandarkar <milind@cs.uiuc.edu>
Fri, 23 Mar 2001 20:40:32 +0000 (20:40 +0000)
is flexed with -Psl, which generates trans.c, so that no external symbol
starts with yy. Otherwise it will clash with the lexer symbols from charmxi.

src/langs/sdag/xlator/CLexer.C
src/langs/sdag/xlator/CLexer.h
src/langs/sdag/xlator/EToken.h
src/langs/sdag/xlator/trans.c
src/langs/sdag/xlator/trans.l

index 1f2c9ca5366504b01ab345dda585cce0ab7aec2c..94692e432501948765031d00ef510adb024c265d 100644 (file)
@@ -39,12 +39,12 @@ CToken *CLexer::lookAhead(void)
       delete cToken;
       continue;
     } else {
-      char *yycopy = strdup(myyytext);
-      for(int i=strlen(yycopy)-1; i>=0; i-- ) {
+      char *slcopy = strdup(mysltext);
+      for(int i=strlen(slcopy)-1; i>=0; i-- ) {
         charNum--;
-        Unput(yycopy[i]) ;
+        Unput(slcopy[i]) ;
       }
-      free(yycopy);
+      free(slcopy);
       return cToken;
     }
   }
@@ -57,20 +57,20 @@ CToken *CLexer::getNextToken(void)
   CToken *cToken;
 
   while(1) {
-    type = yylex();
+    type = sllex();
     if ((int)type == 0)
       return (CToken *) 0;
-    charNum += strlen(myyytext);
+    charNum += strlen(mysltext);
     if(type == NEW_LINE) {
       lineNum++;
       charNum = 1;
       if (wsSignificant)
-        return new CToken(type, myyytext);
+        return new CToken(type, mysltext);
       else
         continue;
     }
     if((type != WSPACE) || wsSignificant) {
-      cToken = new CToken(type, myyytext);
+      cToken = new CToken(type, mysltext);
       // cToken->print(0);
       return cToken;
     }
@@ -79,7 +79,7 @@ CToken *CLexer::getNextToken(void)
 
 CToken *CLexer::getBracedCode(void)
 {
-  CToken *code = new CToken(BRACE_MATCHED_CPP_CODE, "{ ");
+  CToken *code = new CToken(MATCHED_CPP_CODE, "{ ");
   int currentScope = 1;
   wsSignificant = 1;
   // Code to eat C++ code
@@ -102,7 +102,7 @@ CToken *CLexer::getBracedCode(void)
 
 CToken *CLexer::getParenCode(void)
 {
-  CToken *code = new CToken(BRACE_MATCHED_CPP_CODE, "( ");
+  CToken *code = new CToken(MATCHED_CPP_CODE, "( ");
   int currentScope = 1;
   wsSignificant = 1;
   // Code to eat C++ code
@@ -156,9 +156,9 @@ CToken *CLexer::getIntExpr(EToken term)
         break;
     }
     if(cToken->type == term && !numBraces && !numParens && !numBrackets) {
-      for(int i=strlen(myyytext)-1; i>=0; i-- ) {
+      for(int i=strlen(mysltext)-1; i>=0; i-- ) {
         charNum--;
-        Unput(myyytext[i]) ;
+        Unput(mysltext[i]) ;
       }
       endExpr = 1;
     } else {
index d7791fca2f99e781bd923090ab54a8117983ab54..a4c6544a66f9b3023ac818121c73fc427603703f 100644 (file)
@@ -13,8 +13,8 @@
 #include "sdag-globals.h"
 #include "string.h"
 
-extern "C" EToken yylex();
-extern "C" char *myyytext;
+extern "C" EToken sllex();
+extern "C" char *mysltext;
 extern "C" void Unput(char);
 
 class CLexer {
index c4ad778b079b5a9fbfc639b70c99489c8977e8c0..fb7b4b529747e05ee894655518b8c75fcfaa3681 100644 (file)
@@ -37,13 +37,12 @@ enum EToken {
   ,ELSE=25
   ,SEMICOLON=26
 
-  ,BRACE_MATCHED_CPP_CODE=100
-  ,PAREN_MATCHED_CPP_CODE=101
-  ,INT_EXPR=102
-  ,WSPACE=103
-  ,SLIST=104
-  ,ELIST=105
-  ,OLIST=106
+  ,MATCHED_CPP_CODE=100
+  ,INT_EXPR=101
+  ,WSPACE=102
+  ,SLIST=103
+  ,ELIST=104
+  ,OLIST=105
 };
 
 #endif /* _EToken_H_ */
index 45518b049d0fd73ae40c67a9e8e68a52dfcb45fa..35392a235ec7d06f76d97be4f5b4cac86dca4a70 100644 (file)
@@ -1,11 +1,22 @@
-/*****************************************************************************
- * $Source$
- * $Author$
- * $Date$
- * $Revision$
- *****************************************************************************/
-
-#line 2 "trans.c"
+#define yy_create_buffer sl_create_buffer
+#define yy_delete_buffer sl_delete_buffer
+#define yy_scan_buffer sl_scan_buffer
+#define yy_scan_string sl_scan_string
+#define yy_scan_bytes sl_scan_bytes
+#define yy_flex_debug sl_flex_debug
+#define yy_init_buffer sl_init_buffer
+#define yy_flush_buffer sl_flush_buffer
+#define yy_load_buffer_state sl_load_buffer_state
+#define yy_switch_to_buffer sl_switch_to_buffer
+#define yyin slin
+#define yyleng slleng
+#define yylex sllex
+#define yyout slout
+#define yyrestart slrestart
+#define yytext sltext
+#define yywrap slwrap
+
+#line 20 "trans.c"
 /* A lexical scanner generated by flex */
 
 /* Scanner skeleton version:
@@ -519,12 +530,12 @@ char *yytext;
 #include "EToken.h"
 
 /* Assume that the C-style comments are not present in the source */
-char *myyytext;
+char *mysltext;
 
-#define Return(x) { myyytext = (char *) malloc(strlen(yytext)+1); \
-                    strcpy(myyytext, yytext); return (x); }
+#define Return(x) { mysltext = (char *) malloc(strlen(sltext)+1); \
+                    strcpy(mysltext, sltext); return (x); }
 
-#line 521 "trans.c"
+#line 539 "trans.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -672,13 +683,13 @@ YY_MALLOC_DECL
 YY_DECL
        {
        register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
+       register char *yy_cp = NULL, *yy_bp = NULL;
        register int yy_act;
 
 #line 35 "trans.l"
 
 
-#line 675 "trans.c"
+#line 693 "trans.c"
 
        if ( yy_init )
                {
@@ -996,7 +1007,7 @@ YY_RULE_SETUP
 #line 92 "trans.l"
 ECHO;
        YY_BREAK
-#line 993 "trans.c"
+#line 1011 "trans.c"
 case YY_STATE_EOF(INITIAL):
        yyterminate();
 
@@ -1885,7 +1896,7 @@ int main()
 #line 92 "trans.l"
 
 
-yywrap()
+slwrap()
 {
   return 1;
 }
index 7d5f864dfbfb62925df562ad0a76e304da4fde48..9a9c9cffeb350cb034d19e228e6b60bfe9bffa3f 100644 (file)
@@ -2,10 +2,10 @@
 #include "EToken.h"
 
 /* Assume that the C-style comments are not present in the source */
-char *myyytext;
+char *mysltext;
 
-#define Return(x) { myyytext = (char *) malloc(strlen(yytext)+1); \
-                    strcpy(myyytext, yytext); return (x); }
+#define Return(x) { mysltext = (char *) malloc(strlen(sltext)+1); \
+                    strcpy(mysltext, sltext); return (x); }
 
 %}
 
@@ -91,7 +91,7 @@ atomic                        {Return(ATOMIC);}
 
 %%
 
-yywrap()
+slwrap()
 {
   return 1;
 }