{"id":18183672,"url":"https://github.com/jaysmito101/tovie","last_synced_at":"2025-04-01T21:31:05.039Z","repository":{"id":45995674,"uuid":"427888322","full_name":"Jaysmito101/tovie","owner":"Jaysmito101","description":"An Stack Based Programming Language (Compiler + VM)","archived":false,"fork":false,"pushed_at":"2022-01-05T07:18:36.000Z","size":217,"stargazers_count":28,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T21:05:09.580Z","etag":null,"topics":["compiler","cpp","interpreter","language","programming-language","python","tovie-lang"],"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/Jaysmito101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-14T09:38:36.000Z","updated_at":"2024-07-21T10:13:24.000Z","dependencies_parsed_at":"2022-08-29T20:41:06.606Z","dependency_job_id":null,"html_url":"https://github.com/Jaysmito101/tovie","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaysmito101%2Ftovie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaysmito101%2Ftovie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaysmito101%2Ftovie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaysmito101%2Ftovie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jaysmito101","download_url":"https://codeload.github.com/Jaysmito101/tovie/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246665557,"owners_count":20814337,"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","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","cpp","interpreter","language","programming-language","python","tovie-lang"],"created_at":"2024-11-02T20:03:51.910Z","updated_at":"2025-04-01T21:31:04.561Z","avatar_url":"https://github.com/Jaysmito101.png","language":"C++","funding_links":["https://patreon.com/jaysmito101"],"categories":[],"sub_categories":[],"readme":"\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://github.com/Jaysmito101/tovie/blob/master/recources/ReadmeHeader.png?raw=true\" border=\"0\"\u003e\u003c/\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/Jaysmito101/tovie?style=for-the-badge\"\u003e\n  \u003cimg alt=\"Lines of code\" src=\"https://img.shields.io/tokei/lines/github/Jaysmito101/tovie?style=for-the-badge\"\u003e\n  \u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/w/Jaysmito101/tovie?style=for-the-badge\"\u003e\n    \u003cbr\u003e\n    \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/workflow/status/Jaysmito101/tovie/Tovie%20Build?style=for-the-badge\"\u003e\n    \u003cimg alt=\"Maintenance\" src=\"https://img.shields.io/maintenance/yes/2022?style=for-the-badge\"\u003e\n    \u003ca href=\"https://patreon.com/jaysmito101\"\u003e\u003cimg src=\"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Djaysmito101%26type%3Dpledges\u0026style=for-the-badge\" alt=\"Support me on Patreon\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\n\n# Tovie Lang\n\nAn Advanced Programming Language (Compiler + Interpreter + Transpiler ).\n\n\u003ca href=\"https://github.com/Jaysmito101/dynamic-badges/\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?user=Jaysmito101\u0026repo=tovie\u0026show=true\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?image=true\"\u003e\u003c/a\u003e\n\n\n# Docs : \n### For Help join our discord server : https://discord.gg/3h5S2cSbm8\n### https://github.com/Jaysmito101/tovie/wiki\n\n# What can it do?\n\n* All Arithmetic operations\n* Dynamic Memory Allocation\n* Call Native Functions By Loading DLL or SO\n* String management\n* Library System\n* While, Do, For loops\n* If statements\n* User Input, ...\n\n# Todo\n\n* A standard library in tovie\n* A standard library implemented in c\n* Add more examples\n\n## Usage\n\n    Usage: C:\\Users\\Jaysmito Mukherjee\\Desktop\\tovie\\bin\\tovie.exe [options] \u003cinput\u003e\n    \n    Options:\n      -h, --help ............ prints this message and exits\n      -v, --version ......... prints tovie's version and exits\n      -r, --run ............. runs \u003cinput\u003e instead of compiling (`-f` will specify the backend; will also compile if `-o` is given)\n      -d, --debug ........... prints useful debug information\n      -o, --output \u003cpath\u003e ... specifies the output-file\n      -f, --format \u003cformat\u003e . specifies the output-format (bytecode,table,c,python; default: bytecode)\n      -i, --include \u003cpath\u003e .. specifies include directories (can be used multiple times)\n      -I, --input \u003cformat\u003e .. specifies the input-format (source,bytecode; default: extension)\n\n\n\n## Examples :\n\n### 1. Hello World\n\n    proc_main\n\t    \"Hello World!\"\n\t    puts\n    proc_end\n\n### 2. Factorial\n\n    def\u003cfactorial 1\u003e\n    proc_factorial\n\t1 memset_0\n\ttrue while\n\t\tdup memget_0 * memset_0\n\t\t1 -\n\t\tdup \u003e 0\n\twhile_end\n\tmemget_0\n    proc_end\n    \n### 4. Using Arrays\n\n    dec data:int[35]\n    proc_main\n\tdec i:int\n\t0 \u003ei\n\t1\n\tfor_15\n\t\tdup \u003edata[i]\n\t\t1 +\n\t\t\u003ci 1 + \u003ei\n\tfor_end\n\n\tfor_15\n\t\t\u003ci 1 - \u003ei\n\t\t\u003cdata[i] println\n\tfor_end\n    proc_end\n \n ### 5. Rule 110 (Proving Tovie is Turing Complete)\n \n     dec board:int[32]\n    def\u003cCOUNT 16\u003e\n    \n    def\u003cprint_arr 2\u003e\n    proc_2\n    \tdec tmp:int\n    \t0 \u003etmp\n    \t32 for\n    \t\t\u003cboard[tmp]\n    \t\tif dup 1 == do\n    \t\t\t\"#\" puts\n    \t\tend_if\n    \t\tif 0 == do\n    \t\t\t\"-\" puts\n    \t\tend_if\n    \t\t\u003ctmp 1 + \u003etmp\n    \tfor_end\n    proc_end\n    \n    def\u003cload_arr 3\u003e\n    proc_3\n    \t0 \u003eboard[0]\n    \t0 \u003eboard[1]\n    \t0 \u003eboard[2]\n    \t0 \u003eboard[3]\n    \t0 \u003eboard[4]\n    \t1 \u003eboard[5]\n    \t0 \u003eboard[6]\n    \t1 \u003eboard[7]\n    \t0 \u003eboard[8]\n    \t0 \u003eboard[9]\n    \t0 \u003eboard[10]\n    \t0 \u003eboard[11]\n    \t0 \u003eboard[12]\n    \t0 \u003eboard[13]\n    \t0 \u003eboard[14]\n    \t0 \u003eboard[15]\n    \t0 \u003eboard[16]\n    \t0 \u003eboard[17]\n    \t0 \u003eboard[18]\n    \t0 \u003eboard[19]\n    \t0 \u003eboard[20]\n    \t1 \u003eboard[21]\n    \t0 \u003eboard[22]\n    \t1 \u003eboard[23]\n    \t0 \u003eboard[24]\n    \t0 \u003eboard[25]\n    \t0 \u003eboard[26]\n    \t0 \u003eboard[27]\n    \t0 \u003eboard[28]\n    \t0 \u003eboard[29]\n    \t0 \u003eboard[30]\n    \t0 \u003eboard[31]\n    proc_end\n    \n    def\u003ccycle_core 5\u003e\n    proc_5\n    \tdec t1:int\n    \tdec t2:int\n    \tdec t3:int\n    \t\u003et3 \u003et2 \u003et1\n    \tif \u003ct1 0 == \u003ct2 0 == \u0026\u0026 \u003ct3 0 == \u0026\u0026 do\n    \t\t0 ret\n    \tend_if\n    \tif \u003ct1 0 == \u003ct2 0 == \u0026\u0026 \u003ct3 1 == \u0026\u0026 do\n    \t\t1 ret\n    \tend_if\n    \tif \u003ct1 0 == \u003ct2 1 == \u0026\u0026 \u003ct3 0 == \u0026\u0026 do\n    \t\t1 ret\n    \tend_if\n    \tif \u003ct1 0 == \u003ct2 1 == \u0026\u0026 \u003ct3 1 == \u0026\u0026 do\n    \t\t1 ret\n    \tend_if\n    \tif \u003ct1 1 == \u003ct2 0 == \u0026\u0026 \u003ct3 0 == \u0026\u0026 do\n    \t\t0 ret\n    \tend_if\n    \tif \u003ct1 1 == \u003ct2 0 == \u0026\u0026 \u003ct3 1 == \u0026\u0026 do\n    \t\t1 ret\n    \tend_if\n    \tif \u003ct1 1 == \u003ct2 1 == \u0026\u0026 \u003ct3 0 == \u0026\u0026 do\n    \t\t1 ret\n    \tend_if\n    \tif \u003ct1 1 == \u003ct2 1 == \u0026\u0026 \u003ct3 1 == \u0026\u0026 do\n    \t\t0 ret\n    \tend_if\n    proc_end\n    \n    \n    def\u003cdo_cycle 4\u003e\n    proc_4\n    \tdec b0:int\n    \tdec b1:int\n    \tdec tmp2:int\n    \tdec tmp3:int\n    \tdec tmp4:int\n    \tdec tmp5:int\n    \tdec tmp:int\n    \t\u003cboard[0] \u003eb0\n    \t\u003cboard[1] \u003eb1\n    \t0 \u003etmp\n    \t32 for\n    \t\t\u003cboard[tmp]\n    \t\tif \u003ctmp 30 \u003c do\n    \t\t\t\u003cboard[tmp]\n    \t\t\t\u003ctmp 1 + \u003etmp2\n    \t\t\t\u003cboard[tmp2]\n    \t\t\t\u003ctmp 2 + \u003etmp2\n    \t\t\t\u003cboard[tmp2]\n    \t\t\t\u003etmp5\n    \t\t\t\u003etmp4\n    \t\t\t\u003etmp3\n    \t\tend_if\n    \t\tif \u003ctmp 30 == do\n    \t\t\t\u003cb0 \u003etmp5\n    \t\t\t\u003ctmp 1 + \u003etmp2\n    \t\t\t\u003cboard[tmp2] \u003etmp4\n    \t\t\t\u003cboard[tmp] \u003etmp3\n    \t\tend_if\n    \t\tif \u003ctmp 31 == do\n    \t\t\t\u003cb0 \u003etmp5\n    \t\t\t\u003cb1 \u003etmp4\n    \t\t\t\u003cboard[tmp] \u003etmp3\n    \t\tend_if\n    \t\t\u003ctmp3 \u003ctmp4 \u003ctmp5 cycle_core call\n    \t\t\u003eboard[tmp]\n    \t\t\u003ctmp 1 + \u003etmp\n    \tfor_end\n    proc_end\n    \n    proc_main\n    \tload_arr call\n    \tCOUNT for\n    \t\tprint_arr call\n    \t\t\" \" putsln\n    \t\tdo_cycle call\n    \tfor_end\n    proc_end\n \n# How to install and use tovie?\n\nRequirements:\n- git (optional)\n- make\n- g++\n\nYou have to download this repository, you go to *tags* and download the latest version or use `git clone`:\n```\n$ git clone https://github.com/Jaysmito101/tovie\n$ cd tovie\n```\n\nTo build **tovie** just run `make`:\n```\n$ make\n```\n\nYour built `tovie` executable (or `tovie.exe` on windows) is in `bin`, run `tovie -h` to print a help message.\n\n\u003e *Have fun using Tovie!*\n\n# Support\n\n\nAny support would be highly appretiated!\n\nFor example you could add a feature and contribute via pull requests or you could even report any issues with the program!\n\nAnd the best thing you could do to support this project is spread word about this so that more people who might be interested in this may use this!\n\nPlease considering tweeting about this! \n\n\n\u003ca href=\"https://dynamic-badges.maxalpha.repl.co/star?user=Jaysmito101\u0026repo=tovie\u0026id=1\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?image=true\"\u003e\u003c/a\u003e\n\u003ca href=\"https://dynamic-badges.maxalpha.repl.co/star?user=Jaysmito101\u0026repo=tovie\u0026id=2\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?image=true\"\u003e\u003c/a\u003e\n\u003ca href=\"https://dynamic-badges.maxalpha.repl.co/star?user=Jaysmito101\u0026repo=tovie\u0026id=3\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?image=true\"\u003e\u003c/a\u003e\n\u003ca href=\"https://dynamic-badges.maxalpha.repl.co/star?user=Jaysmito101\u0026repo=tovie\u0026id=4\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?image=true\"\u003e\u003c/a\u003e\n\u003ca href=\"https://dynamic-badges.maxalpha.repl.co/star?user=Jaysmito101\u0026repo=tovie\u0026id=5\"\u003e\u003cimg src=\"https://dynamic-badges.maxalpha.repl.co/star?image=true\"\u003e\u003c/a\u003e\n\n\n\u003cimg alt=\"Visitors\" src=\"https://visitor-badge.glitch.me/badge?page_id=Jaysmito101.tovie\u0026left_color=gray\u0026right_color=green\u0026style=for-the-badge\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaysmito101%2Ftovie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaysmito101%2Ftovie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaysmito101%2Ftovie/lists"}