{"id":23498231,"url":"https://github.com/sonota88/vm2gol-v2","last_synced_at":"2025-10-25T10:09:21.476Z","repository":{"id":48411868,"uuid":"184680720","full_name":"sonota88/vm2gol-v2","owner":"sonota88","description":"Small virtual machine, assembler and compiler written in pure Ruby / Rubyで書いたオレオレVMとアセンブラとコンパイラ","archived":false,"fork":false,"pushed_at":"2025-06-07T23:31:07.000Z","size":1335,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-15T20:10:17.679Z","etag":null,"topics":["compiler","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sonota88.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-05-03T01:06:26.000Z","updated_at":"2025-06-07T23:31:11.000Z","dependencies_parsed_at":"2024-04-21T07:29:02.331Z","dependency_job_id":"d4a939de-b3c1-4374-852b-1ac6d283dac7","html_url":"https://github.com/sonota88/vm2gol-v2","commit_stats":null,"previous_names":[],"tags_count":86,"template":false,"template_full_name":null,"purl":"pkg:github/sonota88/vm2gol-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonota88%2Fvm2gol-v2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonota88%2Fvm2gol-v2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonota88%2Fvm2gol-v2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonota88%2Fvm2gol-v2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sonota88","download_url":"https://codeload.github.com/sonota88/vm2gol-v2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonota88%2Fvm2gol-v2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267785925,"owners_count":24144124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["compiler","ruby"],"created_at":"2024-12-25T05:29:42.449Z","updated_at":"2025-10-25T10:09:16.443Z","avatar_url":"https://github.com/sonota88.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n$ LANG=C wc -l mrcl_*.rb common.rb\n   66 mrcl_asm.rb\n  380 mrcl_codegen.rb\n   57 mrcl_lexer.rb\n  399 mrcl_parser.rb\n  470 mrcl_vm.rb\n   52 common.rb\n 1424 total\n```\n\n![image](https://raw.githubusercontent.com/sonota88/vm2gol-v2/images/images/run_gol_step62.gif)\n\n![image](https://raw.githubusercontent.com/sonota88/vm2gol-v2/images/images/run_gol_step62_step.gif)\n\n\nRubyで素朴な自作言語のコンパイラを作った  \nhttps://memo88.hatenablog.com/entry/2020/05/04/155425\n\nvm2gol v2 製作メモ  \nhttps://memo88.hatenablog.com/entry/2019/05/04/234516\n\n\n```sh\n  # Run tests / テストの実行\nrake test\n\n  # Run game of life / ライフゲームの実行\n./run.sh gol.mrcl\n```\n\n\n# Ports\n\nThese are ports of the compiler part only, with some exceptions.\n\n- [Emacs Lisp](https://github.com/sonota88/mini-ruccola-emacs-lisp)\n- [Swift](https://github.com/sonota88/mini-ruccola-swift)\n- [AWK](https://github.com/sonota88/mini-ruccola-awk)\n- [Scala](https://github.com/sonota88/mini-ruccola-scala)\n- [R](https://github.com/sonota88/mini-ruccola-r)\n- [Elixir](https://github.com/sonota88/mini-ruccola-elixir)\n- [C#](https://github.com/sonota88/mini-ruccola-csharp)\n- [V](https://github.com/sonota88/mini-ruccola-v)\n- [Forth (GForth)](https://github.com/sonota88/mini-ruccola-forth)\n- [Tcl](https://github.com/sonota88/vm2gol-v2-tcl)\n- [Shell Script (Bash Script)](https://github.com/sonota88/vm2gol-v2-bash)\n- [なでしこ3](https://github.com/sonota88/vm2gol-v2-nadesiko3)\n- [Haskell](https://github.com/sonota88/vm2gol-v2-haskell)\n- [OCaml](https://github.com/sonota88/vm2gol-v2-ocaml)\n- [Pascal](https://github.com/sonota88/vm2gol-v2-pascal)\n- [Julia](https://github.com/sonota88/vm2gol-v2-julia)\n- [Rust](https://github.com/sonota88/vm2gol-v2-rust)\n- [Crystal](https://github.com/sonota88/vm2gol-v2-crystal)\n- [Ruccola (self-hosting)](https://github.com/sonota88/ruccola)\n- [Kotlin](https://github.com/sonota88/vm2gol-v2-kotlin)\n- [Zig](https://github.com/sonota88/vm2gol-v2-zig)\n- [LibreOffice Basic](https://github.com/sonota88/vm2gol-v2-libreoffice-basic)\n- [Go](https://github.com/sonota88/vm2gol-v2-go)\n- [PHP](https://github.com/sonota88/vm2gol-v2-php)\n- [C♭](https://github.com/sonota88/vm2gol-v2-cflat)\n- [Perl](https://github.com/sonota88/vm2gol-v2-perl)\n- [C](https://github.com/sonota88/vm2gol-v2-c)\n- [Java](https://github.com/sonota88/vm2gol-v2-java)\n- [Dart](https://github.com/sonota88/vm2gol-v2-dart)\n- [Python](https://github.com/sonota88/vm2gol-v2-python)\n- [TypeScript (Deno)](https://github.com/sonota88/vm2gol-v2-typescript)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonota88%2Fvm2gol-v2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsonota88%2Fvm2gol-v2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonota88%2Fvm2gol-v2/lists"}