The API classes are divided into the typdefs (and their underlying structs) that are the containers for each 'object' within the ANTLR3C runtime, and their implementations (the functions that are installed by default in to these structures when you create them.)