{"id":27286255,"url":"https://github.com/rec0de/mockmavl","last_synced_at":"2025-04-11T19:35:41.557Z","repository":{"id":78520193,"uuid":"293542916","full_name":"rec0de/mockMAVL","owner":"rec0de","description":"A random program generator for MAVL","archived":false,"fork":false,"pushed_at":"2024-11-23T14:11:12.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-23T15:21:50.315Z","etag":null,"topics":["code-generation","fuzzing","mavl"],"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/rec0de.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}},"created_at":"2020-09-07T13:57:24.000Z","updated_at":"2024-11-23T14:11:15.000Z","dependencies_parsed_at":"2023-05-26T03:12:33.384Z","dependency_job_id":null,"html_url":"https://github.com/rec0de/mockMAVL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec0de%2FmockMAVL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec0de%2FmockMAVL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec0de%2FmockMAVL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec0de%2FmockMAVL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rec0de","download_url":"https://codeload.github.com/rec0de/mockMAVL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248467529,"owners_count":21108660,"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":["code-generation","fuzzing","mavl"],"created_at":"2025-04-11T19:35:41.025Z","updated_at":"2025-04-11T19:35:41.533Z","avatar_url":"https://github.com/rec0de.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MockMAVL\n\nA handy generator to create lots of meaningless, but syntactically and semantically correct MAVL programs.\n\n## What's MAVL?\n\nMAVL is short for _Matrix and Vector Language_ - it's a java-like programming language built to teach concepts of compilers and programming languages at TU Darmstadt. MockMAVL specifically was designed to generate programs in the 2018 flavour of MAVL, although the differences to other versions should be rather small.\n\n## Usage\n\n`ruby mockMAVL.rb [options]`  \n\nOptions:  \n`--pretty` \"pretty\" print, tries to insert some newlines and performs minor whitespace cleanup  \n`--maxdim=6` Set maximum vector and matrix dimension  \n`--help` (`-h`) Show help and exit  \n\n## Sample Output\n\nA program generated by MockMAVL might look something like this:\n\n```\nfunction void applyChanges(bool storageEnabled) {\n\tvar vector \u003cint\u003e [1 * 2 - 0] shiftVector;\n\tval int processDepth = processDepth - 734;\n\tswitch (542) {\n\t\tcase 86 : foreach(val int n : false ? [[147, 575]] : [[568, 794]]) {\n\t\t\tstorageEnabled = false \u0026 true | false;\n\t\t}\n\t\tcase 94 : var matrix \u003cint\u003e [2][2] translationMatrix;\n\t\tcase 102 : val float y = y;\n\t\tcase 110 : var matrix \u003cint\u003e [10 / 5][1 * (2)] bitMatrix;\n\t\tcase 10 + 108 / 1 : val int res = res;\n\t}\n\tif (storageEnabled | storageEnabled | true)\n\t\tval int k = 851;\n}\n\nfunction void callExternal(vector \u003cfloat\u003e [1 * 15 - 14] scaleArray, int systemCounter) {\n\t{\n\t\tforeach(val float dataFlt : false | true ? scaleArray +(8.05963 - 0.30995) + [1.5] : scaleArray) applyChanges(false);\n\t\tval string serviceValue = \"127.0.0.1\";\n\t\tif (true) switch (142) {\n\t\t\tdefault : foreach(val float cosValue : scaleArray) val vector \u003cfloat\u003e [1] scaleVector = [11.27454];\n\t\t\tcase 3 + 48 - 6 : val vector \u003cfloat\u003e [2] scaleList = [1.5, 1.5];\n\t\t\tcase 1 * 2 * 24 : {\n\t\t\t\tfor(systemCounter = 588; false | false; systemCounter = 736) val matrix \u003cint\u003e [2][(10 - 1 * 9) + 0] translationMatrix = [[92], [606]] - systemCounter * translationMatrix ^ translationMatrix ^ [127, 590] [systemCounter] - translationMatrix;\n\t\t\t\t{\n\t\t\t\t\tfor(scaleArray = 3.94401 + [1.5]; true; scaleArray = 7.33555 + [1.5] * [[14.2357 + 8.92736 + 16.49566 * - scaleArray [false ? systemCounter - 212 : 367] ^ [true ? 2.25431 - 6.97724 : 5.10375, 1.5] {0 : systemCounter - 457 : 0} / 0.32061], [0.56416]][systemCounter] * [18.70191 - 9.30231]) {\t\n\t\t\t\t\t}\n\t\t\t\t\tif (true) var float preciseValue;\n\t\t\t\t\telse var string queryType;\n\t\t\t\t\tapplyChanges(false | false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tval matrix \u003cint\u003e [1 * 1][2] transformationMatrix = false ? [[99, 77]] : systemCounter + [[869, 908]] * [[991, 617]] ^ transformationMatrix - [[215, 607]];\n}\n\nfunction void callVisitor() {}\n\nfunction void main() {\n\tvar bool canLoad;\n\tvar int systemAmount;\n\tfor(systemAmount = 692; canLoad | canLoad ? canLoad \u0026 canLoad \u0026 canLoad |! canLoad \u0026 true | canLoad : true; systemAmount = 452) {\n\t\tswitch (578 - systemAmount / [930] # [76]) {\n\t\t\t\n\t\t}\n\t\tvar bool canRead;\n\t\tforeach(val float sinValue : [1.5, 1.5]) systemAmount = 800 + systemAmount / [257] .dimension;\n\t\t\n\t}\n\tvar matrix \u003cfloat\u003e [(10 / 5)][1] transformationField;\n\tvar float sinAmount;\n}\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frec0de%2Fmockmavl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frec0de%2Fmockmavl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frec0de%2Fmockmavl/lists"}