Not sure what you mean about the icon...
Think of dbc as a 3d engine (it's more than that, but for concept that's enough). Once the engine is activated, it
interprets the commands that are given to it. DBC isn't a compiler in the sense that it makes usable machine code out of scripted commands like C, but it can generate a self running executable that is a "version" (you could say compiled version I suppose) of it's own 3d engine running those commands it was given. As a runtime environment, the 3d engine can interpret in real time the commands that it is given. The engine expects a certain syntax and order, and converts the code on the fly to useable instructions. Unlike a language like C - that is considered portable across platforms - dbc needs itself to execute it's own code - that's why it has a runtime environment, and that's why it creates an executable that contains it's own 3d engine.
Enjoy your day.