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