Related articles |
---|
Handling Scope in a C Compiler bart@dynarec.com (Bart T.) (2002-10-18) |
Re: Handling Scope in a C Compiler tina.falkenberg@worldnet.att.net (Tina Falkenberg) (2002-10-20) |
Re: Handling Scope in a C Compiler vbdis@aol.com (VBDis) (2002-10-25) |
From: | "Tina Falkenberg" <tina.falkenberg@worldnet.att.net> |
Newsgroups: | comp.compilers |
Date: | 20 Oct 2002 22:51:41 -0400 |
Organization: | AT&T Worldnet |
References: | 02-10-075 |
Keywords: | C, symbols |
Posted-Date: | 20 Oct 2002 22:51:41 EDT |
Hello,
when I had the scope problem in my Compiler, I did the following:
I defined a list of used variables the list had several entries, one was the
name of the variable, the other
was the scope. Now the compiler could run through the code and each time
when it found a new variable
definition assign the scope to the variable.
Let me give an example:
int a()
{
int a;
for (i =0; i<99; i++)
{
int a; ...
}
....
The function name is a so I created a new "function" variable with the
actual scope:
name: a scope : something
The parser now enters the function a, so the scope will be set to
something_a, just attaching the actual function
name to the actual scope.
Next step, the parser finds int a and the list entry is:
....
name a: scope: something_a
the for loop is an other scope, since there might be a second for loop, just
add a number to the for scope for example: something_a_for1
So the next variable a is
name: a ; scope : something_a_for1
Sincerely
Andreas
"Bart T." <bart@dynarec.com> wrote in message
> I'm writing a compiler for a subset of the C89 language (I'm not sure
> how limited this subset will be just yet -- but I'll probably just
> omit floating point support) and was wondering how variable scope
> could be handled.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.