[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
a question about yyrestart & reusing a scanner
From: |
Cheng Po-wen |
Subject: |
a question about yyrestart & reusing a scanner |
Date: |
Thu, 21 Apr 2005 20:29:03 +0800 |
User-agent: |
Mozilla Thunderbird 0.8 (Windows/20040913) |
Hi,
I have a a question about how to reuse a scanner,
The document (which is flex.pdf -- Flex, version 2.5.31) says
there is no need to destroy a scanner if you plan to reuse it. A flex
scanner (both reentrant
and non-reentrant) may be restarted by calling yyrestart
my question is :
1. Is it safe, for a long lived applicaion to reuse a scanner all the
time by calling
yyrestart(..) ?
will there be any dangling resources, which are not released or freed by
doing so???
2. Does yy_scan_buffer (or yy_scan_string) internally do the "yyrestart
things" ?
what I mean is my scanner scans "strings", instead of "stdin".
so, if i want to reuse a scanner,
do I have to call yyrestart(NULL , my_scanner), and then call
yy_scan_buffer(.....) ???
or I can just call yy_scan_buffer(.....), and it internally does the
"yyrestart things" ?
THANX
Sting
The function yylex_destroy should be called to free resources used by
the scanner.
After yylex_destroy is called, the contents of yyscanner should not be
used. Of course,
there is no need to destroy a scanner if you plan to reuse it. A flex
scanner (both reentrant
and non-reentrant) may be restarted by calling yyrestart
--
Sting, Cheng Po-wen(鄭博文)
Phone : 886-3-5914545 Fax : 886-3-5820085
E-Mail : address@hidden
Internet Software Technology Division(W100)
Computer & Communication Research Lab. / ITRI
- a question about yyrestart & reusing a scanner,
Cheng Po-wen <=