1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
%{
# include "y.tab.h"
# include "types.h"
int numligne=1;
%}
bl [ \t]*
nl \n
commentaire #.*
nb [-+]?[0-9]*
str [^ = \t \n \( \) \< \> \} \{]+
gstr \{[^\{\}\n]*[\}\n]
inf <
infeq <=
equal ==
supeq >=
sup >
diff <>
get =
%%
{bl} ;
{commentaire} ;
^{bl}+WindowTitle { return WINDOWTITLE; }
^{bl}+WindowSize { return WINDOWSIZE; }
^{bl}+WindowPosition { return WINDOWPOSITION; }
^{bl}+ForeColor { return FORECOLOR; }
^{bl}+BackColor { return BACKCOLOR; }
^{bl}+ShadowColor { return SHADCOLOR; }
^{bl}+HilightColor { return LICOLOR; }
^{bl}+Widget { return OBJECT; }
^{bl}+Property { return PROP; }
^{bl}+Main { return MAIN; }
^{bl}+End { return END; }
^{bl}+Font { return FONT; }
^{bl}+Type { return TYPE; }
^{bl}+Size { return SIZE; }
^{bl}+Position { return POSITION; }
^{bl}+Value { return VALUE; }
^{bl}+MinValue { return VALUEMIN; }
^{bl}+MaxValue { return VALUEMAX; }
^{bl}+Title { return TITLE; }
^{bl}+SwallowExec { return SWALLOWEXEC; }
^{bl}+Icon { return ICON; }
^{bl}+Flags { return FLAGS; }
Hidden { return HIDDEN; }
CanBeSelected { return CANBESELECTED; }
NoReliefString { return NORELIEFSTRING; }
^{bl}+Do { return EXEC; }
^{bl}+HideWidget { return HIDE; }
^{bl}+ShowWidget { return SHOW; }
^{bl}+ChangeValue { return CHVALUE; }
^{bl}+ChangeMaxValue { return CHVALUEMAX; }
^{bl}+ChangeMinValue { return CHVALUEMIN; }
GetTitle { return GETTITLE; }
GetValue { return GETVALUE; }
GetOutput { return GETOUTPUT; }
NumToHex { return NUMTOHEX; }
HexToNum { return HEXTONUM; }
Add { return ADD;}
Mult { return MULT;}
Div { return DIV;}
StrCopy { return STRCOPY; }
LaunchScript { return LAUNCHSCRIPT; }
GetScriptFather { return GETSCRIPTFATHER; }
ReceivFromScript { return RECEIVFROMSCRIPT; }
RemainderOfDiv { return REMAINDEROFDIV; }
GetTime { return GETTIME; }
GetScriptArgument { return GETSCRIPTARG; }
^{bl}+ChangePosition { return POSITION; }
^{bl}+ChangeSize { return SIZE; }
^{bl}+ChangeTitle { return TITLE; }
^{bl}+ChangeIcon { return ICON; }
^{bl}+ChangeFont { return FONT; }
^{bl}+ChangeForeColor { return CHFORECOLOR; }
^{bl}+ChangeBackColor { return CHBACKCOLOR; }
^{bl}+Set { return SET; }
^{bl}+SendSignal { return SENDSIGN; }
^{bl}+Quit { return QUIT; }
^{bl}+Init { return INIT; }
^{bl}+PeriodicTasks { return PERIODICTASK; }
^{bl}+For { return FOR; }
^{bl}+WarpPointer { return WARP; }
^{bl}+WriteToFile { return WRITETOFILE; }
^{bl}+SendToScript { return SENDTOSCRIPT; }
^{bl}+SingleClic { return SINGLECLIC; }
^{bl}+DoubleClic { return DOUBLECLIC; }
To { return TO; }
Do { return DO; }
^{bl}+If { return IF; }
Then { return THEN; }
Else { return ELSE; }
{inf} { return INF; }
{infeq} { return INFEQ; }
{supeq} { return SUPEQ; }
{sup} { return SUP; }
{diff} { return DIFF; }
{equal} { return EQUAL; }
{get} { return GET; }
^{bl}+While { return WHILE; }
^{bl}+Case+[ \t]+message+[ \t]of { return CASE; }
^{bl}+Begin { return BEG; }
: { return POINT; }
[\(] { return BEGF; }
[\)] { return ENDF; }
{nb} { yylval.number=atoi(yytext);
return NUMBER;
}
[\$]+{str} {
yylval.str=(char*) strdup(yytext+1);
yylval.str[yyleng-1]='\0';
return VAR;
}
{gstr} { /* Str entre "" */
yylval.str=(char*) strdup(yytext+1);
yylval.str[yyleng-2]='\0';
return GSTR;
}
{str} { yylval.str=(char*) strdup(yytext);
yylval.str[yyleng]='\0';
return STR;
}
{nl} { numligne++; }
|