{"id":49315236,"url":"https://github.com/dere3046/jvav","last_synced_at":"2026-04-26T15:01:02.532Z","repository":{"id":352642221,"uuid":"1215653671","full_name":"Dere3046/JVAV","owner":"Dere3046","description":"yes is JVAV","archived":false,"fork":false,"pushed_at":"2026-04-20T14:57:25.000Z","size":69,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-20T15:34:21.899Z","etag":null,"topics":["joke","jvav","programming-language"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Dere3046.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-20T06:02:18.000Z","updated_at":"2026-04-20T13:33:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Dere3046/JVAV","commit_stats":null,"previous_names":["dere3046/jvav"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Dere3046/JVAV","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FJVAV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FJVAV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FJVAV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FJVAV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dere3046","download_url":"https://codeload.github.com/Dere3046/JVAV/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dere3046%2FJVAV/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32301330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["joke","jvav","programming-language"],"created_at":"2026-04-26T15:01:01.886Z","updated_at":"2026-04-26T15:01:02.515Z","avatar_url":"https://github.com/Dere3046.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JVAV Programming Language\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![CI](https://github.com/Dere3046/JVAV/actions/workflows/ci.yml/badge.svg)](https://github.com/Dere3046/JVAV/actions)\n[![CI-Android](https://github.com/Dere3046/JVAV/actions/workflows/ci-android.yml/badge.svg)](https://github.com/Dere3046/JVAV/actions)\n[![Stars](https://img.shields.io/github/stars/Dere3046/JVAV?style=social)](https://github.com/Dere3046/JVAV)\n![JVAV](https://img.shields.io/badge/JVAV-128--bit-ff69b4.svg)\n![C/C++](https://img.shields.io/badge/C%2FC%2B%2B-99%2F17-blue.svg)\n\n\u003e **Disclaimer:** This is a joke / parody project. JVAV was \"proposed by Dr. Zhang Haoyang\" and implemented by **Dere3046**. Please do not harass, attack, or send hate to Zhang Haoyang or anyone associated with JVAV. This project exists purely for fun and educational purposes.\n\nJVAV is a complete custom programming language and toolchain built from scratch, featuring a 128-bit instruction set architecture, a C-like frontend language (JVL), an ARM-like assembly backend (JVAV), a virtual machine, and a disassembler.\n\n[中文版本](./README_zh.md)\n\n---\n\n## Compile \u0026 Run\n\n### Traditional pipeline\n\n```bash\n# Frontend: .jvl -\u003e .jvav\n./jvlc hello.jvl hello.jvav\n\n# Backend: .jvav -\u003e .bin\n./jvavc hello.jvav hello.bin\n\n# Run\n./jvm hello.bin\n```\n\n### One-shot compile \u0026 run\n\n```bash\n# Compile .jvl -\u003e .jvav -\u003e .bin and execute, then clean up intermediates\n./jvlc --run hello.jvl\n\n# Compile \u0026 run, keeping the final binary\n./jvlc --run hello.jvl -o hello.bin\n```\n\n### Multi-file Linking\n\n```bash\n./jvavc math.jvav main.jvav -o program.bin\n./jvm program.bin\n```\n\n---\n\n## Packaging\n\n```bash\ncpack -C Release\n```\n\nGenerates platform-specific packages (`JVAV-x.x.x-win64.zip`, `JVAV-x.x.x-Linux.tar.gz`, etc.).\n\n---\n\n## Project Structure\n\n```\nJVAV/\n├── jvavc/\n│   ├── front/       # Frontend compiler (.jvl -\u003e .jvav), C++17\n│   ├── back/        # Backend assembler \u0026 linker (.jvav -\u003e .bin), C++17\n│   └── tools/       # Disassembler (static + trace), C99\n├── jvm/             # Virtual machine executor, C99\n├── std/             # Standard library (io, math, mem, string)\n├── benchmark/       # Performance benchmark suite (Python)\n├── tests/           # Automated tests (back: 115, front: 138)\n└── docs/            # Detailed documentation\n```\n\n---\n\n## Key Features\n\n- **128-bit instruction format** — Every instruction is a fixed 16-byte word, with arithmetic and bitwise operations (AND, OR, XOR, SHL, SHR, NOT)\n- **JVL language** — C-like syntax with functions, variables, control flow, and `import` modules\n- **JVAV assembly** — ARM-like textual assembly with pseudo-instructions\n- **MimiWorld ownership** — Rust-inspired ownership, move, and borrow checking (`\u0026x`, `\u0026mut x`)\n- **Standard library** — `std/io`, `std/math`, `std/mem`, `std/string` with auto-import path resolution\n- **Multi-file linker** — Structured linking with EQU global collection and base address relocation\n- **Import system** — Recursive module imports with cyclic import guard\n- **Disassembler** — Static disassembly and dynamic trace mode\n- **Rust-style diagnostics** — Error codes, source snippets with context lines, and help messages\n- **Cross-platform** — Linux, Windows \u0026 Android (x86, x64, ARM, ARM64); statically linked binaries; GitHub Actions CI with multi-arch matrix\n- **PATH-ready** — `std/` directory ships alongside `bin/`; add `bin/` to PATH and use `jvlc`/`jvavc`/`jvm`/`disasm` from anywhere\n- **Version flag** — All tools support `-v` / `--version`\n\n---\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [docs/frontend_syntax.md](docs/frontend_syntax.md) | JVL language syntax, type system, inference, ownership |\n| [docs/backend_syntax.md](docs/backend_syntax.md) | JVAV assembly syntax and instruction set |\n| [docs/jvm_features.md](docs/jvm_features.md) | VM architecture, memory model, syscalls |\n| [docs/mimiworld_ownership.md](docs/mimiworld_ownership.md) | MimiWorld ownership \u0026 borrow checker |\n| [docs/stdlib.md](docs/stdlib.md) | Standard library API and usage |\n\n---\n\n## Testing\n\n```bash\n# Run all tests via CTest\nctest --output-on-failure\n\n# Or run individual test binaries directly\n./test_back    # 115 backend unit + integration tests\n./test_front   # 138 frontend unit + integration tests\n```\n\nTests cover:\n- **Lexer**: keywords, numbers, strings, chars, comments, symbols, CRLF compatibility, errors\n- **Parser**: all types, control flow, operators, precedence, borrows, imports, error recovery\n- **Semantic analysis**: type inference, ownership, borrow conflicts, uninitialized variables, scope\n- **Code generation**: prologue/epilogue, locals, calls, control flow, pointers, strings\n- **Backend**: all instructions, EQU, .global/.extern, DB/DW/DT, #include, encoding, linking\n- **Integration**: end-to-end compile \u0026 run for arithmetic, bitwise ops, control flow, heap, recursion, imports, global variables, standard library, version flags, missing-stdlib diagnostics, Rust-style error messages, all diagnostic formats\n\n---\n\n## Contributors\n\n| Name | Contribution |\n|------|-------------|\n| Dr.zhanghaoyang | Proposed the JVAV language |\n| Dere | Initial implementation |\n| Derry | Massive improvements based on the prototype (using Claude AI) |\n| Claude AI | Assisted Derry in rapid development and improvements |\n| Moonshot AI (Kimi) | Documentation assistance |\n\n---\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdere3046%2Fjvav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdere3046%2Fjvav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdere3046%2Fjvav/lists"}