Related articles |
---|
type or identifier fundamental parsing issue - Need help from parsing hsad005@gmail.com (AD) (2012-07-03) |
Re: type or identifier fundamental parsing issue - Need help from pars gneuner2@comcast.net (George Neuner) (2012-07-04) |
Re: type or identifier fundamental parsing issue - Need help from pars DrDiettrich1@aol.com (Hans-Peter Diettrich) (2012-07-04) |
Re: type or identifier fundamental parsing issue - Need help from pars torbenm@diku.dk (2012-07-11) |
Re: C arcana, was type or identifier fundamental parsing issue - Need christian.bau@cbau.wanadoo.co.uk (christian.bau) (2012-07-12) |
DKIM-Signature: | v=1; a=rsa-sha256; c=simple; d=iecc.com; h=cc:from:subject:date:sender:message-id:references:mime-version:content-type:content-transfer-encoding:vbr-info; s=9180.4ff8a317.k1207; i=johnl@user.iecc.com; bh=++4DwmSFLah4dih8asvzdct5DCrj0yImj+q/BsiWsgA=; b=FnKMgBOjLjn+1lh4LEhAzLSK3mIapCQO/4FQL3CEXAmA9x2Rc8xzu7Oe8KaW1RB/TIofl03ODKM6sHnj8WMNrl8HfsU2pKYW/24v/xFzjOsSPvRn2rAecMZzcRBGKWCeBs4m+aVkfvMIPJmvc1EhuW/v3jXo7lBPcAFHg2qAD+M= |
VBR-Info: | md=iecc.com; mc=all; mv=dwl.spamhaus.org |
From: | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
Newsgroups: | comp.compilers |
Date: | Wed, 04 Jul 2012 11:43:08 +0100 |
Organization: | Compilers Central |
References: | 12-07-004 |
Keywords: | types, parse, practice |
Posted-Date: | 07 Jul 2012 16:59:03 EDT |
AD schrieb:
> Greetings All,
>
> I am dealing with a programming langauge that supports something like
> sizeof(<typename>) as well as sizeof(<variable-name>) expression.
>
> For parsing such a construct, one would need a parser/yacc rule somewhat like
> the following:
>
> SIZEOF_KEYWORD '(' IDENTIFIER ')'
>
> The fundamemtal problem in the rules of the language (that I am dealing with)
> is that its lookup/resolution rule *doesn't* allow me to check in symbol table
> if that 'IDENTIFIER' is a type or non-type variable. Problem is, this language
> supports certain constructs which can potentially/later make such early
> lookup/resolution decisions wrong. In short, name resolutions in this langauge
> (as per the langauge definition) can only be initiated after the entire source
> code has been completely parsed/seen.
There exist pros and cons. The C preprocessor *requires* that sizeof
is a built-in *macro*, so that it can be used in #if conditions.
OTOH the size of structs depends heavily on the target environment,
alignments and other factors, so that I'd delay the evaluation until
code generation, where all involved factors are definitely known.
Anything between these extremes is possible as well. The real question
is: Do there exist reasons/situations, where sizeof *must* be evaluated
prior to the code generation/execution phase?
DoDi
Return to the
comp.compilers page.
Search the
comp.compilers archives again.