Raku Land

DSL::Shared

zef:antononcube

Raku DSL::Shared

This repository provides a Raku package for shared utilities and (grammar) roles for family of packages that translate Domains Specific Languages (DSLs) into executable programming languages code. (Also natural languages.)

Preliminary versions of the code in this repository can be found in the GitHub repository [AAr1].

The initial, "core" packages that use "DSL::Shared" are:

The package "DSL::Bulgarian", [AAp1], extends the English grammar based DSLs by providing Bulgarian language tokens that correspond to the English tokens.


Installation

Zef ecosystem:

zef install DSL::Shared

GitHub :

zef install https://github.com/antononcube/Raku-DSL-Shared.git

Roles to share

One of the main reason for making this package is to encapsulate and easily share grammar roles for making DSL translators.

Here is a list:


Utilities to share

The package provides several different types of utilities for making DSL translators.

Remark: Initial versions of the Finite State Machine classes were part of this package. Those classes were moved to "DSL::FiniteStateMachines", [AAp9]. Those initial versions are kept here since they are referenced in presentations.


Examples

The examples in the directory ./examples show the different roles provided by the package and how they can be utilized in different DSL commands.


References

Packages

[AAp1] Anton Antonov, DSL::Bulgarian Raku package, (2022), GitHub/antononcube.

[AAp2] Anton Antonov, Lingua::NumericWordForms, Raku project (2021-2022), GitHub/antononcube.

[AAp3] Anton Antonov, Grammar::TokenProcessing, Raku project (2022), GitHub/antononcube.

[AAp4] Anton Antonov, DSL::English::ClassificationWorkflows, Raku package, (2018-2022), GitHub/antononcube.

[AAp5] Anton Antonov, DSL::English::DataQueryWorkflows, Raku package, (2020-2022), GitHub/antononcube.

[AAp6] Anton Antonov, DSL::English::LatentSemanticAnalysisWorkflows, Raku package, (2018-2022), GitHub/antononcube.

[AAp7] Anton Antonov, DSL::English::QuantileRegressionWorkflows, Raku package, (2018-2022), GitHub/antononcube.

[AAp8] Anton Antonov, DSL::English::RecommenderWorkflows, Raku package, (2018-2022), GitHub/antononcube.

[AAp9] Anton Antonov, DSL::FiniteStateMachines, Raku package, (2021-2022), GitHub/antononcube.

[NLp1] Nick Logan, Text::Levenshtein::Damerau, Raku project (2016), GitHub/ugexe.

Repositories

[AAr1] Anton Antonov, Conversational Agents at GitHub, (2018-2022), GitHub/antononcube.