SQF Syntax: Difference between revisions
m (→Rules) |
mNo edit summary |
||
Line 5: | Line 5: | ||
Binding rules: | Binding rules: | ||
* Curled braces ({ }) group code to '''blocks''' | * Curled braces ({ }) group code to '''[[Block|blocks]]''' | ||
* [[Statement|Statements]] | * [[Statement|Statements]] (thus also blocks) are followed by '''semicolons''' (;) | ||
The latter rule tells the game engine where one statement ends and the next starts. | The latter rule tells the game engine where one statement ends and the next starts. |
Revision as of 21:09, 21 December 2006
SQF syntax was introduced in Operation Flashpoint: Resistance and is the common syntax since Armed Assault. An alternative syntax is the SQS syntax (deprecated since Armed Assault).
Rules
Binding rules:
- Curled braces ({ }) group code to blocks
- Statements (thus also blocks) are followed by semicolons (;)
The latter rule tells the game engine where one statement ends and the next starts.
Example:
STATEMENT 1; STATEMENT 2; BLOCK { STATEMENT 3; STATEMENT 4; };
While SQS syntax is line based, SQF syntax is based on structured expressions. End-of-line has no special meaning - it is considered to be equivalent to space or tab, and is therefore not required, even when ending a statement.
Comments
A comment is any free text which is ignored by the game engine. In SQF syntax you can write comments using the command comment.
Example:
comment "This is a comment";
If a file is loaded with preprocessFile, you may also define C-like comments:
- Line comment
- A line comment starts with // and makes the rest of the line a comment.
- Block comment
- A block comment starts with /* and ends with */. All text in between is considered a comment.
Examples:
// This is a line comment /* This is a very long block comment */
Language Constructs
Read the article Control Structures for information about the control structures available in SQF syntax.