1 /****************************************************************************/
3 /* Chaine de CAO & VLSI Alliance */
5 /* Produit : GENIUS v1.00 */
6 /* Fichier : gen_library_lexer.lex */
8 /* (c) copyright 1999 Laboratoire MASI equipe CAO & VLSI */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
12 /* Auteur(s) : Francois DONNET le : 04/05/1999 */
14 /* Modifie par : le : ../../.... */
15 /* Modifie par : le : ../../.... */
16 /* Modifie par : le : ../../.... */
18 /****************************************************************************/
25 #define API_HIDE_TOKENS
27 #include "gen_library_parser.h"
29 #define yylval gen_library_parserlval
31 int lineno_library=1; /* to count the number of lines parsed */
37 word ([a-zA-Z0-9_\.\/]*)
43 <INITIAL>rule(s)? {return _RULE;}
44 <INITIAL>action(s)? {return _ACTIONS;}
47 <COMMENTARY,INITIAL>\n {lineno_library++;}
49 \/\* {BEGIN COMMENTARY;}
50 <COMMENTARY>[^(\n|(\*\/))]+ {}
52 <COMMENTARY>\*\/ {BEGIN INITIAL;}
54 <INITIAL>\/\/[^\n]* {}
55 <INITIAL>{num} {yylval.integer=atoi(yytext); return _DIGIT;}
56 <INITIAL>{word} {yylval.string=(char*)mbkalloc(strlen(yytext)+1); yylval.string=strcpy(yylval.string,yytext); return _IDENT;}
57 <INITIAL>\"[^\"]*\" { char buf[1024]; yylval.string=(char*)mbkalloc(strlen(yytext)+1); yylval.string=strcpy(yylval.string,&yytext[1]); yylval.string[strlen(yylval.string)-1]='\0'; return _IDENT;}
58 <INITIAL>. {return *yytext;}
63 /*****************************************************************************/
64 /* stop searching other files to parse ? */
65 /*****************************************************************************/