help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Stack Info or subparsing?


From: Adam Smalin
Subject: Stack Info or subparsing?
Date: Thu, 11 Oct 2012 09:20:59 -0400

Lets say I want to do something like this

@Start Blah
int a,b
void func() {
    beep()
}
float c
@end

Then I will use Blah in place of declaring all that. Kind of like a C
define. Now here is the twist

@Start Blah
int a,b
void func() {
    beep()

float c
@end

I want this to fail because it doesn't end in the same scope. Doing } }
should fail as well as it end one scope to many.
What is the best way to implement this? I believe I can use unput when I
see Blah but the problem is ensuring the same scope. If I do it in multiple
code blocks I believe ending to little or many would still have the parser
in the same state so I can't simply look at state. I'd need a way to look
at the stack AND state. An easy hack would be to count '{' and '}' however
that will not work because what if i ended it with float c=.

So my question is how do I look at the state so I know it wasn't ended at
something like '=' (theres not that many valid states to do this. I believe
only in the body of namespace, function and class). How do I look at the
stack to know if I am in the right depth?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]