aboutsummaryrefslogtreecommitdiff
path: root/language/statements/index.rst
blob: 696c059a3394ee083cb710ba58c72a2fc058c452 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Statements
----------

.. crowbar:element:: Block <- '{' Statement* '}'

    Compile-time Behavior:

    A block is a possibly-empty sequence of statements surrounded by curly braces.
    Any declaration or definition within the block must not be visible outside of the block.

    Runtime Behavior:

    When a block is executed, each of the containing statements, in linear order, is executed.

.. crowbar:element:: Statement <- VariableDefinition / StructureStatement / FlowControlStatement / AssignmentStatement / FragileStatement / ExpressionStatement / EmptyStatement

    Crowbar has many different types of statement.

..  toctree::
    :maxdepth: 1

    variables
    structure
    flow-control