# Statements

The code of any [module](/Modules.md) in **[lsFusion](/Language.md)** consists of a sequence of *statements*.

Statements are of the following kinds:

* [The special `MODULE`, `REQUIRE`, `PRIORITY` and `NAMESPACE` statements](/Module_header.md)
* [The `=` statement](/=_statement.md)
* [The `ACTION` statement](/ACTION_statement.md)
* [The `GROUP` statement](/GROUP_statement.md)
* [The `ON` statement](/ON_statement.md)
* [The `WHEN` statement](/WHEN_statement.md)
* [The `<-WHEN` statement](/lt-_WHEN_statement.md)
* [The `CONSTRAINT` statement](/CONSTRAINT_statement.md)
* [The `=>` statement](/=gt_statement.md)
* [The `CLASS` statement](/CLASS_statement.md)
* [The `FORM` statement](/FORM_statement.md)
* [The `DESIGN` statement](/DESIGN_statement.md)
* [The `NAVIGATOR` statement](/NAVIGATOR_statement.md)
* [The `WINDOW` statement](/WINDOW_statement.md)
* [The `EXTEND CLASS` statement](/EXTEND_CLASS_statement.md)
* [The `EXTEND FORM` statement](/EXTEND_FORM_statement.md)
* [The `+=` statement](/plus_equals_statement.md)
* [The `ACTION+` statement](/ACTION_plus_statement.md)
* [The `META` statement](/META_statement.md)
* [The `@` statement](/commat_statement.md)
* [The `TABLE` statement](/TABLE_statement.md)
* [The `INDEX` statement](/INDEX_statement.md)
* [The `BEFORE` statement](/BEFORE_statement.md)
* [The `AFTER` statement](/AFTER_statement.md)
* [Empty statement](/Empty_statement.md)

Each statement in **lsFusion** ends with a semicolon, with two exceptions:

1. A statement followed by a closing brace `}`
2. The `META` statement
