| パラダイム | 構造化プログラミング |
|---|---|
| 設計者 | David Morgan-Mar |
| 型付け | なし |
| 主な処理系 | PietDev, npiet, Piet::Interpreter |
| ウェブサイト | DM's Esoteric Programming Languages - Piet |


Piet(ピエト)は、プログラミング言語であり、難解プログラミング言語のひとつである。
Ook! などのいくつかの難解プログラミング言語を開発したデヴィッド・モーガン=マー (David Morgan-Mar) がピエト・モンドリアンの作品に影響を受けて考案した言語で、文字ではなく色を組み合わせて記述する。 サンプルソースコード[1]を一見すると、モンドリアンの『赤・青・黄のコンポジション (1930)』のような抽象画のように見える。
Pietでは、有彩色18色(色相6段階×明度3段階)と無彩色2色(黒、白)の計20色が用いられる。画像上では、色相と明度の変化の度合いによって命令や定義が表され、同一色のかたまり(codel)の面積によって値(正の整数値)が表される。データの処理はスタックを用いて行う。
実行の際は、インタプリタがソースコードの画像上を移動しながら、画像上に表現された命令を解釈して実行する。インタプリタは、移動方向を示す "direction pointer" (DP) および次のcodelの探索方向を示す "codel chooser" (CC) をもつ。DPは4値(上下左右)、CCは2値(左右)をとる。
Pietの命令の一覧を下記に示す。
| 明度の変化 | |||
|---|---|---|---|
| 色相の変化 | 変化無し | 1段階変化 | 2段階変化 |
| 変化無し | push | pop | |
| 1段階変化 | add | subtract | multiply |
| 2段階変化 | divide | mod | not |
| 3段階変化 | greater | pointer | switch |
| 4段階変化 | duplicate | roll | in (number) |
| 5段階変化 | in (char) | out (number) | out (char) |
未登録
IPFS未登録
📡 0ピア
N=1
CRITICAL
PQS C41