{"id":23029659,"url":"https://github.com/antononcube/raku-dsl-translators","last_synced_at":"2025-04-02T20:25:36.917Z","repository":{"id":71383714,"uuid":"301794929","full_name":"antononcube/Raku-DSL-Translators","owner":"antononcube","description":"Raku package for comprehensive multi-DSL translations.","archived":false,"fork":false,"pushed_at":"2024-08-09T01:54:30.000Z","size":271,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-08T11:13:06.778Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antononcube.png","metadata":{"files":{"readme":"README-work.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-10-06T16:52:14.000Z","updated_at":"2024-08-09T01:54:34.000Z","dependencies_parsed_at":"2024-08-09T02:53:36.211Z","dependency_job_id":"b82fda9e-3d6c-4086-941f-019ca62cacd4","html_url":"https://github.com/antononcube/Raku-DSL-Translators","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/antononcube%2FRaku-DSL-Translators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Translators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Translators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antononcube%2FRaku-DSL-Translators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antononcube","download_url":"https://codeload.github.com/antononcube/Raku-DSL-Translators/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246886470,"owners_count":20849867,"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":[],"created_at":"2024-12-15T14:16:36.389Z","updated_at":"2025-04-02T20:25:36.895Z","avatar_url":"https://github.com/antononcube.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Comprehensive Translation\n\n[![License: Artistic-2.0](https://img.shields.io/badge/License-Artistic%202.0-0298c3.svg)](https://opensource.org/licenses/Artistic-2.0)\n\nThis Raku package provides comprehensive multi-DSL translations.\n\n-------\n\n## Installation\n\nTo install \n`DSL::Translators` \ncertain DSL Raku modules have to be installed.\n\nSee the installation code in the resource file [\"zsh-nuke-and-install.sh\"](./resources/zsh-nuke-and-install.sh). \n\n(The modules listed above are under development, that is why the installation commands have `--force-test`.)\n\n-------\n\n## Usage\n\nHere we load the package:\n\n```perl6\nuse DSL::Translators;\n```\n\nHere is an example that shows:\n\n- Automatic determination of the DSL grammar\n\n- JSON format of the result\n\n```perl6\nToDSLCode('\n    use dfStarWars;\n    select the columns name, species, mass and height;\n    cross tabulate species over mass', \n        format =\u003e 'JSON');\n```\n\nIn the example above the function `ToDSLCode` figured out that the sequence of commands (separated by semicolon)\nspecifies a \n[data transformation workflow](https://github.com/antononcube/Raku-DSL-English-DataQueryWorkflows). \nSee [AAr2].\n\nHere is an example using Bulgarian data transformation spec that explicitly specifies:\n\n- DSL parser to use (with the first command)\n- Language (Bulgarian)\n- Default targets spec that is usually a programming language name (\"Python\") \n\n```perl6\nToDSLCode('\n    DSL module DataQueryWorkflows;\n    използвай dfStarWars;\n    избери колоните name, species, mass и height;\n    крос табулация на species върху mass', \n        language =\u003e 'Bulgarian',\n        default-targets-spec =\u003e 'Python',\n        format =\u003e 'Code');\n```\n\nThe function `dsl-translation` is a version of `ToDSLCode` that intended to be used in \ncommand line and web interfaces. It returns a `Hash` object. Here is an example:\n\n```perl6\nmy %res = dsl-translation('\n    USER ID dd7833sa;\n    DSL MODULE DataQueryWorkflows;\n    use dfStarWars;\n    select the columns name, species, mass and height;\n    cross tabulate species over mass');\n.say for %res;\n```\n\n------\n\n## References\n\n### Videos\n\n[AAv1] Anton Antonov,\n[\"Multi-language Data-Wrangling Conversational Agent\"](https://www.youtube.com/watch?v=pQk5jwoMSxs),\n(2020),\nWolfram Technology Conference 2020.\n\n[AAv2] Anton Antonov,\n[\"Raku for Prediction](https://www.youtube.com/watch?v=frpCBjbQtnA),\n(2021),\nThe Raku Conference 2021.\n\n### Repositories\n\n[AAr1] Anton Antonov,\n[\"Raku for Prediction\" book](https://github.com/antononcube/RakuForPrediction-book),\n(2021),\n[GitHub/antononcube](https://github.com/antononcube).\n\n[AAr2] Anton Antonov,\n[DSL::English::DataQueryWorkflow Raku package](https://github.com/antononcube/Raku-DSL-English-DataQueryWorkflows),\n(2020),\n[GitHub/antononcube](https://github.com/antononcube).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fraku-dsl-translators","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantononcube%2Fraku-dsl-translators","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantononcube%2Fraku-dsl-translators/lists"}