Groups | Search | Server Info | Login | Register
Groups > comp.compilers > #3487
| Path | csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end |
|---|---|
| From | Archana Deshmukh <desharchana19@gmail.com> |
| Newsgroups | comp.compilers |
| Subject | Re: flex and bison grouping |
| Date | Wed, 24 May 2023 23:20:22 -0700 |
| Organization | Compilers Central |
| Sender | johnl@iecc.com |
| Approved | comp.compilers@iecc.com |
| Message-ID | <23-05-032@comp.compilers> (permalink) |
| References | <23-05-022@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="33709"; mail-complaints-to="abuse@iecc.com" |
| Keywords | lex, yacc, design, comment |
| Posted-Date | 25 May 2023 08:47:53 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-022@comp.compilers> |
| Xref | csiph.com comp.compilers:3487 |
Show key headers only | View raw
On Saturday, May 20, 2023 at 1:26:09 AM UTC+5:30, Archana Deshmukh wrote:
> Hello,
>
> I would like to parse following line using bison and flex.
>
> Any help / suggestions are most welcome.
>
> efg @main(%data: r[(1, 2, 4, 4), float32], %param_1: or[(2, 1, 5, 5),
> float32], %param_2: or[(20), float32], %param_3: or[(5, 2, 5, 5), float32],
> %param_4: or[(50), float32], %param_5: or[(50, 80), float32], %param_6:
> Tensor[(50), float32], %param_7: or[(10, 50), float32], %param_8: or[(20),
> float32]
>
> Best Regards,
> Archana Deshmukh
> [This looks very straightforward. The Flex tokens are keywords, numbers,
> and punctuation, the bison rules would be a %param or %data expression,
> a list of such expressions, and so on. Is there some particular problem
> you are encountering? -John
> Cheap plug: there's always my book https://amzn.to/3IrtPFS ]
Thanks John for response.
I am able to write flex tokens and bison parser and able to retrieve tokens and values. Now, I want to put these values to a list. I implemented with C linked list
with simple structure
struct node{
char* name;
int dimensions[4];
char* type;
struct node *next;
};
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.
The flex code has tokens and bison parser code understands these tokens correctly. Now, I need to put these values to list. I think I am missing something here. There is no context in bison code.
Best Regards,
Archana Deshmukh
[If it's not obvious from context what kind of nodes are in the list, add a tag field to the
node that tells you what kind of node it is. For nodes this small it doesn't really
matter, but we often use a union to use the same space for fields that appear in different
kinds of nodes. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
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