Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave.l engrave.y 


Log Message:
- on/off/true/false/0/1 allowed for booleans now.
- I think I put this everywhere that was needed, but I'm not sure

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.l,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- engrave.l   24 Oct 2004 23:03:48 -0000      1.4
+++ engrave.l   10 Nov 2004 20:04:38 -0000      1.5
@@ -174,6 +174,12 @@
 visible                                { KEYWORD_RETURN(VISIBLE); }
 x                                      { KEYWORD_RETURN(X); }
 y                                      { KEYWORD_RETURN(Y); }
+
+[o|O][n|N]                     { KEYWORD_RETURN(ON); }
+[o|O][f|F][f|F]                { KEYWORD_RETURN(OFF); }
+[t|T][r|R][u|U][e|E] { KEYWORD_RETURN(TRUE); }
+[f|F][a|A][l|L][s|S][e|E] { KEYWORD_RETURN(FALSE); }
+
 (\"[^\"]*\")*       {{ 
                         char *tmp = NULL;
                         int i = 0;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.y,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- engrave.y   24 Oct 2004 23:03:48 -0000      1.7
+++ engrave.y   10 Nov 2004 20:04:38 -0000      1.8
@@ -48,6 +48,7 @@
 %left TIMES DIVIDE
 %left NEG     /* negation--unary minus */
 %token OPEN_PAREN CLOSE_PAREN DOT INHERIT
+%token ON OFF TRUE FALSE
 
 %type <string> STRING 
 %type <val> FLOAT
@@ -57,7 +58,7 @@
 %type <image_type> image_type
 %type <text_effect> effect_type
 %type <aspect_pref> aspect_pref_type
-%type <val> exp
+%type <val> exp boolean
 
 %%
 
@@ -383,12 +384,26 @@
        | OUTLINE_SOFT_SHADOW { $$ = ENGRAVE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW; }
        ;
 
-mouse_events: MOUSE_EVENTS COLON exp SEMICOLON {
+boolean: ON { $$ = 1; }
+       | OFF { $$ = 0; }
+       | TRUE { $$ = 1; }
+       | FALSE { $$ = 0; }
+       | exp {
+               int i = $1;
+               if ((i != 0) && (i != 1)) {
+                       printf("Invalid boolean %d at line %d\n", i, 
engrave_lnum);
+                       i = 0;
+               }
+               $$ = i;
+       }
+       ;
+
+mouse_events: MOUSE_EVENTS COLON boolean SEMICOLON {
                 engrave_parse_part_mouse_events((int)$3);
        }
        ;
 
-repeat_events: REPEAT_EVENTS COLON exp SEMICOLON {
+repeat_events: REPEAT_EVENTS COLON boolean SEMICOLON {
                 engrave_parse_part_repeat_events((int)$3);
        }
        ;
@@ -462,7 +477,7 @@
        }
        ;
 
-visible: VISIBLE COLON exp SEMICOLON {
+visible: VISIBLE COLON boolean SEMICOLON {
                 engrave_parse_state_visible((int)$3);
        }
        ;
@@ -675,7 +690,7 @@
        | size
        ;
 
-smooth: SMOOTH COLON exp SEMICOLON {
+smooth: SMOOTH COLON boolean SEMICOLON {
                 engrave_parse_state_fill_smooth((int)$3);
        }
        ;
@@ -755,7 +770,7 @@
        }
        ;
 
-fit: FIT COLON exp exp SEMICOLON {
+fit: FIT COLON boolean boolean SEMICOLON {
                 engrave_parse_state_text_fit((int)$3, (int)$4);
        }
        ;




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to