{ "info": { "author": "BTaskaya", "author_email": "batuhanosmantaskaya@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Arkhe\nExperimental Universal Virtual Machine (`pip install arkhe`) (`python -m arkhe`)\n## Demo\n[![asciicast](https://asciinema.org/a/i5JBMXFlcXbyYHOb0AHNH9i0D.svg)](https://asciinema.org/a/i5JBMXFlcXbyYHOb0AHNH9i0D)\n[![asciicast](https://asciinema.org/a/SAkcA9kQyMRQNKAfi8SrThD5g.svg)](https://asciinema.org/a/SAkcA9kQyMRQNKAfi8SrThD5g)\n[![asciicast](https://asciinema.org/a/REkATQPrAqG6EBSPx0HgiiUBN.svg)](https://asciinema.org/a/REkATQPrAqG6EBSPx0HgiiUBN)\n\n## Usage\n### Type\nCheck out `arkhe.vm.TypeTable`\n### Load\n```\nLOAD REGISTER OPERANDS+ TYPE?\n```\nType is optional and int by default. \n#### Integer Loading\nTakes 2 operands, maximum 2^16\n```\n(operand1 << 8) | operand2\n```\n#### String Loading\nTakes n operands as hex. \n### Math\n```\n{OPERATION} R1 R2 TARGET\n```\n=\n```\nTARGET_REG = R1 {OPERATION} R2\n```\n\n- ADD\n- SUB\n- MUL\n- TRUEDIV\n\nMapped from python's `operator` module. \n### JUMP\n#### Absolute Jump\n```\nJMP R1\n```\nSet counter to given register's value\n#### Relative Jump\n```\nJMP{F/B} R1\n```\nF for forward, B for backward. Increment or decrement counter's value by R1's value\n### Comparison\n#### Basic\n```\n{OPERATION} R1 R2\n```\nSets `_eqflag` of `Arkhe` instance to the result of given operation. Mapped directly from `operators` library\n\n- EQ\n- NE\n- LT\n- GT\n- GE\n- LE\n#### Jump\n```\nJEQ R1\nJNQ R1\n```\nJEQ: Set counter to R1's value if `_eqflag` is True\nJNQ: Set counter to R1's value if `_eqflag` is False\n### Memory\n```\nALLOC R1\nDEALLOC R1 0/1\nINSERT R1 R2\nREAD R1 R2\n```\nALLOC: Allocates memory amount of R1\nDEALLOC: Deallocates memory amount of R1 from Head (1) or Tail (0)\nINSERT: Insert r2's value to memory. r1 points to segment for insertment\nREAD: Read value from memory and set it to r2. r1 points to segment for read operation.\n### Symboling\n```\nSYMSET R1 R2\nSYMREAD R1 R2\n```\nSYMSET: Updates record on symtable with `k:v` pair of `R1:R2`\nSYMREAD: Reads symtable record with `key` as R1 and loads value to `R2`\n### NOP / HLT\nNOP does nothing, HLT raises `arkhe.vm.HLT` exception.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/BTaskaya/Arkhe", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "arkhe", "package_url": "https://pypi.org/project/arkhe/", "platform": "", "project_url": "https://pypi.org/project/arkhe/", "project_urls": { "Homepage": "https://github.com/BTaskaya/Arkhe" }, "release_url": "https://pypi.org/project/arkhe/0.2.6/", "requires_dist": null, "requires_python": "", "summary": "Experimental Universal Virtual Machine", "version": "0.2.6" }, "last_serial": 4984296, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c15af959d8e2fcdcce1e48acbd78619e", "sha256": "7a3e9385250ad7acc7b4bd986ac8c9aea8704b5dec9bc4e326fd4804e9a134b1" }, "downloads": -1, "filename": "arkhe-0.1.tar.gz", "has_sig": false, "md5_digest": "c15af959d8e2fcdcce1e48acbd78619e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6183, "upload_time": "2019-03-24T12:06:54", "url": "https://files.pythonhosted.org/packages/54/4e/b3ebfc20670551c202add228ee23d8de5fcb407ac7b050539866bef2dc78/arkhe-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3476a3528d3dc8550d7f5c030f350382", "sha256": "48ab89ef0b873538bda67588605aff5cfe17778b510f425e247cb61b9bdeef0f" }, "downloads": -1, "filename": "arkhe-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3476a3528d3dc8550d7f5c030f350382", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6350, "upload_time": "2019-03-24T12:09:35", "url": "https://files.pythonhosted.org/packages/b6/4e/9ffc354b983769a06e58d76d7fe53e3c21a8554b699008f0aee696b81636/arkhe-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "49297007dc65ec81a1418bfee8a3bc5f", "sha256": "71c47ea7ea64ad44f42d377bcff80eaf25a09d4643ebdc463e72a965abce09c1" }, "downloads": -1, "filename": "arkhe-0.1.2.tar.gz", "has_sig": false, "md5_digest": "49297007dc65ec81a1418bfee8a3bc5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6518, "upload_time": "2019-03-24T13:03:06", "url": "https://files.pythonhosted.org/packages/54/af/a50ce24cb84fd83a78ff31476de62b081af1c5346bb0662ae5773e482f22/arkhe-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "08fd0011d0f6cc5f65e25c621736c0ab", "sha256": "ed3cbb8990079a489cd5c93c7945187b46b52eaba58f30d5295e138feda87bdf" }, "downloads": -1, "filename": "arkhe-0.1.3.tar.gz", "has_sig": false, "md5_digest": "08fd0011d0f6cc5f65e25c621736c0ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7299, "upload_time": "2019-03-24T13:16:13", "url": "https://files.pythonhosted.org/packages/f6/f1/dc304035f17de4063550285c5eef4bd2b9c3834a5f78b07bace489b7b49d/arkhe-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "04c88f4c7e1baeb4e167bddd2e019293", "sha256": "0ce45bcf1c5998b2a9c08e0f1c96e631d55e0e76461300cdd7ed727f5bbb48c2" }, "downloads": -1, "filename": "arkhe-0.1.4.tar.gz", "has_sig": false, "md5_digest": "04c88f4c7e1baeb4e167bddd2e019293", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7635, "upload_time": "2019-03-24T14:48:59", "url": "https://files.pythonhosted.org/packages/50/41/71bfac65c39ff886ab9501a62dbc7ce995a637129862c206636d66316ba3/arkhe-0.1.4.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "e5157ce02fff24fc2670a7f97b748d8d", "sha256": "d76a4b346ec8423bd05e3e994905d274aff23850cae0d396caa156e7d91a94b6" }, "downloads": -1, "filename": "arkhe-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e5157ce02fff24fc2670a7f97b748d8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7672, "upload_time": "2019-03-24T15:06:39", "url": "https://files.pythonhosted.org/packages/9f/93/f7088cc238b4cf2cac1805d142ac8a5f1fac349ee144ee110c2cca508798/arkhe-0.1.6.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "7933b529bbcc7ef66961370e2a2d40c6", "sha256": "8266d35bee571eefd1ea08ced67515c067e956b25311e3fe86dc0e1c2d7c5f56" }, "downloads": -1, "filename": "arkhe-0.2.tar.gz", "has_sig": false, "md5_digest": "7933b529bbcc7ef66961370e2a2d40c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20172, "upload_time": "2019-03-24T18:01:18", "url": "https://files.pythonhosted.org/packages/21/f6/facdcb3dbbdfdb96d1499ad2982619cd91fdee768eaee2b75f5b07aea7f6/arkhe-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "834bd1c3d9f74d882b5c0759043f765d", "sha256": "63da47c244067f4abad09d90535e282e04f906a5c5e28fe7113b2d1b9717b5f6" }, "downloads": -1, "filename": "arkhe-0.2.1.tar.gz", "has_sig": false, "md5_digest": "834bd1c3d9f74d882b5c0759043f765d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20431, "upload_time": "2019-03-24T18:24:53", "url": "https://files.pythonhosted.org/packages/72/de/1c10db40881dab76bd262f842d23d390aac1521df7f97752d2bf5a01b330/arkhe-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "0049fc4cf6b9b12d7034d627b2802fd1", "sha256": "7d51b363b07bf3d7b43dd1dfe0616be4a3d623c2b44df51c687976d2c1f93679" }, "downloads": -1, "filename": "arkhe-0.2.2.tar.gz", "has_sig": false, "md5_digest": "0049fc4cf6b9b12d7034d627b2802fd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6313, "upload_time": "2019-03-25T16:08:51", "url": "https://files.pythonhosted.org/packages/ea/30/edcb868cb634ea7ebf44669dff91067eb139af441878cb1a410301742259/arkhe-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "4757e7defbb9c6dcad8739d07ab77287", "sha256": "fb56950fd626e041f1eeb9d5b227a835fec79c9a709b4e6094fac3dce27b9518" }, "downloads": -1, "filename": "arkhe-0.2.3.tar.gz", "has_sig": false, "md5_digest": "4757e7defbb9c6dcad8739d07ab77287", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6354, "upload_time": "2019-03-25T17:19:13", "url": "https://files.pythonhosted.org/packages/96/1e/59f834ade9d95422d4aa9c2ed7ab9006259e4b141b4045ce9b4ee7c2dad0/arkhe-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "2e53df005ac0d1d76272a3b3d38ac288", "sha256": "5ec7e9d3af36bf7c50bf4bcb147ba33450a05bdd294cad2706f340747582f778" }, "downloads": -1, "filename": "arkhe-0.2.4.tar.gz", "has_sig": false, "md5_digest": "2e53df005ac0d1d76272a3b3d38ac288", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6430, "upload_time": "2019-03-25T18:33:16", "url": "https://files.pythonhosted.org/packages/d6/b7/57c69b31e9fd01206ded96e47c80488f5d88d12e36868b09fe940f2c104c/arkhe-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "4b48eecc37ca6bd11653652611a23fbc", "sha256": "a4d8704339a86ca04221649c2296aae0705ecf19f10f636501f5c9a42c2e3934" }, "downloads": -1, "filename": "arkhe-0.2.5.tar.gz", "has_sig": false, "md5_digest": "4b48eecc37ca6bd11653652611a23fbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6429, "upload_time": "2019-03-25T19:10:33", "url": "https://files.pythonhosted.org/packages/b1/48/4fc9079fd97294e197ce74e6cf7d92f6cc02fd0186da56a2bc7706217fd8/arkhe-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "d26af6325efadfb5ebeb7af646b934a7", "sha256": "4eab83b2824cad0c82f3f79492c07eed3074c9361f8eb7569fb9df10e394bfc5" }, "downloads": -1, "filename": "arkhe-0.2.6.tar.gz", "has_sig": false, "md5_digest": "d26af6325efadfb5ebeb7af646b934a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6524, "upload_time": "2019-03-25T19:43:07", "url": "https://files.pythonhosted.org/packages/08/c2/0d061a57aab3e5400b904b0718c99c198017f79f5a657bd7f77d6457dbbe/arkhe-0.2.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d26af6325efadfb5ebeb7af646b934a7", "sha256": "4eab83b2824cad0c82f3f79492c07eed3074c9361f8eb7569fb9df10e394bfc5" }, "downloads": -1, "filename": "arkhe-0.2.6.tar.gz", "has_sig": false, "md5_digest": "d26af6325efadfb5ebeb7af646b934a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6524, "upload_time": "2019-03-25T19:43:07", "url": "https://files.pythonhosted.org/packages/08/c2/0d061a57aab3e5400b904b0718c99c198017f79f5a657bd7f77d6457dbbe/arkhe-0.2.6.tar.gz" } ] }