{ "info": { "author": "stupyd group", "author_email": "sunmch15@foxmail.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3" ], "description": "# StuPyd\n\n[![PyPI pyversions](https://img.shields.io/badge/python-3.7-blue.svg)]()\n[![Build](https://img.shields.io/teamcity/codebetter/bt428.svg)]()\n[![PyPI status](https://img.shields.io/pypi/status/ansicolortags.svg)]()\n[![License](https://img.shields.io/badge/license-apache-green.svg)]()\n[![Debugger](https://img.shields.io/badge/debugger-support-orange.svg)]()\n\nStuPyd is an interpreted high-level programming language for programming education. It is intended to have a easy-to-read syntax and useful intergrated data structures with related operation methods to help its users to understand programming and other related computer science concepts. \n\nYou can get more information on our project [page]().\n\n\n## Getting Started\n\nThese instructions will lead you to install stupyd-interpreter on your machine.\n\n### Prerequisites\n\n1. StuPyd is based on [**Python3**](https://www.python.org), thus you must have Python3 (3.6.0 or higher) installed first. You can check your version with:\n\n\t~~~\n\t\u279c ~ python3 -V\n\t~~~\n\n2. The stupyd-interpreter is released on PyPI, thus you need to install **pip** first. you can see installation guide [here](https://pip.pypa.io/en/stable/installing/)\n\n### Installing\n\nOur PyPI page is [here](https://pypi.org/project/stupyd/). You can easily install the stupyd-interpreter with:\n\n~~~\n\u279c ~ pip install stupyd\n~~~\n\nAfter installation, type **\"stupyd\"** in terminal, you should see:\n\n~~~\n\u279c ~ stupyd\nusage: stupyd [-h] filename\n\npositional arguments:\n filename path of source code\n\noptional arguments:\n -h, --help show this help message and exit\n~~~\n\nNow you can run StuPyd code on your machine :)\n\n\n## Running the code\n\nLet's write a simple **\"hello_world.sp\"**:\n\n~~~ c\nstring str\n\"hello, world\" -> str\nprint(str)\n\n~~~\n\nWe can run this code by:\n\n~~~\n\u279c stupyd-lang git:(master) \u2717 stupyd test/hello_world.sp\nThe stupyd-interpreter.\n\n\"hello, world!\"\n~~~\n\n\n## Test on local machine\n\nFor all the code in this repository is for packaging, you can not run them directly. To test the code, you have two methods.\n\n### Re-package on local machine\n\nStep1: Re-package in local environment\n\n~~~\n\u279c stupyd-lang git:(master) \u2717 python3 setup.py sdist bdsit_wheel\n~~~\n\nStep2: Install local wheel using **pip**\n\n~~~\n\u279c stupyd-lang git:(master) \u2717 pip3 install dist/stupyd-1.0.14-py3-none-any.whl\n~~~\n\n### Using *run.py*\n\nDuring our development, we write a *run.py* in the *test/* directory, it's very simple.\n\n~~~\nimport sys \nsys.path.append(\"..\") \nfrom stupyd.main import main\n\nmain()\n~~~\nYou can use it to test.\n\n~~~\n\u279c test git:(master) \u2717 python3 run.py hello_world.sp\n\"hello, world!\"\n~~~\n\n## Debugging\n\nFrom version 1.0.18, you can debug source file with *stupyd-debugger*. After installation, type **'spd'** to launch it, below is an example:\n\n~~~\n\u279c stupyd-lang git:(master) \u2717 spd test/hello_world.sp\nThe stupyd-debugger. Type 'help' or '?' for help.\n\nspd >> ?\n\nDocumented commands (type help ):\n========================================\nbreak help info next quit\n\n\nspd >> ? info\nprint program general info\n\nspd >> info\nconstant space: ['\"hello, world!\"']\nvariable space: ['a']\n\nindex ins_num op_num instruction operator\n0 1 0 DECL_FAST a\n2 17 0 LOAD_STRING \"hello, world!\"\n4 2 0 STORE_FAST a\n6 3 0 LOAD_FAST a\n8 7 -1 PRINT none\n10 13 -1 QUIT none\n\nspd >> next\ncurrent instruction:\nindex ins_num op_num instruction operator\n0 1 0 DECL_FAST a\nvariables:{}\ndata stack:[]\n\nspd >> break 10\n\"hello, world!\"\ncurrent instruction:\nindex ins_num op_num instruction operator\n10 13 -1 QUIT none\nvariables:{'a': '\"hello, world!\"'}\ndata stack:[]\n\nspd >> next\nprogram ended.\n\nspd >> quit\n\n\u279c stupyd-lang git:(master) \u2717\n~~~\n\nIt's just a simple and function-incompleted debugger for now, we will make it better later.\n\nMore information about StuPyd bytecode instruction and *stupyd-interpreter* will be updated later on our project [page](https://muchensun.github.io/stupyd-lang/behind-stupyd/behind-stupyd.html).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgments\n\nWe are a group from [School of Information Science and Engineering](http://xxxy.lzu.edu.cn), Lanzhou University, China.\n\n\n\n", "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/StuPyd/stupyd-lang", "keywords": "python stupyd education programming language", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "stupyd", "package_url": "https://pypi.org/project/stupyd/", "platform": "", "project_url": "https://pypi.org/project/stupyd/", "project_urls": { "Homepage": "https://github.com/StuPyd/stupyd-lang" }, "release_url": "https://pypi.org/project/stupyd/0.0.2/", "requires_dist": [ "antlr4-python3-runtime (>=4.7.1)" ], "requires_python": "", "summary": "official stupyd programming language package", "version": "0.0.2" }, "last_serial": 4398993, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c7237741040200fa4471271c8d7ff557", "sha256": "31726e4740e76e7ed0b07437e812e055c204389fa2f3e640a17069c232b33a41" }, "downloads": -1, "filename": "stupyd-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c7237741040200fa4471271c8d7ff557", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17420, "upload_time": "2018-10-21T09:23:12", "url": "https://files.pythonhosted.org/packages/7d/32/4d3251b7842acadfce59302e497be5214056cac587b2b940bb6f072f9c67/stupyd-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ea11cefad07968e2bb7589a4fb163dc", "sha256": "6cd06c035e281b3601df1513384df0bc53b82ce9f31ed4503de487829d309378" }, "downloads": -1, "filename": "stupyd-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8ea11cefad07968e2bb7589a4fb163dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14965, "upload_time": "2018-10-21T09:23:14", "url": "https://files.pythonhosted.org/packages/7c/c2/3c1024eefbd38016a0ea2f6157a9b298154a78e5f7df883d0042c9ac78d4/stupyd-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "3a70ca10240c4b438d4e0634938dbfb9", "sha256": "5bfd7d0de86d32565bccf4f5720306cef7864f9de96c34c07e04402e78c97f94" }, "downloads": -1, "filename": "stupyd-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3a70ca10240c4b438d4e0634938dbfb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19222, "upload_time": "2018-10-21T09:34:28", "url": "https://files.pythonhosted.org/packages/3a/ea/ec7b7df11678b13762f978948b0def92d79e34eae14dd16c8c5e4e48ca6f/stupyd-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53564b287846933f06a2ee0dfb91cb6f", "sha256": "4c59942870976549c769a761ea1a37e63f745f53ef15ac4bd5b18917d176d711" }, "downloads": -1, "filename": "stupyd-0.0.2.tar.gz", "has_sig": false, "md5_digest": "53564b287846933f06a2ee0dfb91cb6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17233, "upload_time": "2018-10-21T09:34:30", "url": "https://files.pythonhosted.org/packages/9b/ac/a5ceaccdade0fcdd004f00dd61c3e933772a2eb86ef9769099ed41237ee3/stupyd-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3a70ca10240c4b438d4e0634938dbfb9", "sha256": "5bfd7d0de86d32565bccf4f5720306cef7864f9de96c34c07e04402e78c97f94" }, "downloads": -1, "filename": "stupyd-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3a70ca10240c4b438d4e0634938dbfb9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19222, "upload_time": "2018-10-21T09:34:28", "url": "https://files.pythonhosted.org/packages/3a/ea/ec7b7df11678b13762f978948b0def92d79e34eae14dd16c8c5e4e48ca6f/stupyd-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53564b287846933f06a2ee0dfb91cb6f", "sha256": "4c59942870976549c769a761ea1a37e63f745f53ef15ac4bd5b18917d176d711" }, "downloads": -1, "filename": "stupyd-0.0.2.tar.gz", "has_sig": false, "md5_digest": "53564b287846933f06a2ee0dfb91cb6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17233, "upload_time": "2018-10-21T09:34:30", "url": "https://files.pythonhosted.org/packages/9b/ac/a5ceaccdade0fcdd004f00dd61c3e933772a2eb86ef9769099ed41237ee3/stupyd-0.0.2.tar.gz" } ] }