Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #2972

Using a C struct to represent a node in a parse tree ... how many fields in the struct?

Path csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end
From Roger L Costello <costello@mitre.org>
Newsgroups comp.compilers
Subject Using a C struct to represent a node in a parse tree ... how many fields in the struct?
Date Fri, 8 Apr 2022 11:17:01 +0000
Organization Compilers Central
Lines 29
Sender news@iecc.com
Approved comp.compilers@iecc.com
Message-ID <22-04-002@comp.compilers> (permalink)
Mime-Version 1.0
Content-Type text/plain; charset="us-ascii"
Content-Transfer-Encoding 8bit
Injection-Info gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="77925"; mail-complaints-to="abuse@iecc.com"
Keywords parse, question, comment
Posted-Date 08 Apr 2022 11:50:38 EDT
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
Content-Language en-US
Xref csiph.com comp.compilers:2972

Show key headers only | View raw


Hi Folks,

The compiler book [1] that I am reading says this:

The most obvious way to represent the information gained from lexical and
syntax analysis is as a tree along the lines of the parse tree. In C this is
suitably handled using a simple struct for each node:

struct node
{
	int 	        nodetype ;
	struct node  *field1 ;
	struct node  *field2 ;
	struct node  *field3 ;
	struct node  *field4 ;
	struct node  *field5 ;
} ;

But, but, but, ..what if a node requires more than 5 fields; how is that
handled?

/Roger

[1] Introduction to Compiling Techniques, A First Course Using ANSI C, LEX and
YACC by J. P. Bennett, page 47.
[Use a bigger struct.  You know what kind of nodes your parser creates, so define
a struct that does what you want.  Personally, I prefer to define a struct for
each node type and a general node that is a union, or perhaps a union of
pointers. -John]

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


Thread

Using a C struct to represent a node in a parse tree ... how many fields in the struct? Roger L Costello <costello@mitre.org> - 2022-04-08 11:17 +0000
  Re: Using a C struct to represent a node in a parse tree ... how many fields in the struct? Johann Klammer <klammerj@NOSPAM.a1.net> - 2022-04-08 20:44 +0200
  Re: Using a C struct to represent a node in a parse tree ... how many fields in the struct? Kaz Kylheku <480-992-1380@kylheku.com> - 2022-04-08 19:49 +0000
    Re: Using a C struct to represent a node in a parse tree ... how many fields in the struct? "marb...@yahoo.co.uk" <marblypup@yahoo.co.uk> - 2022-04-09 05:03 -0700
    Re: Using a C struct to represent a node in a parse tree ... how many fields in the struct? luser droog <luser.droog@gmail.com> - 2022-04-27 21:22 -0700

csiph-web