You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<imgsrc="./assets/logo-bdsl-interpreter-dark.png"style="zoom:90%;"alt="logo of bdsl interpreter"/>
2
2
3
-
> Latest Version: **2.2.0**
3
+
> Latest Version: **2.2.1**
4
4
5
5
- BDSL user guide: https://nbn-resolving.org/urn:nbn:de:bsz:14-qucosa2-752170
6
-
6
+
- For Users: See [Getting Started](#standalone-tool) for how to install and run the standalone interpreter.
7
+
- For Developers: See [Development](#development) if you want to build locally.
7
8
---
8
9
9
10
# BDSL Interpreter Framework
10
11
11
-
The BDSL Interpreter is a multi-module Maven project
12
-
designed to provide an extensible framework for interpreting BDSL scripts.
13
-
Each module in the project focuses on a specific set of features,
14
-
enabling a modular and maintainable architecture for developing and executing BDSL-based applications.
12
+
The BDSL Interpreter Framework provides an extensible framework for basic BDSL language engineering (e.g., interpreting custom BDSL scripts).
13
+
The framework is organized as a multi-module Maven project.
14
+
Each module in this project focuses on a specific set of features to enable the development of BDSL-based applications.
15
+
15
16
Below is an overview of the project and its modules:
16
17
17
18
**Project Modules:**
18
19
-**bdsl-interpreter-parent:** Acts as the parent module for the entire project, managing shared configurations, dependencies, and build settings for all submodules.
19
-
-**bdsl-interpreter-core:**Contains the core features and foundational components of the BDSL interpreter. This module defines the architectural framework and fundamental mechanisms required for interpreting BDSL language constructs.
20
-
-**bdsl-interpreter-cli:**Implements a command-line interface for interacting with the BDSL interpreter. This module enables users to execute BDSL models and interact with the interpreter from the terminal.
20
+
-**bdsl-interpreter-cli:**Implements a command-line tool for interacting with the functionality of the BDSL Interpreter Framework.
21
+
-**bdsl-interpreter-core:**Contains the core components of the BDSL interpreter. This module defines the parsing framework (visitor design pattern, extension methods) required for general BDSL language interpretation. It depends on the BDSL Grammar and evaluates the individual language statements.
21
22
-**bdsl-execution-common:** Provides the common execution environment and reusable strategies for the BDSL interpreter. This module encapsulates shared execution logic, environment management, and strategy definitions.
22
23
23
-
The framework and grammar can be extended and facilitate "bigraphical language engineering."
To build the project and all its individual components:
77
94
95
+
### Building
96
+
78
97
```shell
79
-
$ mvn clean install -DskipTests
98
+
$ mvn clean package -DskipTests
80
99
```
81
100
82
-
To build the runnable BDSL CLI interpreter tool:
101
+
To build the standalone BDSL interpreter tool:
83
102
```bash
84
-
$ cd ./bdsl-interpreter-cli
85
-
$ mvn package -Pbuild-cli
103
+
$ mvn clean package -DskipTests -Pbuild-cli
86
104
```
87
-
After executing the command above, the command-line interpreter tool for BDSL is then available under `./bdsl-interpreter-cli/target/` from the root directory of this project.
88
-
See also the `README.md` of the respective submodules for more details on how to use the whole BDSL interpreter framework.
105
+
106
+
After executing the command above, the tool is available under `./out/` from the root directory of this project.
89
107
90
108
### Dependencies
91
109
@@ -94,6 +112,8 @@ The grammar, parser and other DSL-related things come from [BDSL Grammar](https:
94
112
95
113
This BDSL interpreter project uses both dependencies to implement the fundamental interpretation logic and the command-line tool of the interpreter.
96
114
115
+
Refer to the `README.md` of the respective submodules for more details on how to use the whole BDSL interpreter Framework.
116
+
97
117
### Deployment
98
118
99
119
To deploy the BDSL Interpreter Framework to the Central Repository:
@@ -38,10 +38,10 @@ It has the name `bdsl-${version}.jar`.
38
38
39
39
## Launcher Script
40
40
41
-
Inside the `./etc/` from the root of the parent project, the install script `ìnstall.sh` is contained.
41
+
Inside the `./assets/` from the root of the parent project, the install script `ìnstall.sh` is contained.
42
42
After this project has been successfully built, the script can be executed to install the BDSL interpreter on the system, so it can be run inside the terminal by just calling `bdsl <options...>`.
43
43
44
-
> *Note:* The install script has to run with `sudo`. The install script needs to be executed inside the `./etc/` directory.
44
+
> *Note:* The install script has to run with `sudo`. The install script needs to be executed inside the `./assets/` directory.
45
45
46
46
To remove the files that the install script creates, delete the following files and folders:
0 commit comments