20
Section 1: General Information
TI-89 / TI-92 Plus Sierra C Assembler Reference Manual Not for Distribution
Beta Version February 2, 2001
1.4.7.2. Inner
Blocks
The C language defines a block as a compound statement that begins with an
open brace ' { ' and ends with a balancing close brace ' } '. An inner block is a
block that exists within a function (which is also a block). For each inner block
that has local symbols defined in it, the special symbol .bb is inserted in the
symbol table immediately before the first local symbol of the block. Analogously,
the special symbol .eb is inserted in the symbol table immediately after the last
local symbol of the block. Because inner blocks can be nested to multiple levels,
the .bb – .eb symbol pairs and associated symbols can also be nested.
Table 1.15 shows an example of nested C language blocks and the associated
symbol table.
Nested Blocks Symbol Table
func1( int a ) _func1
{
.bf
int b; a
{
b
int c; .bb
{
c
int d; .bb
}
d
} .eb
} .eb
.ef
func2( int e ) _func2
{
.bf
int f; e
int g; f
{
g
int h; .bb
}
h
} .eb
.ef
Table 1.15: Example Symbol Table for Functions
and Nested Blocks