2020-09-01から1ヶ月間の記事一覧

素朴な自作言語のコンパイラをGoに移植した

移植一覧に戻る やっつけなので汚いです。ライフゲームのコンパイルが通ったのでヨシ、というレベルのものです。 github.com 移植元 memo88.hatenablog.com ベースになっているバージョン: tag:50 のあたり (2021-06-20 追記) ステップ60 の修正まで反映し…

Zig: コマンドライン引数を受け取って整数(i32)に変換する

Zig

Zig 昨日触りはじめたばかりでまだぜんぜん分かってません。 まずは std.os.argv でコマンドライン引数を取得します。 pkv は確認用のユーティリティ関数で、 print key value のつもり。 // arg_to_i_v1.zig const std = @import("std"); fn pkv(k: []const…

Zig: 1バイトごとに読み書きするだけのcatコマンドを書いてみた

Zig

Zig(ziglang) で標準入力から1バイト読んで標準出力に書くのを繰り返すだけの素朴な cat コマンドを書いてみました。 Zig はさっき触り始めたばかりで右も左も分からない状態です。 <追記 2022-07-17> v0.8.0 で InStream, OutStream がそれぞれ reader,…

素朴な自作言語のコンパイラをPHPに移植した

Zenn に引っ越しました。 zenn.dev

vm2gol v2 (50) コード生成処理の変更にあわせたパーサの修正など

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る 変数宣言周りの修正(パーサ編) 第48回 変数宣言のコード生成処理の改善など で変数宣言まわりを変更したときは特に考えてなかったんですが、これはパーサも合わせておいた方が良さそうに思えます…

素朴な自作言語のコンパイラをC♭に移植した

移植まとめに戻る やっつけなので汚いです。ライフゲームのコンパイルが通ったのでヨシ、というレベルのものです。 github.com C♭は書籍 『ふつうのコンパイラをつくろう』の題材として作られた、C によく似た言語です。コンパイラ cbc は Java製。 移植元 m…

「ふつうのコンパイラをつくろう」のcbcをUbuntu18.04(64bit)でビルドする

(2016-03-06) ふつうのコンパイラをつくろう Ubuntu64bit : 勉強日誌 (2020-07-23) 「ふつうのコンパイラをつくろう」のcbcをJava8以降+64bitで動かす - Qiita こちらの2つの記事を参考にさせてもらいました。ありがとうございます。以下の内容はこれらの記…

素朴な自作言語のコンパイラをPerlに移植した

移植まとめに戻る Qiita に引っ越しました qiita.com

素朴な自作言語のコンパイラをCに移植した

移植一覧に戻る 20年ぶりくらいにC言語のコードを書きました。 かなり忘れてます。 やっつけなので汚いです。ライフゲームのコンパイルが通ったのでヨシ、というレベルのものです。 github.com 移植元 memo88.hatenablog.com ベースになっているバージョン: …

vm2gol v2 (49) codegen_case を移植しやすいように変更

目次ページに戻る / 前 / 次 前回からの差分をまとめて見る まずはしょぼいミスを修正……。 --- a/vgparser.rb +++ b/vgparser.rb @@ -478,7 +478,7 @@ if $PROGRAM_NAME == __FILE__ begin tree = parser.parse() - rescue ParseError => e + rescue Parser:…