{ "info": { "author": "Meet Mangukiya", "author_email": "meetmangukiya98@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\npython-brainfuck a.k.a brainfucky\n=================================\n\nBrainfucky is a brainfuck interpreter written in python.\n\nAbout Brainfuck\n---------------\n\nBrainfuck is an esoteric programming language. The language has only 8 symbols,\neach performing certain functions, see below.\n\n+-----+-------------------------------------------------------------------------+\n|``+``| Increment the value of current cell by 1. |\n+-----+-------------------------------------------------------------------------+\n|``-``| Decrement the value of current cell by 1. |\n+-----+-------------------------------------------------------------------------+\n|``>``| Move the current cell pointer to right, increment the pointer by 1. |\n+-----+-------------------------------------------------------------------------+\n|``<``| Move the current cell pointer to left, decrement the pointer by 1. |\n+-----+-------------------------------------------------------------------------+\n|``.``| Print the ascii character corresponding to the value of current cell. |\n+-----+-------------------------------------------------------------------------+\n|``,``| Take an ascii input from user, and store its ascii value in current cell|\n+-----+-------------------------------------------------------------------------+\n|``[``| if the byte at the data pointer is zero, then instead of moving the |\n| | instruction pointer forward to the next command, jump it forward to |\n| | the command after the matching ``]`` command. |\n+-----+-------------------------------------------------------------------------+\n|``]``| if the byte at the data pointer is nonzero, then instead of moving the |\n| | instruction pointer forward to the next command, jump it back to the |\n| | command after the matching ``[`` command. |\n+-----+-------------------------------------------------------------------------+\n\nAbout Implementation\n--------------------\n\n- The memory element, the tape is emulated using the python ``list``.\n- Value of ith element in the list corresponds to the value of cell ``i``.\n- A cell pointer is used to point towards the current cell.\n- ``+`` and ``-`` increments the value of cell pointed by the cell pointer.\n- ``>`` and ``<`` increments and decrements the cell pointer effectively, moving\n the tape right or left.\n- Instructions in a block are executed and at the end of the execution of last\n instruction, value of current cell is checked, if it is 0, move on, else\n execute the block again.\n\nInstall\n-------\n\n.. code:: bash\n\n $ pip install brainfucky\n\nRun\n---\n\nTo run your brainfuck program do the following\n\n.. code:: bash\n\n $ brainfucky --file examples/hello_world.bf\n executing file examples/hello_world.bf\n Hello World!\n\n $ brainfucky --file examples/triangle.bf\n executing file examples/triangle.bf\n *\n * *\n * *\n * * * *\n * *\n * * * *\n * * * *\n * * * * * * * *\n * *\n * * * *\n * * * *\n * * * * * * * *\n * * * *\n * * * * * * * *\n * * * * * * * *\n * * * * * * * * * * * * * * * *\n * *\n * * * *\n * * * *\n * * * * * * * *\n * * * *\n * * * * * * * *\n * * * * * * * *\n * * * * * * * * * * * * * * * *\n * * * *\n * * * * * * * *\n * * * * * * * *\n * * * * * * * * * * * * * * * *\n * * * * * * * *\n * * * * * * * * * * * * * * * *\n * * * * * * * * * * * * * * * *\n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/meetmangukiya/brainfucky", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "brainfucky", "package_url": "https://pypi.org/project/brainfucky/", "platform": "", "project_url": "https://pypi.org/project/brainfucky/", "project_urls": { "Homepage": "https://github.com/meetmangukiya/brainfucky" }, "release_url": "https://pypi.org/project/brainfucky/0.1.dev1/", "requires_dist": null, "requires_python": ">=3", "summary": "Brainfuck interpreter in python.", "version": "0.1.dev1" }, "last_serial": 3637880, "releases": { "0.1.dev0": [ { "comment_text": "", "digests": { "md5": "ee5fe0675192d483387f3c351d2e5897", "sha256": "131306ec10a8e293a8ce286b1a7cb00f4233c773acaf851185ef17211cf6bc1d" }, "downloads": -1, "filename": "brainfucky-0.1.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee5fe0675192d483387f3c351d2e5897", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 4727, "upload_time": "2018-03-02T10:41:04", "url": "https://files.pythonhosted.org/packages/16/07/c917ae2ebae106200e47f636352fa9f28f256c5910c02762a91d492eda64/brainfucky-0.1.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8222a93cf3ece6d381d52c4d480db790", "sha256": "3306fdf1ea89f719be7a6c8a74d3f0dd35cf024a46a8e88921b71aed1123011c" }, "downloads": -1, "filename": "brainfucky-0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "8222a93cf3ece6d381d52c4d480db790", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4126, "upload_time": "2018-03-02T10:41:09", "url": "https://files.pythonhosted.org/packages/c4/a0/552e42b3ee24394f908fd15060d29f77c6b8a53bba0e56080ba7c1bbaf46/brainfucky-0.1.dev0.tar.gz" } ], "0.1.dev1": [ { "comment_text": "", "digests": { "md5": "b72d065d1ce8716acc387454829b2994", "sha256": "bcdcad3c6bca3890adde204b18bf7927855f55eb48caea972080ce470a61657a" }, "downloads": -1, "filename": "brainfucky-0.1.dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b72d065d1ce8716acc387454829b2994", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 5993, "upload_time": "2018-03-04T11:24:58", "url": "https://files.pythonhosted.org/packages/95/a5/6ac16ee906f6d099a3921d1a2dd10b3485ccd93ff8750b7c239e2d2557a0/brainfucky-0.1.dev1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3b13827d15cb4b7d36259045f311d95", "sha256": "9f2404d4fa257a9c667016086751c6e19ed5357f9c596ff448a438f9f816bc1a" }, "downloads": -1, "filename": "brainfucky-0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "c3b13827d15cb4b7d36259045f311d95", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4898, "upload_time": "2018-03-04T11:25:00", "url": "https://files.pythonhosted.org/packages/26/78/588f4a254a5267a7d64938cba7f2691cf656f0d31c314760cac78dca67bd/brainfucky-0.1.dev1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b72d065d1ce8716acc387454829b2994", "sha256": "bcdcad3c6bca3890adde204b18bf7927855f55eb48caea972080ce470a61657a" }, "downloads": -1, "filename": "brainfucky-0.1.dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b72d065d1ce8716acc387454829b2994", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 5993, "upload_time": "2018-03-04T11:24:58", "url": "https://files.pythonhosted.org/packages/95/a5/6ac16ee906f6d099a3921d1a2dd10b3485ccd93ff8750b7c239e2d2557a0/brainfucky-0.1.dev1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3b13827d15cb4b7d36259045f311d95", "sha256": "9f2404d4fa257a9c667016086751c6e19ed5357f9c596ff448a438f9f816bc1a" }, "downloads": -1, "filename": "brainfucky-0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "c3b13827d15cb4b7d36259045f311d95", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4898, "upload_time": "2018-03-04T11:25:00", "url": "https://files.pythonhosted.org/packages/26/78/588f4a254a5267a7d64938cba7f2691cf656f0d31c314760cac78dca67bd/brainfucky-0.1.dev1.tar.gz" } ] }