For ANTLR 3 & 2 you could easily do it in your parser actions. You do have to push and pop scopes when you cross scope boundaries and add entries where appropriate. You can see how to do it in a real C parser at http://www.antlr3.org/grammar/cgram/grammars/StdCParser.g. It's possible to do it in a tree parser too, if you prefer.
In ANTLR 4 you would instead be writing a listener that does the push/pop and adds entries. If your grammar supported typedefs like C does you would need to handle it in the grammar actions because the symbol table affects the parse. Tiny C shouldn't need to do that though.