Groups | Search | Server Info | Login | Register


Groups > comp.compilers > #3489

Re: flex and bison grouping

Path csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end
From Hans-Peter Diettrich <DrDiettrich1@netscape.net>
Newsgroups comp.compilers
Subject Re: flex and bison grouping
Date Sat, 27 May 2023 02:08:39 +0200
Organization Compilers Central
Sender johnl@iecc.com
Approved comp.compilers@iecc.com
Message-ID <23-05-034@comp.compilers> (permalink)
References <23-05-022@comp.compilers> <23-05-032@comp.compilers> <23-05-033@comp.compilers>
MIME-Version 1.0
Content-Type text/plain; charset="UTF-8"
Injection-Info gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="92898"; mail-complaints-to="abuse@iecc.com"
Keywords lex, storage
Posted-Date 27 May 2023 12:34:14 EDT
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
In-Reply-To <23-05-033@comp.compilers>
Xref csiph.com comp.compilers:3489

Show key headers only | View raw


On 5/26/23 2:08 AM, gah4 wrote:
> On Thursday, May 25, 2023 at 5:49:39 AM UTC-7, Archana Deshmukh wrote:

>> I am able to populate the list for "name" parameter. The type is also of type char*.
>> How, I can differentiate between parameter "char* name" or "char* type" when I populate list.
>
> One that you have to be careful about with C in general, and I suspect in this case,
> is that you might have a pointer to some buffer that is reused.  Saving the pointer
> returned by flex might not help.  (I suspect John will tell me if this is wrong.)
>
> You often need to allocate new space, and make a copy to save.

In a typical compiler strings go into lists of literals and identifiers
(types, variables, functions...). The string has to be stored (copied)
on the first occurence, later occurences mostly become references to the
already existing entry (depending on scope rules).

> [You are right -- you need to make a copy of the yytext string in a
> flex action if you want to keep it. Otherwise it'll be overwritten the
> next time the lexer reads a block of input text. This is a very common
> bug. -John]

DoDi

Back to comp.compilers | Previous | NextPrevious in thread | Find similar


Thread

flex and bison grouping Archana Deshmukh <desharchana19@gmail.com> - 2023-05-18 22:54 -0700
  Re: flex and bison grouping Archana Deshmukh <desharchana19@gmail.com> - 2023-05-24 23:20 -0700
    Re: flex and bison grouping gah4 <gah4@u.washington.edu> - 2023-05-25 17:08 -0700
      Re: flex and bison grouping Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2023-05-27 02:08 +0200

csiph-web