# Statements

The following kinds of executable statements are available:

- assignment statement
- procedure call
- if statement
- while statement
- for statement
- return statement
- exit statement

Semicolons are not required in Phix, but can optionally be used to explicitly terminate statements. This can be helpful when translating code, or after being paid to write C++ all day, you suddenly realise your fingers are automatically adding semicolons at the end of every line. One exception to this rule is that a semicolon is mandatory when declaring a struct or class variable without immediately assigning it.
Even without semicolons, you are free to put as many statements as you like on one line, or to split a single statement across several lines. However you may not split a statement, with either a semicolon or newline, in the middle of an identifier, string, number or keyword.
There is no need for any line continuation syntax, except when splitting very long strings (not using triple quotes or backticks) over several lines, which requires a concatenation operator ('&').