Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : proto

Dir     : e17/proto/edje_cc


Modified Files:
        edje.l 


Log Message:

beginning of script handling

===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/edje_cc/edje.l,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- edje.l      8 Sep 2004 03:12:01 -0000       1.14
+++ edje.l      8 Sep 2004 03:52:27 -0000       1.15
@@ -7,12 +7,25 @@
     int lnum = 1;
     int col = 0;
     static int comment = 0, cpp_comment = 0;
+    static int script_level = 0;
+    char *script;
 
-    #define COMMENT_START() BEGIN(c_comment); comment++; 
+    #define COMMENT_START() BEGIN(SC_COMMENT); comment++; 
     #define COMMENT_END()   comment--; \
                             if (comment <= 0) { comment = 0; BEGIN(INITIAL); }
     #define CPP_COMMENT()   comment = 1; cpp_comment = 1;
 
+    #define SCRIPT_START()  BEGIN(SC_SCRIPT); /* FIXME initialize script */
+    #define SCRIPT_END()    BEGIN(INITIAL); /* FIXME return script */
+    #define SCRIPT_PIECE()  ; /* FIXME add piece to script */
+    #define SCRIPT_NEW_LINE() lnum ++; SCRIPT_PIECE(); 
+    #define SCRIPT_OPEN_BRACE() script_level++; \
+                                if (script_level > 1) SCRIPT_PIECE();
+    #define SCRIPT_CLOSE_BRACE() script_level--;\
+                                 if (script_level > 0) { SCRIPT_PIECE();}\
+                                 else {script_level = 0; SCRIPT_END();}\
+                                   
+
     #define WHITE_SPACE()   col += yyleng;
 
     #define NEW_LINE()      lnum ++; \
@@ -49,7 +62,8 @@
 fractional_constant ([0-9]*"."[0-9]+)|([0-9]+".")
 floating_constant 
((({start_part}{fractional_constant}{exponent_part}?)|({start_part}[0-9]+{exponent_part}))[FfLl]?)|({start_part}[0-9][0-9]*)
 
-%x c_comment
+%x SC_COMMENT
+%x SC_SCRIPT
 
 %%
 ACCELERATE                     { KEYWORD_RETURN(ACCELERATE); }
@@ -103,7 +117,6 @@
 rel2                           { KEYWORD_RETURN(REL2); }
 relative                       { KEYWORD_RETURN(RELATIVE); }
 repeat_events          { KEYWORD_RETURN(REPEAT_EVENTS); }
-script                         { KEYWORD_RETURN(SCRIPT); }
 signal                         { KEYWORD_RETURN(SIGNAL); }
 SIGNAL_EMIT                    { KEYWORD_RETURN(SIGNAL_EMIT); }
 SINUSOIDAL                     { KEYWORD_RETURN(SINUSOIDAL); }
@@ -140,16 +153,22 @@
 
 "/*"                { COMMENT_START(); }
 
-<c_comment>{
-  "/*"           { COMMENT_START(); }
-  \n             { NEW_LINE(); }
+<SC_COMMENT>{
+  "/*"              { COMMENT_START(); }
+  \n                { NEW_LINE(); }
 
-  "*/"           { COMMENT_END(); }
+  "*/"              { COMMENT_END(); }
   .
 }
 
+script              { SCRIPT_START(); }
 
-
+<SC_SCRIPT>{
+  [^\{\}\n]*        { SCRIPT_PIECE(); }
+  \n                { SCRIPT_NEW_LINE(); }
+  \{                { SCRIPT_OPEN_BRACE(); }
+  \}                { SCRIPT_CLOSE_BRACE(); }
+}
 .                   { CHAR_RETURN(); }
 
 




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to