{ "info": { "author": "Steve Casey", "author_email": "stevecasey21@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.7" ], "description": "===========\nArma Lisp\n===========\n\n\n.. image:: https://img.shields.io/pypi/v/sqisp.svg\n :target: https://pypi.python.org/pypi/sqisp\n\n.. image:: https://img.shields.io/travis/sjcasey21/sqisp.svg\n :target: https://travis-ci.org/sjcasey21/sqisp\n\n.. image:: https://readthedocs.org/projects/sqisp/badge/?version=latest\n :target: https://sqisp.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n\n\n\nA lisp dialect that compiles to sqf.\n\n\n* Free software: MIT license\n* Documentation: https://sqisp.readthedocs.io.\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install sqisp\n\n\nFeatures\n----------\n\n- [ ] macros\n- [ ] keywords\n- [x] name mangling\n- [x] private by default\n\nExpressions\n-------------\n\n- [x] if\n- [x] def\n- [x] basic math expressions [+, -, \\*, /, %]\n- [x] do\n- [x] logical operators [and, or, =, <, <=, >, >=, !=]\n- [x] arrays\n- [x] for\n- [x] while\n- [x] fn\n- [x] foreach\n- [ ] case [NOTE]: May be unnecessary\n- [ ] exitwith [NOTE]: May be unnecessary\n- [ ] waituntil [NOTE]: May be unnecessary\n- [ ] default [NOTE]: May be unnecessary\n- [x] function call syntax\n- [x] comments\n- [x] setv\n\nExample\n-----------\n\nInput Arma Lisp\n---------------\n\n.. code-block:: bash\n\n # will watch the current directory and compile all sqp files\n # the same directory\n sqisp -w .\n\n.. code-block:: lisp\n\n ;; Import statement adds external sqf functions to the global namespace\n (import \"someExternalFunction\" \"someOtherExternalFunction\")\n\n ;; Equality operators\n (= \"hello\" (if true \"hello\" \"world\"))\n\n ;; Math Operators\n (def some_num (+ 2 -5 (/ 2.4 30 3.3) (- 20 33)))\n\n ;; Unified function call syntax\n (select (count (allUnits)) 2)\n\n ;; Variable definition\n (def some_arr [1 2 3 4 5 6])\n\n ;; Global Variable Definition\n (defglobal some_global \"hello global\")\n (defglobal __anoher_global \"I can even have leading underscores!\")\n\n ;; If Expression\n (if (or (>= some_num 223) (= (% some_num 2) 0))\n (str some_num)\n (if true \"Hello\" \"World\"))\n\n (def my_func (fn [a b c]\n (hint a)\n (hint b)\n (hint c)))\n (def my_val ( my_func \"hello\" \"world\" 24.3 ))\n\n ;; Define Lambda Expression\n (def even? (fn [val] (= (% val 2) 0)))\n\n ;; Commas are whitespace\n (fn [a, b,,, c]\n (hint (str [a b c]))\n (hint \"sub dog\"))\n\n ;; For loop with optional step\n (for [i 0 10]\n (hint i)\n (hint \"Hello For Loop!\"))\n\n (for [i 0 10 2] ; some inline comment\n (hint i))\n\n ;; While Loop\n (while (< x 10)\n (hint x))\n\n ;; Doseq (forEach) loop\n (doseq [x [1, 2, 3, 4]]\n (hint x))\n\nOutput SQF\n-----------\n\n.. code-block::\n\n // imported someExternalFunction, someOtherExternalFunction;\n (\"hello\" == if (true) then\n {\n \"hello\"\n }\n else\n {\n \"world\"\n }\n );\n private _some_num = (2 + -5 + (2.4 / 30 / 3.3) + (20 - 33));\n ( ( count allUnits ) select 2 );\n private _some_arr = [1, 2, 3, 4, 5, 6];\n some_global = \"hello global\";\n anoher_global = \"I can even have leading underscores!\";\n if ((_some_num >= 223) || ((_some_num % 2) == 0)) then\n {\n ( str _some_num )\n }\n else\n {\n if (true) then\n {\n \"Hello\"\n }\n else\n {\n \"World\"\n }\n };\n private _my_func =\n {\n params [\"_a\", \"_b\", \"_c\"];\n ( hint _a );\n ( hint _b );\n ( hint _c )\n };\n private _my_val = [\"hello\", \"world\", 24.3] call _my_func;\n private _is_even =\n {\n params [\"_val\"];\n ((_val % 2) == 0)\n };\n {\n params [\"_a\", \"_b\", \"_c\"];\n ( hint ( str [_a, _b, _c] ) );\n ( hint \"sub dog\" )\n };\n for \"_i\" from 0 to 10 do\n {\n ( hint _i );\n ( hint \"Hello For Loop!\" )\n };\n for \"_i\" from 0 to 10 step 2 do\n {\n ( hint _i )\n };\n while\n {\n (_x < 10)\n }\n do\n {\n ( hint _x )\n };\n {\n private _x = _x;\n ( hint _x ) } forEach [1, 2, 3, 4]\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sjcasey21/sqisp", "keywords": "sqisp", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "sqisp", "package_url": "https://pypi.org/project/sqisp/", "platform": "", "project_url": "https://pypi.org/project/sqisp/", "project_urls": { "Homepage": "https://github.com/sjcasey21/sqisp" }, "release_url": "https://pypi.org/project/sqisp/0.6.4/", "requires_dist": [ "Click (>=7.0)", "rply", "funcparserlib", "watchdog", "anytree" ], "requires_python": ">=3.7", "summary": "A lisp dialect that compiles to sqf.", "version": "0.6.4" }, "last_serial": 5876369, "releases": { "0.4.3": [ { "comment_text": "", "digests": { "md5": "32cf5e56b2cfd81206aac0212f804e5f", "sha256": "d24b64a572eb7bd4d6e9f787a895df8d4361ea604b9d1e8a2470f8c8efb5d1b6" }, "downloads": -1, "filename": "sqisp-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "32cf5e56b2cfd81206aac0212f804e5f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 15286, "upload_time": "2019-09-20T00:02:03", "url": "https://files.pythonhosted.org/packages/ed/35/e340972f5dcd5edffca78db3f022081c2844d73d95d50c3eb8283391f0c1/sqisp-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb70b293b40bdfd9fa4e410cde4b8bf0", "sha256": "48e08488256119422ecb1f87870952a73d1aca2cafd4b6da8ffcea1737d48c6d" }, "downloads": -1, "filename": "sqisp-0.4.3.tar.gz", "has_sig": false, "md5_digest": "cb70b293b40bdfd9fa4e410cde4b8bf0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 19924, "upload_time": "2019-09-20T00:02:06", "url": "https://files.pythonhosted.org/packages/ea/89/e78e1102d2e2bd082efb02f1fa263db2e56981be46fe3650da37c00075bb/sqisp-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "edbd89c60d9d41e6edcd6754751df9ea", "sha256": "dcca0ede48369b052b5492469d3692093acc7335890d73aed5933eca0adda582" }, "downloads": -1, "filename": "sqisp-0.4.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "edbd89c60d9d41e6edcd6754751df9ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 29217, "upload_time": "2019-09-20T12:38:06", "url": "https://files.pythonhosted.org/packages/a6/68/949b7cbfc5c4c75faee5bad844b17aaa9c7082321c5cd4a89befa790d4b2/sqisp-0.4.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ac27181c13473069bad38139468dbf54", "sha256": "6ed9826558b653619e684d0354809983f2e9072e458121291ae1e239bab27822" }, "downloads": -1, "filename": "sqisp-0.4.4.tar.gz", "has_sig": false, "md5_digest": "ac27181c13473069bad38139468dbf54", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34155, "upload_time": "2019-09-20T12:38:07", "url": "https://files.pythonhosted.org/packages/07/0f/ae01f0576fd28c61ce4874f2758a959c2c220a8ca62691f504f4aa3ebc70/sqisp-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "4211fe26cd40cb93613510d368fe81d7", "sha256": "adaef8d4167b1cedaa102f53bc1d182160f751d557eed65510967c68b5fa8ded" }, "downloads": -1, "filename": "sqisp-0.4.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4211fe26cd40cb93613510d368fe81d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 29264, "upload_time": "2019-09-21T19:08:59", "url": "https://files.pythonhosted.org/packages/84/2a/ed5097dc90857cee15333a7b0fd514cbb4b57c35c55c84149a1cf36a48c1/sqisp-0.4.5-py2.py3-none-any.whl" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "a45dcc9f04c58724d07cf8a77c6d2fce", "sha256": "454ef567638982afe589339c02fa016178cdb0954bc9eecd95512f1713dfa0a6" }, "downloads": -1, "filename": "sqisp-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a45dcc9f04c58724d07cf8a77c6d2fce", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 29393, "upload_time": "2019-09-21T20:06:17", "url": "https://files.pythonhosted.org/packages/ad/b3/a5d5b5b41b0170f3c937ddfd23011f1682dab120a7d04529e474b76eb56c/sqisp-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e6f097b3691da7556012f1301be3eeb", "sha256": "0d754bb100819c51a8fc65d6d74b659a289d4536fba27dabf280d3b849e4f737" }, "downloads": -1, "filename": "sqisp-0.5.0.tar.gz", "has_sig": false, "md5_digest": "7e6f097b3691da7556012f1301be3eeb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34364, "upload_time": "2019-09-21T20:06:18", "url": "https://files.pythonhosted.org/packages/1f/0e/9c69eb6a22c5e7ae235a80f1dbf0707538c144ebc8432afa56388532b24f/sqisp-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "6ad8f98ddd57526dae16223191a096c6", "sha256": "417947e4d593c6ceb6f87563fee778ff1a3ac24834785085fa2e48d61910344a" }, "downloads": -1, "filename": "sqisp-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6ad8f98ddd57526dae16223191a096c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 29672, "upload_time": "2019-09-21T20:39:36", "url": "https://files.pythonhosted.org/packages/02/42/fab8db8a7c09711a19710b8afd1a93a63e0ab7eba58c0ee70acc4459474d/sqisp-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "48171f0b2a074bfed649a36f0c479238", "sha256": "4b4266f24b4b53a583ff2a04a1ba81f68b313a0a6ac5530b991469ff62c2eb23" }, "downloads": -1, "filename": "sqisp-0.6.0.tar.gz", "has_sig": false, "md5_digest": "48171f0b2a074bfed649a36f0c479238", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34925, "upload_time": "2019-09-21T20:39:38", "url": "https://files.pythonhosted.org/packages/fc/19/9f143e132b0b3b11a710f6f8c943dd34cde7554b436eed8d61632c1ed815/sqisp-0.6.0.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "324e87c4e203f186e3c4bc866d1c8b3c", "sha256": "e8dbf028fa7be4d46a2a7de31172018a2f9172468d322313656fafb22ac0ed1c" }, "downloads": -1, "filename": "sqisp-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "324e87c4e203f186e3c4bc866d1c8b3c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 29686, "upload_time": "2019-09-23T22:19:09", "url": "https://files.pythonhosted.org/packages/1c/bd/ea74def39638dbc39c8ce760ed33e0b07258f2b60e23f50d9e68aa827198/sqisp-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4f70995b3fe5284f875a73fa4d8ffd1", "sha256": "4db49351e9dcf0b7a1a66be84ee3bf9fe0f45bf9b75dae9e73384c0f7d731093" }, "downloads": -1, "filename": "sqisp-0.6.4.tar.gz", "has_sig": false, "md5_digest": "d4f70995b3fe5284f875a73fa4d8ffd1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34945, "upload_time": "2019-09-23T22:19:12", "url": "https://files.pythonhosted.org/packages/f2/ca/2929126d12a72d578c7f873348f76393b43b620405f2aa8e419201a0854a/sqisp-0.6.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "324e87c4e203f186e3c4bc866d1c8b3c", "sha256": "e8dbf028fa7be4d46a2a7de31172018a2f9172468d322313656fafb22ac0ed1c" }, "downloads": -1, "filename": "sqisp-0.6.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "324e87c4e203f186e3c4bc866d1c8b3c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 29686, "upload_time": "2019-09-23T22:19:09", "url": "https://files.pythonhosted.org/packages/1c/bd/ea74def39638dbc39c8ce760ed33e0b07258f2b60e23f50d9e68aa827198/sqisp-0.6.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4f70995b3fe5284f875a73fa4d8ffd1", "sha256": "4db49351e9dcf0b7a1a66be84ee3bf9fe0f45bf9b75dae9e73384c0f7d731093" }, "downloads": -1, "filename": "sqisp-0.6.4.tar.gz", "has_sig": false, "md5_digest": "d4f70995b3fe5284f875a73fa4d8ffd1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 34945, "upload_time": "2019-09-23T22:19:12", "url": "https://files.pythonhosted.org/packages/f2/ca/2929126d12a72d578c7f873348f76393b43b620405f2aa8e419201a0854a/sqisp-0.6.4.tar.gz" } ] }