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
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.
|