@@ -13,13 +13,11 @@ static int isatty(int) { return 0; }
1313
1414#include " verilog_preprocessor_tokenizer.h"
1515
16- extern verilog_preprocessor_tokenizert *verilog_preprocessor_tokenizer ;
16+ extern flex_interfacet *verilog_preprocessor_flex ;
1717using tokent = verilog_preprocessor_tokenizert::tokent;
1818
19- #define TOKENIZER (*verilog_preprocessor_tokenizer)
20-
2119#define YY_INPUT (buf, result, max_size ) \
22- { result = TOKENIZER. yy_input (buf, max_size); }
20+ { result = verilog_preprocessor_flex-> yy_input (buf, max_size); }
2321%}
2422
2523%s SLCOMMENT
@@ -33,13 +31,13 @@ String \"(\\.|[^"\\])*\"
3331
3432<INITIAL >" //" { BEGIN SLCOMMENT; /* single-line comment */ }
3533<INITIAL >" /*" { BEGIN MLCOMMENT; /* multi-line comment */ }
36- <INITIAL >{String } { TOKENIZER. text (yytext, yyleng); return tokent::STRING_LITERAL; }
37- <INITIAL >{Identifier } { TOKENIZER. text (yytext, yyleng); return tokent::IDENTIFIER; }
38- <INITIAL >. | \n { TOKENIZER. text (yytext[ 0 ]); return yytext[0 ]; /* anything else */ }
39- <SLCOMMENT >\n { BEGIN INITIAL; TOKENIZER. text ( ' \n ' ); return ' \n ' ; }
34+ <INITIAL >{String } { return tokent::STRING_LITERAL; }
35+ <INITIAL >{Identifier } { return tokent::IDENTIFIER; }
36+ <INITIAL >. | \n { return yytext[0 ]; /* anything else */ }
37+ <SLCOMMENT >\n { BEGIN INITIAL; return ' \n ' ; }
4038<SLCOMMENT >. { /* just eat up */ }
4139<SLCOMMENT ><<EOF>> { /* we allow that */ BEGIN INITIAL; }
42- <MLCOMMENT >\n { TOKENIZER. text ( ' \n ' ); return ' \n ' ; }
40+ <MLCOMMENT >\n { return ' \n ' ; }
4341<MLCOMMENT >" */" { BEGIN INITIAL; /* comment done */ }
4442<MLCOMMENT >. { /* just eat up */ }
4543<MLCOMMENT ><<EOF>> { throw verilog_preprocessor_errort () << " EOF inside a comment" ; }
@@ -48,8 +46,19 @@ String \"(\\.|[^"\\])*\"
4846
4947int yywrap () { return 1 ; }
5048
51- void verilog_preprocessor_tokenizer_init ()
49+ void verilog_preprocessor_tokenizert::flext::init ()
5250{
5351 YY_FLUSH_BUFFER;
5452 BEGIN INITIAL;
5553}
54+
55+ int verilog_preprocessor_tokenizert::flext::lex ()
56+ {
57+ return yylex ();
58+ }
59+
60+ flex_interfacet::text_and_lengt
61+ verilog_preprocessor_tokenizert::flext::text_and_leng ()
62+ {
63+ return {yytext, yyleng};
64+ }
0 commit comments