A TOM programnyelven írt programok modulokra bonthatjuk. Az ilyen modulokat unit-oknak nevezzük. Egy unit számos forrásfájlból állhat, és ezen forrásfájlok mindegyike egy vagy több osztályt is tartalmazhat. Minden program és minden könyvtár egy unit. A unitok között lehet függőségi reláció, mint más programnyelvekben, pl. C-ben, ahol minden C program függ a standard library-tól.
Egy példa:
file
résznél a file1.t file-ból
veszi a forráskódot, az ilyen forráskódokat
tartalmazó file-ok .t
kiterjesztésűek.
Egy unitot a unit
file-ja
definiál, amit általában az interface
generátor készít el. A myprog unithoz
tartozó unit file a myprog.u file lesz. A TOM compiler a unit
file-okat
használja arra, hogy meghatározza hol kell keresnie az
osztálydefiníciókat.
Tehát nincs szükség #include, import vagy use
használatára, vagy más manuális
függőségi indikátorra, a compiler automatikusan
megkeresi az osztálydefiníciót.
Az osztálynevek különböző unitokban lehetnek
azonosak, azonban egy adott
projectben a unit neveknek mind különbözőeknek kell
lenniük.
A tom
unit a legelemibb TOM elemi osztály. A tom
unit által biztosított osztályok
nélkül a fordító nem képes
fordítani és egy
TOM program nem tud futni. A tom
unit biztosítja az
absztrakciókat és
osztályokat, amikre minden TOM programnak
valószínűleg vagy biztosan szüksége
lesz.