> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 文

> 区切り記号、複合文、条件文、繰り返しループを含む、文の構文について説明します。

<div id="separating-statements">
  ## 文の区切り
</div>

文は `;`（セミコロン）で区切ります。

<div id="compound-statements">
  ## 複合文
</div>

1つ以上の文を波かっこで囲むと、複合文になります。複合文は一般に「ブロック」と呼ばれます（FlexiLayout のブロックと混同しないでください）。

<div id="conditional-statements">
  ## 条件文
</div>

コードを記述するための任意のセクションでは、条件付きの if 文を使用できます。

if 文は条件分岐を制御します。式の値が `true` の場合、if 文の本体が実行されます。if 文の構文には2つの形式があります。

**構文**

selection-statement:

```
if ( 式 ) then 文
if ( 式 ) then 文 else 文
```

両方の形式の if 文では、式が評価されます。

最初の構文形式では、式が `true` の場合に文が実行され、`false` の場合は文は実行されません。`else` を用いる2番目の構文形式では、式が `false` の場合に2つ目の文が実行されます。

<div id="iteration-statements">
  ## 反復文
</div>

コードを入力するセクションでは、反復文を使用できます。

`for` 文はループを制御します。式の値が `true` の間、ループが実行されます。

**構文**

反復文:

```
for <var-name> from <from-expr> to <to-expr> [ step <step-expr>]
 <statement>
```

`<var-name>` カウンターの名前は必須です。この名前は、上で宣言された変数の名前と異なっていなければなりません。カウンターの有効範囲はループ本体です。ループ内でカウンターの値を変更したり、カウンターと同じ名前の変数を宣言したりすることはできません。

カウンターの初期値 `from-expr` と終了値 `to-expr` は、ループの最初の反復を実行する前に評価されます。その後、無限ループを避けるため、整数定数として扱われます。

`step` パラメーターは省略可能です。`step` の値が指定されていない場合、`step` は 1 と見なされます。`step` の値、およびその初期値と終了値は、ループの開始時に一度だけ評価されます。`step` の符号に応じて、反復条件が決まります。`step` の値が正の場合は、次の条件が適用されます: `<var-name> ≤ <to-expr>`。`step` の値が負の場合は、条件は次のとおりです: `<var-name> ≥ <to-expr>`。`step` の値を 0 にすることはできません。0 を指定すると、エラー メッセージが表示されます。

`<statement>` には、単一の文、または波かっこで囲まれたブロック (複合文) を指定できます。

ループ内では、次の文も使用できます。

* `break` - ループを終了します
* `continue` - ループの次の反復に進みます
