2021-01-01から1年間の記事一覧
どもです。 Piet入門編、続きです。 今回は、npietについて書きます。 npiet 毎度しれっと出てくる「npiet」さんですが、 一体何者なのか、解説します。 概要 npietはPietインタプリタのひとつです。 つまり、Pietのソースコードを読み込んで、実行してくれ…
どもです。 Piet入門編の続きです。今回は命令について解説します。 本当はあまり書く気がなかったのですが、 pointer命令とswitch命令の解説がされていないことに気づいたので、 もういっそ全部説明してまえ!ということで、解説します。 Pietの命令 Piet命…
どもです。 今回もPiet入門編です。 前回の最後に、「次回で完結」とかいっていましたが、 よく考えたら、pointer命令とswitch命令の説明をしていなかったので、 命令の説明がてら、もう1〜2回は入門編が必要ですね。むむむ。 では本日のメニューを。 Piet…
どもです。 意地の連投、今日も行くぜよ。 Pietの移動ルール Pietの移動ルール解説!(続き) 移動ルール2:Pietインタプリタが進めない場合 1:黒コーデル 2:画像の外には出られない Pietが進めなくなった時 移動ルール1(続き):カラーブロック内を…
どもです。 時間かかると言った割には早く書き上げることができました() 前回、Pietの概説と、色と命令の関係を説明しました。 今回は、Piet入門編の2回目です。 本日のメニューはこちら Pietの移動ルール Piet用語:カラーブロック 移動に関するパラメー…
どもです。 いよいよ今回からPietそのものの解説です。 何をいまさら 感がすごいですが、気にせず解説します。 Pietとは そもそもPietとは、David Morgan-Mar氏が考案した難解プログラミング言語です。 特徴はご存知の通り、ソースコードが画像であることで…
どもです。 はてなブログは9/7にメンテをするそうですが、 筆者は昨日メンテを行っていました(何) 1日おいての更新です。 今回は予告通り番外編B、命令チートシートその2です。 以前もチートシート書きましたが、その時にgoto命令と ラベルの解説が抜け…
どもです。 チートシートを書くと言っていましたが、番外編です。 GridPietGeneratorに関して、お知らせです。 サンプルソースコードを公開しました これまでブログで上げてきたGridPietGenerator用の サンプルプログラムを、githubにあげました。 ブログに…
どもです。 GridPietGeneratorの 入門編、第6弾です。 今回で命令全て説明するぞー! 「ohce」を実装する 今回のテーマは「ohce」です。 「ohce」を知ってますか? 多分ご存知ないのではと思います。 いま私が命名しましたゆえ。 「echo」を逆から書くと「o…
どもです。 GridPietGeneratorの 入門編、第5弾です。 今回のお題は時刻演算です。 なぜ入門編で時刻演算かって? まだ紹介できていない命令を紹介するためです。 うまいこと盛り込もうとすると、時刻演算がぴったりな題材だったってだけです。 時間の足し…
どもです。 今回もGridPietGeneratorの 入門編をお送りします。 今回は、ループ処理の応用2回めです。 おさらい ループ処理の基本は以下の3点です。 ループのプログラムテンプレを書く コメント「#1」の行で、スタックを初期化する コメント「#2」の行で、…
どもです。 GridPietGeneratorの 入門編、第3弾です。 今回はループの応用編です。 ループ処理色々 前回説明したループ処理を改造して、色々な処理をしてみましょう。 基本形は、前回紹介したこのプログラムです。 push3 dup mul #1 :loop dup if::end dup …
('21/8/21 追加)pop命令の解説を追加 ('21/8/27 追加)チートシートその2が出来ました どもです。 入門編「A」です。16進数ではありません。 アルファベットです。番外編その1です。 今回は、前回の解説で出てきた命令をまとめます。 ちなみに、前回の…
('21/8/21 追加修正)プログラムにpop命令を追加・解説 どもです。 前回から筆者は、手を抜く継続して投稿するために、 GridPietGeneratorの 入門編、つまり、GridPietGeneratorの遊び方講座を開催しています。 今回は、いわゆるforループ的なものの作り方…
どもです。 前回までの、あまりの超大作(量的な意味で)に 疲れてしまったので、ちょっと趣向を変えます。 これまで紹介してきたGridPietGeneratorですが、 まともに説明していなかったので、今回からは 処理フローファイルの書き方の説明をしようかと思い…
更新放置し早2週間、はてなさんにまた声かけられる前に、 前回の続きを書くことにします。 概要 Pietのスタックを、あたかも通常のメモリのように使うべく、 メモリ操作の基本となる「メモリアドレス変換関数」を作っていました。 解説が長くなったため、途…
前々回まで、Pietのスタックを、あたかも通常のメモリのように使う方法を考えていました。 ymos-hobby-programing.hatenablog.com そこで、前回は、全てのメモリ操作の基本となる 「メモリアドレス変換関数」を設計したところで終わっていました。 ymos-hobb…
前回投稿したPietコードが、解説するにはあまりにも鬼畜なので、 体力温存の意味も込めて、ちょっと脱線します。 前回(前々回?)の解説でいきなり出てきた、この画像 スタックの状態を表すのに、ちょうど良い画像ですが、 実はこれ自前です。 しかもペイン…
今日は昨日に引き続き、スタック内のランダムアクセスをするための Pietコードを書いていきます。 おさらい ざっと昨日のおさらいです。 Pietでは、メモリはスタックで管理され、基本的にはスタックトップの値しか操作できません。 スタックトップのdとeのみ…
今日のPietです。 拙作「GridPietGenerator」を使って、 テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今回のテーマ 今回のテーマは壮大です。 「Pietのスタック内のメモリにランダムアクセス…
今日のPietです。 拙作「GridPietGenerator」を使って、 テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今回のテーマは「順序判定」です。 順序判定をするPietソースコード 概要 スタックに積…
今日のPietです。 拙作「GridPietGenerator」を使って、テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今日のテーマについて さて、前回スタックに積まれた数の合計値を求める関数「sum」を作…
今日のPietです。 拙作「GridPietGenerator」を使って、テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今回のテーマは「合計」です。 合計を求めるPietソースコード 概要 スタックに積まれてい…
今日のPietです。 拙作「GridPietGenerator」を使って、テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今回のテーマは「最大値」です。 以前も作りましたが、今回は負数込みでmaxを算出できるP…
今日のPietです。 拙作「GridPietGenerator」を使って、テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今日のテーマについて 昨日(というか今日か)Pietで「最大値」を算出するコードを作りま…
今日のPietです。 拙作「GridPietGenerator」を使って、テキストベースで書かれた「処理フローファイル」から、 所望の処理をするPietソースコード画像を生成します。 今回のテーマは「最大値」です。 最大値を求めるPietソースコード 概要 スタックに格納さ…
それでは今日もいきます。 というか、日付変わってるから、実は1日飛ばしちゃったことになるけど気にしない。 本日のお題 漸化式を計算するPiet まず作ったのが、漸化式を計算するプログラム。 漸化式、何それ、おいしいの? 漸化式は数列を作るための規則と…
前記事を書いてから1ヶ月経ちました。 週2回更新するというモチベーションは、現在長期旅行中で不在です。 しかし、「そろそろ新記事を書きませんか?」 と、はてなさんにすすめられてしまいました。 すみません。書きます。 九九表を出力するPietソースコ…
前回に引き続き、 難解プログラミング言語「Piet」の 話です。 今回は後半戦、本題です。 今回の成果物ダイジェスト hello,world富士山つくるよ! 富士山どこにいるかわかりにくいけど! 「hello,world富士山」 なんとこの富士山・・・。 「hello,world富士…
難解プログラミング言語「Piet」の ソースコードを画像に埋め込んでみました。 長いので2部構成(予定)です。 今回は前半部分で、Pietソースコードの自動生成をしてみました。 ざっくりとPietの説明はしますが、基本的にはPietを知っている方に向けた記事で…