[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reading parser stack
From: |
Mike Aubury |
Subject: |
Re: Reading parser stack |
Date: |
Wed, 29 Apr 2009 12:47:04 +0100 |
Something like :
A: B C D {
printf("The identifier was: %s", $2);
}
| B E D {
printf("It wasn't an identifier...");
}
;
2009/4/29 Mark Redd <address@hidden>
> Hello everybody,
> I would like to receive an hint about reading parser stack.
>
> Suppose my (fantasy) bison grammar is this:
>
> %start A
>
> A : B C D | B E D
>
> B: ID
> C: '*'
> D: IDENTIFIER
> E: '-'
>
> where IDENTIFIER has been defined like [a-zA-Z0-9]+ using flex.
>
> How can I print "the identifier was: %s" when C matches (but not when E
> does
> it) without rewriting the grammar?
> In particular, I need to know what I have to write in
> C: '*' { printf("The identifier was: %s", ?????); }
>
> Note that it isn't my very problem, but it's a model of this and so I'd
> like
> a general answer. So I can't modify my grammar and I don't want to read
> only
> the last token in parser, but sometimes I'm interested in reading the last
> n
> tokens.
>
> Thank you!
> Mark Redd
> _______________________________________________
> address@hidden http://lists.gnu.org/mailman/listinfo/help-bison
>