SQF Syntax: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
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]] and blocks are followed by '''semicolons''' (;)
* [[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 22: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.

See also