You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.7 KiB
Plaintext

[[structure]]
== Script File Structure
[[structure-main]]
=== Main Script Files
----
main_script_file := {statement} ;
----
A main script file is a sequence of zero or more statements.
*Constraints*
Commands in the main script file shall not refer to labels in mission script files.
*Semantics*
The main script starts execution at the first statement of the main script file. If there is no statement to be executed, behaviour is undefined.
[[structure-main-extension]]
=== Main Extension Files
----
main_extension_file := {statement} ;
----
A main extension file is a sequence of zero or more statements.
*Constraints*
Commands in main extension files shall not refer to labels in mission script files.
[[structure-subscript]]
=== Subscript Files
----
subscript_file := 'MISSION_START' eol
{statement}
[label_prefix] 'MISSION_END' eol
{statement} ;
----
A subscript file is a sequence of zero or more statements within a `MISSION_START`...`MISSION_END` block. More statements can follow.
*Constraints*
The `MISSION_START` command shall be the very first line of the subscript file and shall not be preceded by anything but ASCII spaces (`` ``) and horizontal tabs (``\t``). Comments instead of whitespaces are disallowed.
Commands in subscript files shall not refer to labels in mission script files.
*Semantics*
The `MISSION_END` command behaves as if by executing the `TERMINATE_THIS_SCRIPT` command.
[[structure-mission]]
=== Mission Script Files
----
mission_script_file := subscript_file ;
----
A mission script file has the same structure as of a subscript file.
*Constraints*
Commands in mission script files shall not refer to labels in mission script files other than itself.