Well i would look at it like this

It gets to the command /TIMERname and so now checks whats following it, it should be (1) switches (2) time (3) a number (4) something that needs to be evaluated into 1 2 or 3.
If it needs evaluating then do so and check for 1 2 or 3
If theres a switch -n, then i knows that once its got everything it needs for the timer, just stop evaluating anything else.
ex:
var %switches = -on, %runtime = 12:00, %delay = 0
timer $+ $nick %switches %runtime 1 %delay echo The time is $time

timer $+ $nick becomes timerDaveC
evaluates %switches as -on
see the -n and knows to stop evaluating when it has enough details for the timer
evaluates %runtime as 12:00
sees 1
evaluates %delay as 0
so it now has "TIMEDaveC -on 12:00 1 0" and goes well thats all i need to evaluate so the command is "echo the time is $time"

* I must admit i have no idea if thats how mirc processes lines, but since it seems to be able to know if to evaluate something or not, i must assume that it processes lines as it goes down them.
ie: set %x 12 vs echo %x 12. It doesnt just evaluate everything then pass that lot to a function called SET or ECHO as it must know that SET doesnt want %x evaluated.