Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
54
Src/Plugins/Visualization/vis_avs/evallib/Scan.l
Normal file
54
Src/Plugins/Visualization/vis_avs/evallib/Scan.l
Normal file
|
@ -0,0 +1,54 @@
|
|||
%{
|
||||
#define YYSTYPE double
|
||||
#include "cal_tab.h"
|
||||
int c;
|
||||
|
||||
extern YYSTYPE yylval;
|
||||
double translate(int type);
|
||||
void count(void);
|
||||
void setLastVar(void);
|
||||
int lookup(int *typeOfObject);
|
||||
struct lextab *lexswitch(struct lextab *lp);
|
||||
|
||||
|
||||
#define INTCONST 1
|
||||
#define DBLCONST 2
|
||||
#define HEXCONST 3
|
||||
#define VARIABLE 4
|
||||
#define OTHER 5
|
||||
|
||||
%}
|
||||
|
||||
digit = [0-9];
|
||||
letter = [a-zA-Z_];
|
||||
hex = [a-fA-F0-9];
|
||||
/* -- */
|
||||
space = [\40];
|
||||
/*number = (digit* | "-" digit*);*/
|
||||
number = digit*;
|
||||
exp = [Ee] number;
|
||||
doubl = number "." (digit* | digit* exp);
|
||||
|
||||
%%
|
||||
hex hex* [hH] { count(); yylval = translate(HEXCONST); return VALUE; }
|
||||
digit* { count(); yylval = translate(INTCONST); return VALUE; }
|
||||
digit digit* [Dd] { count(); yylval = translate(INTCONST); return VALUE; }
|
||||
doubl { count(); yylval = translate(DBLCONST); return VALUE; }
|
||||
letter* { count(); { int typeOfObject; setLastVar(); yylval = lookup(&typeOfObject); return typeOfObject; }}
|
||||
letter (letter|digit)* { count(); { int typeOfObject; setLastVar(); yylval = lookup(&typeOfObject); return typeOfObject; }}
|
||||
'+' { count(); return '+'; }
|
||||
'-' { count(); return '-'; }
|
||||
'*' { count(); return '*'; }
|
||||
'/' { count(); return '/'; }
|
||||
'%' { count(); return '%'; }
|
||||
'&' { count(); return '&'; }
|
||||
'|' { count(); return '|'; }
|
||||
'(' { count(); return '('; }
|
||||
')' { count(); return ')'; }
|
||||
'=' { count(); return '='; }
|
||||
',' { count(); return ','; }
|
||||
';' { count(); return ';'; }
|
||||
[ \t\v\f] { count(); }
|
||||
. { count(); }
|
||||
|
||||
%%
|
Loading…
Add table
Add a link
Reference in a new issue