'if'          Keyword
' '           Text
'('           Operator
'this'        Name.Variable.Instance
'.'           Operator
'running'     Text
')'           Operator
'\n  '        Text
'player'      Name.Variable.Instance
':'           Operator
'tell'        Name.Function
'('           Operator
'"[Train] Error: already a jump in progress"' Literal.String
');'          Operator
'\n  '        Text
'return'      Keyword
';'           Operator
'\n'          Text

'endif'       Keyword
'\n'          Text

'this'        Name.Variable.Instance
'.'           Operator
'running'     Text
' '           Text
'='           Operator
' '           Text
'1'           Literal.Number.Integer
';'           Operator
'\n'          Text

'this'        Name.Variable.Instance
'.'           Operator
'aborted'     Text
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
';'           Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"[Train] departure in 20 seconds"' Literal.String
');'          Operator
'\n'          Text

'dest'        Text
' '           Text
'='           Operator
' '           Text
'this'        Name.Variable.Instance
'.'           Operator
'targets'     Text
'['           Operator
'random'      Name.Builtin
'('           Operator
'length'      Name.Builtin
'('           Operator
'this'        Name.Variable.Instance
'.'           Operator
'targets'     Text
'))];'        Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"[Train] Next stop is \'"' Literal.String
','           Operator
' '           Text
'dest'        Text
':'           Operator
'title'       Name.Function
'('           Operator
'),'          Operator
' '           Text
'"\'"'        Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"You hear the engines starting up"' Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
'.'           Operator
'location'    Text
':'           Operator
'announce'    Name.Function
'('           Operator
'"The MOOTrain starts up his engines"' Literal.String
');'          Operator
'\n'          Text

'suspend'     Name.Function
'('           Operator
'20'          Literal.Number.Integer
');'          Operator
'\n'          Text

'if'          Keyword
' '           Text
'('           Operator
'this'        Name.Variable.Instance
'.'           Operator
'aborted'     Text
')'           Operator
'\n  '        Text
'this'        Name.Variable.Instance
'.'           Operator
'running'     Text
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
';'           Operator
'\n  '        Text
'this'        Name.Variable.Instance
'.'           Operator
'aborted'     Text
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
';'           Operator
'\n  '        Text
'return'      Keyword
';'           Operator
'\n'          Text

'endif'       Keyword
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"[Train] Departure!"' Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
'.'           Operator
'location'    Text
':'           Operator
'announce_all' Name.Function
'('           Operator
'"The MOOTrain leaves into the 42th dimension!"' Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"Outside you see the lights of the 42th dimension"' Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'moveto'      Name.Function
'('           Operator
'dest'        Text
');'          Operator
'\n'          Text

'suspend'     Name.Function
'('           Operator
'4'           Literal.Number.Integer
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"The glowing gets less, until you can see the clear shape of the room, the MOOTrain has landed in"' Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
'.'           Operator
'location'    Text
':'           Operator
'announce_all' Name.Function
'('           Operator
'"The MOOTrain arrives out of the 42th dimension!"' Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
':'           Operator
'announce_all' Name.Function
'('           Operator
'"[Train] arrived in \'"' Literal.String
','           Operator
' '           Text
'dest'        Text
':'           Operator
'title'       Name.Function
'('           Operator
'),'          Operator
' '           Text
'"\'"'        Literal.String
');'          Operator
'\n'          Text

'this'        Name.Variable.Instance
'.'           Operator
'running'     Text
' '           Text
'='           Operator
' '           Text
'0'           Literal.Number.Integer
';'           Operator
'\n'          Text
