Chap. 1 | Chap. 2 | Chap. 3 | Chap. 4 | Chap. 5 | Chap. 6 | App |
A.0: Syntax |
Following is a list of rules for interpreting the TMCALGO Input Grammar specification followed by the TMCALGO Input Grammar specification itself. Don't confuse these rules with the rules for interpreting a TMCALGO program, which is what the grammar defines. Since we're using a grammar to define a program which is used to define other grammars, there is a heavy dose of self-referentiation. If you lose your bearings, get outside and walk fast enough to double your heartrate for at least 20 minutes.
program : [ prog-item ... ] prog-item : <QUOTED-C-CODE> : untimed-command : STATE <NAME> [ file-spec ] [ NoLog ] state-cmds : PARTITION file-spec : <QUOTED-STRING> [ <PARENSTAT> ] state-cmds : '{' untimed-commands timed-commands '}' untimed-commands : [ untimed-command ... ] timed-commands : [ [ [ '+' ] time ] timed-command ... ] time : <INTEGER> [ ':' <INTEGER> ... ] untimed-command : <TMC-STATEMENT> : DEPENDING ON <PARENSTAT> <TMC-STATEMENT> timed-command : <TEXT-COMMAND> : <QUOTED-STRING> ';' : VALIDATE <NAME> ';' : HOLD UNTIL [ VALID ] <PARENSTAT> timeout : HOLD [ AND VALIDATE <NAME> ] timeout : RESUME <NAME> ';' : untimed-command timeout : ';' : OR time ';' : OR time ELSE timed-command
> Lamp Onwith the exception that the command text can be prefixed with an underscore character to suppress logging:
> _Lamp On
{ msg( 0, "Having Fun, wish you were here!"; }
At the top level, the braces are removed before sending the statement on to TMC, making top-level TMC definitions possible.
Chap. 1 | Chap. 2 | Chap. 3 | Chap. 4 | Chap. 5 | Chap. 6 | App |
Return to Manuals Guide. Written by Norton T. Allen
last updated: Thu Jan 2 10:51:49 2003 | webmaster@huarp.harvard.edu |
Copyright 2002 by the President and Fellows of Harvard College |