Add logical and comparison expressions

This commit is contained in:
2026-06-17 23:38:44 +09:00
parent 3f7dd7c692
commit 2fe54bda62
18 changed files with 6627 additions and 4620 deletions
+16 -4
View File
@@ -7,12 +7,15 @@
優先順位は高い順に以下である。
1. 関数呼び出しとフィールド参照
2. unary `-`
2. unary `!` `-`
3. `*` `/`
4. `+` `-`
5. `&`
6. `//`
7. `default`
5. `==` `!=` `<` `<=` `>` `>=`
6. `&&`
7. `||`
8. `&`
9. `//`
10. `default`
同じ優先順位の二項演算子は左結合である。
`default` は右結合である。
@@ -22,6 +25,15 @@
`+` `-` `*` `/` は具体的な `Int` / `Float` に対する四則演算である。
詳しくは [Arithmetic Expression](./expression/arithmetic.md) を参照する。
## Logical and comparison operators
`!` `&&` `||` は concrete `Bool` に対する論理演算である。
`&&``||` は短絡評価される。
`==` `!=` は concrete scalar value を比較する。
`<` `<=` `>` `>=` は concrete numeric value を比較する。
詳しくは [Logical and Comparison Expressions](./expression/logical-and-comparison.md) を参照する。
## `&`: 制約合成
`&` は値・制約・構造を合成する演算子である。