a21に関する簡易掲示板#1

  • (by K, 2021.01.27)
  • コメントを書き込む際には、「NameLink」の欄をチェックしないままで「コメントの挿入」ボタンを押してください。

  • 感想や意見、質問など、どうぞお気軽にご利用ください。 -- K 2021-01-27 (水) 17:24:23
  • ご無沙汰してます。ちょうどよい課題と思いまだ序盤ですがHL-2までbashで実装してみています。 https://gist.github.com/gamix255/0b1eae0fcf538f12bfe5c4de5aa1f116 -- gamix255 2021-03-29 (月) 21:57:22
  • 興味深いテキスト及び実装を公開していただき感謝です! -- gamix255 2021-03-29 (月) 21:58:08
  • おお、ありがとうございます! 活用してもらえてとてもうれしいです!! -- K 2021-03-29 (月) 23:16:47
  • しかしbashで実装っていうのはすごいなあ。私の発想では絶対に出てこない。勉強になります。 -- K 2021-03-30 (火) 17:28:11
  • 本当はposix shellで挑んでみたかったのですが、今回の内容ならbashの方がまだ近道と考えました。 -- gamix255 2021-03-30 (火) 20:27:32
  • ソースの見た目が悪いのは私の問題と思っています。今日も通勤中に抜けていた処理を追加しましたが、シェルスクリプトならではのミスをしてしまいました。修正します。 -- gamix255 2021-03-30 (火) 20:27:50
  • gamix255さんのHLシリーズのbash版開発プロジェクトが、なんとHL-4まできている!・・・やっぱりREPLは楽しいですよね!! -- K 2021-04-06 (火) 10:57:15
  • 確認&言及ありがとうございます!本当はbash自体普段からREPLそのものの中で生活していると言えますし、スキップするか迷いましたがやって見ると、REPLは楽しいです! -- gamix255 2021-04-07 (水) 08:19:46
  • HL-5もbash では速くならないし、速さをモチベーションとしていないですし、記述も慣れてきたので少し迷いましたが、もうちょっと後のステップまで進めるなら似た感じにしておくほうが楽なので何パターンか考えて、試し始めたところです。 -- gamix255 2021-04-07 (水) 08:22:22
  • はじめまして。a21_txt01を楽しく読んでいます。公開いただきありがとうございます! -- Masahiro Oono 2021-04-11 (日) 18:39:38
  • 一点報告いたします。a21_txt01_6aにて、ソースコードの1行目に`OpLop`が2つ定義されています。お手すきの際にご確認願います。 -- Masahiro Oono 2021-04-11 (日) 18:40:14
  • お知らせありがとうございます!正しく修正いたしました。 -- K 2021-04-13 (火) 00:53:17
  • プログラミング言語の本質を理解するには、BNFや操作的意味論、型理論などを理解することも念頭に置かれると良いと思います。Prologで一階述語論理を理解しながら作ってみるといいのではないかと思います。https://github.com/hsk/newlang2018/tree/master/prolog こんな感じでw -- h_sakurai 2021-04-22 (木) 22:54:09
  • 適切なアドバイスをありがとうございます。実は最初はそういう路線も少し検討していました。しかし結局その路線だと私じゃない人が説明したほうがずっとうまくできそうで、私が今やる必然性は薄いと思い、まずは私らしい方法を極めてみることにしました。私らしい方法とは、私はプログラムを単純化して小さくすることが得意なので、とにかく小さく小さく作って、それで残ったものを「本質」とみなしてみよう、というやり方です。 -- K 2021-04-22 (木) 23:03:41
  • 本日も興味深く拝読しました。一点報告いたします。a21_txt01_8aにて、compile関数内の「// コンマ以外のトークンを数える.」とコメントが付いた行の2行下から「// } と ; の分.」とコメントが付いた行の3行上までの間のインデントの位置が若干不自然に感じます。現状の位置が意図したものであるか、お手すきの際にご確認願います。 -- Masahiro Oono 2021-04-25 (日) 18:28:25
  • ありがとうございます。これは途中で二度間違ったせいで、間違いに気づけないパターンでした。教えてもらえて助かりました! -- K 2021-04-26 (月) 11:34:13
  • 本日も興味深く拝読しました。一点報告いたします。a21_txt01_9にて、exec関数内のswitch文の定数式に`OpPrm`が記述されていません(その他の新規に追加された`OpOpnWin`以下のopcodeが、当該箇所に全て記述されていることもあわせて確認しました)。お手すきの際にご確認願います。 -- Masahiro Oono 2021-04-28 (水) 18:03:57
  • これはいい質問です。まずそれは間違いではありません。OpPrmはパラメータが4個よりも多い時に使う特別な命令なのですが、通常ではそれは読み飛ばされるので、それがswitchに引っかかることはないはずなのです。もしswitchでOpPrmにひっかかるようだと、それは言語処理系がバグっている場合だと思われます。ということで、行数をケチるために、OpPrmは記述していなかったのです。 -- K 2021-04-28 (水) 20:48:50
  • お忙しい中、ご確認・ご回答いただきありがとうございます。`OpPrm`はパラメータが4個よりも多い時に使う特別な命令という仕様を理解いたしました。引き続き読み進めていきます。ありがとうございました! -- Masahiro Oono 2021-04-28 (水) 21:31:40
  • Masahiro Oonoさんが着々と進めてくれるので、私のテキストの問題点が見つかって、非常にありがたいです! -- K 2021-05-01 (土) 23:15:15
  • 楽しみに拝読していますので、微力ながら当コンテンツの作成に貢献できていれば幸いです。 -- Masahiro Oono 2021-05-02 (日) 12:37:02
  • 一点報告いたします。私はmacOS (Catelina 10.15.7) で、Homebrew経由でsdl2を入れた上で(https://formulae.brew.sh/formula/sdl2)aclライブラリを利用しています。上記の環境において、a21_txt01_9のグラーデーションを表示するサンプルおよびa21_txt01_9aのmaze.cを実行すると、黒く塗りつぶされたウィンドウが一瞬表示された後すぐに閉じてしまい実行が終了します(mandel.cは黒く塗りつぶされたウィンドウがしばらく表示され続けますが、ターミナルにtimeが表示された直後にやはり終了します)。ソースコードの末尾にmsを指定して`aWait(3000);`などと書いておくと、その間、グラフィックが描画された状態でウィンドウが表示されますので、そのように書いて対応しました。報告の一部はaclib_bbsの方に書くべきか迷いましたが、読みにくくなるかもしれないと考えてこちらにまとめて書きました。 -- Masahiro Oono 2021-05-02 (日) 12:42:32
  • ご連絡ありがとうございます!後日調査します。 -- K 2021-05-02 (日) 13:29:37
  • 区切りが良いのでインタプリタ編のソースコード(オリジナルと同じくC言語で書いています)をアップしました。https://github.com/ready-player1/haribote -- Masahiro Oono 2021-05-06 (木) 21:38:00
  • どうもありがとうございます! -- K 2021-05-06 (木) 22:55:54

コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-05-06 (木) 22:55:54 (5h)