A RainCode script does not execute just by itself. It operates on one or more parse trees which describe a source file each. Accessing these parse trees is controlled by two variables:
The two variables are always defined, but are mutually exclusive when it comes to holding a significant value. In other words, if a single source code is being analysed, ROOT holds a significant value and ROOTS is void; while ROOT is void and ROOTS holds a significant value if more than a single source is being analysed.