eolang 0.30.2 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Formula/eolang.rb +25 -0
- package/README.md +11 -5
- package/eo-version.txt +1 -1
- package/home-tag.txt +1 -1
- package/mvnw/.mvn/wrapper/maven-wrapper.properties +1 -1
- package/mvnw/dependency-reduced-pom.xml +2 -2
- package/mvnw/pom.xml +4 -4
- package/package.json +3 -3
- package/patches/grunt-mocha-cli+7.0.0.patch +2 -2
- package/scripts/postinstall.js +1 -1
- package/src/commands/jeo/assemble.js +2 -4
- package/src/eoc.js +82 -131
- package/src/version.js +2 -2
- package/src/commands/phi.js +0 -37
- package/src/commands/unphi.js +0 -37
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#
|
|
2
|
+
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
|
|
3
|
+
# SPDX-License-Identifier: MIT
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
require "language/node"
|
|
7
|
+
class Eolang < Formula
|
|
8
|
+
desc "Command-line Tool-Kit"
|
|
9
|
+
homepage "https://github.com/objectionary/eoc"
|
|
10
|
+
url "https://github.com/objectionary/eoc/archive/refs/tags/0.31.0.tar.gz"
|
|
11
|
+
version "0.31.0"
|
|
12
|
+
sha256 "d9238aae0d3911a3bc13c35a9351ba600ee4952f9cc36227242b5fa113ea4ebf"
|
|
13
|
+
license "MIT"
|
|
14
|
+
|
|
15
|
+
depends_on "node"
|
|
16
|
+
|
|
17
|
+
def install
|
|
18
|
+
system "npm", "install", *std_npm_args
|
|
19
|
+
bin.install_symlink Dir["#{libexec}/bin/*"]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
test do
|
|
23
|
+
system "#{bin}/eoc", "--version"
|
|
24
|
+
end
|
|
25
|
+
end
|
package/README.md
CHANGED
|
@@ -15,10 +15,17 @@ and check for errors.
|
|
|
15
15
|
|
|
16
16
|
First, you install [npm][npm-install] and [Java SE][java-se].
|
|
17
17
|
|
|
18
|
-
Then, you install [eolang][npm] package:
|
|
18
|
+
Then, you install [eolang][npm] package, using [npm][npm-install]:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
npm install -g eolang@0.
|
|
21
|
+
npm install -g eolang@0.31.0
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
You can also use [Homebrew] (on macOS):
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
brew tap objectionary/eoc https://github.com/objectionary/eoc
|
|
28
|
+
brew install objectionary/eoc/eolang
|
|
22
29
|
```
|
|
23
30
|
|
|
24
31
|
Then, you write a simple [EO](https://www.eolang.org) program in `hello.eo` file
|
|
@@ -66,9 +73,7 @@ There are also commands that help manipulate with XMIR and EO sources
|
|
|
66
73
|
* `audit` inspects all required packages and reports their status
|
|
67
74
|
* `foreign` inspects all objects found in the program after the `assemble` step
|
|
68
75
|
* `sodg` generates `.sodg` from `.xmir`, further rederable as XML or [Dot][dot]
|
|
69
|
-
* `
|
|
70
|
-
* `unphi` generates `.xmir` files from `.phi` files
|
|
71
|
-
* `print` generates `.eo` files from `.phi` files
|
|
76
|
+
* `print` generates `.eo` files from `.xmir` files
|
|
72
77
|
* `generate_comments` generates `.json` files with LLM-generated
|
|
73
78
|
documentation for `.eo` structures
|
|
74
79
|
* `docs` generates HTML documentation from `.xmir` files
|
|
@@ -102,3 +107,4 @@ a pull request.
|
|
|
102
107
|
[npm-install]: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
|
|
103
108
|
[dot]: https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29
|
|
104
109
|
[blog]: https://www.yegor256.com/2021/10/21/objectionary.html
|
|
110
|
+
[Homebrew]: https://brew.sh/
|
package/eo-version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.58.2
|
package/home-tag.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.58.1
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
|
|
2
2
|
# SPDX-License-Identifier: MIT
|
|
3
3
|
|
|
4
|
-
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.
|
|
4
|
+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<plugins>
|
|
14
14
|
<plugin>
|
|
15
15
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
16
|
-
<version>3.
|
|
16
|
+
<version>3.6.1</version>
|
|
17
17
|
<executions>
|
|
18
18
|
<execution>
|
|
19
19
|
<goals>
|
|
@@ -121,6 +121,6 @@
|
|
|
121
121
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
122
122
|
<heap-size>undefined</heap-size>
|
|
123
123
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
124
|
-
<jeo.version>0.
|
|
124
|
+
<jeo.version>0.13.7</jeo.version>
|
|
125
125
|
</properties>
|
|
126
126
|
</project>
|
package/mvnw/pom.xml
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<version>0.0.0</version>
|
|
11
11
|
<packaging>jar</packaging>
|
|
12
12
|
<properties>
|
|
13
|
-
<jeo.version>0.
|
|
13
|
+
<jeo.version>0.13.7</jeo.version>
|
|
14
14
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
15
15
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
16
16
|
<eo.version>undefined</eo.version>
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
<dependency>
|
|
27
27
|
<groupId>org.junit.jupiter</groupId>
|
|
28
28
|
<artifactId>junit-jupiter-api</artifactId>
|
|
29
|
-
<version>5.13.
|
|
29
|
+
<version>5.13.4</version>
|
|
30
30
|
<scope>compile</scope>
|
|
31
31
|
</dependency>
|
|
32
32
|
<dependency>
|
|
33
33
|
<groupId>org.junit.jupiter</groupId>
|
|
34
34
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
35
|
-
<version>5.13.
|
|
35
|
+
<version>5.13.4</version>
|
|
36
36
|
<scope>compile</scope>
|
|
37
37
|
</dependency>
|
|
38
38
|
</dependencies>
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<plugins>
|
|
46
46
|
<plugin>
|
|
47
47
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
48
|
-
<version>3.
|
|
48
|
+
<version>3.6.1</version>
|
|
49
49
|
<executions>
|
|
50
50
|
<execution>
|
|
51
51
|
<goals>
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@langchain/core": "^0.3.55",
|
|
8
|
-
"@langchain/openai": "^0.
|
|
8
|
+
"@langchain/openai": "^0.6.0",
|
|
9
9
|
"colors": "^1.4.0",
|
|
10
10
|
"commander": "^12.1.0",
|
|
11
11
|
"eo2js": "^0.0.8",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"grunt-contrib-clean": "^2.0.1",
|
|
27
27
|
"grunt-eslint": "^25.0.0",
|
|
28
28
|
"grunt-mocha-cli": "^7.0.0",
|
|
29
|
-
"mocha": "^11.7.
|
|
29
|
+
"mocha": "^11.7.1",
|
|
30
30
|
"patch-package": "^8.0.0"
|
|
31
31
|
},
|
|
32
32
|
"engines": {
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"postinstall": "node scripts/postinstall.js",
|
|
58
58
|
"test": "mocha --timeout 1200000"
|
|
59
59
|
},
|
|
60
|
-
"version": "0.
|
|
60
|
+
"version": "0.32.0"
|
|
61
61
|
}
|
|
@@ -9,13 +9,13 @@ index 59f7a07..4cc7182 100644
|
|
|
9
9
|
const path = require('path')
|
|
10
10
|
const grunt = require('grunt')
|
|
11
11
|
+const os = require('os')
|
|
12
|
-
|
|
12
|
+
|
|
13
13
|
const BOOL_OPTIONS = [
|
|
14
14
|
'allow-uncaught',
|
|
15
15
|
@@ -55,6 +56,10 @@ module.exports = function(options) {
|
|
16
16
|
spawnOptions.cmd = path.dirname(spawnOptions.cmd)
|
|
17
17
|
spawnOptions.cmd += '/../.bin/mocha'
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
+ if (os.platform() === 'win32') {
|
|
20
20
|
+ spawnOptions.opts.shell = true
|
|
21
21
|
+ }
|
package/scripts/postinstall.js
CHANGED
|
@@ -14,14 +14,12 @@ const path = require('path');
|
|
|
14
14
|
*/
|
|
15
15
|
module.exports = function(opts) {
|
|
16
16
|
return mvnw(
|
|
17
|
-
['jeo:
|
|
17
|
+
['jeo:assemble']
|
|
18
18
|
.concat(flags(opts))
|
|
19
19
|
.concat(
|
|
20
20
|
[
|
|
21
21
|
`-Djeo.version=${opts.jeoVersion}`,
|
|
22
|
-
`-Djeo.
|
|
23
|
-
`-Djeo.unroll-phi.outputDir=${path.resolve(opts.target, opts.unrolled)}`,
|
|
24
|
-
`-Djeo.assemble.sourcesDir=${path.resolve(opts.target, opts.unrolled)}`,
|
|
22
|
+
`-Djeo.assemble.sourcesDir=${path.resolve(opts.target, opts.xmirs)}`,
|
|
25
23
|
`-Djeo.assemble.outputDir=${path.resolve(opts.target, opts.classes)}`,
|
|
26
24
|
]
|
|
27
25
|
),
|
package/src/eoc.js
CHANGED
|
@@ -24,11 +24,9 @@ const {program} = require('commander'),
|
|
|
24
24
|
clean: require('./commands/clean'),
|
|
25
25
|
foreign: require('./commands/foreign'),
|
|
26
26
|
parse: require('./commands/parse'),
|
|
27
|
-
phi: require('./commands/phi'),
|
|
28
27
|
print: require('./commands/print'),
|
|
29
28
|
register: require('./commands/register'),
|
|
30
29
|
sodg: require('./commands/sodg'),
|
|
31
|
-
unphi: require('./commands/unphi'),
|
|
32
30
|
lint: require('./commands/lint'),
|
|
33
31
|
docs: require('./commands/docs'),
|
|
34
32
|
generate_comments: require('./commands/generate_comments'),
|
|
@@ -136,25 +134,25 @@ program.command('register')
|
|
|
136
134
|
|
|
137
135
|
program.command('parse')
|
|
138
136
|
.description('Parse EO files into XMIR')
|
|
139
|
-
.action((str, opts) => {
|
|
137
|
+
.action(async (str, opts) => {
|
|
140
138
|
clear(str);
|
|
141
139
|
if (program.opts().alone === undefined) {
|
|
142
|
-
coms().register(program.opts())
|
|
143
|
-
|
|
140
|
+
await coms().register(program.opts());
|
|
141
|
+
await coms().parse(program.opts());
|
|
144
142
|
} else {
|
|
145
|
-
coms().parse(program.opts());
|
|
143
|
+
await coms().parse(program.opts());
|
|
146
144
|
}
|
|
147
145
|
});
|
|
148
146
|
|
|
149
147
|
program.command('assemble')
|
|
150
148
|
.description('Parse EO files into XMIR and join them with required dependencies')
|
|
151
|
-
.action((str, opts) => {
|
|
149
|
+
.action(async (str, opts) => {
|
|
152
150
|
clear(str);
|
|
153
151
|
if (program.opts().alone === undefined) {
|
|
154
|
-
coms().register(program.opts())
|
|
155
|
-
|
|
152
|
+
await coms().register(program.opts());
|
|
153
|
+
await coms().assemble(program.opts());
|
|
156
154
|
} else {
|
|
157
|
-
coms().assemble(program.opts());
|
|
155
|
+
await coms().assemble(program.opts());
|
|
158
156
|
}
|
|
159
157
|
});
|
|
160
158
|
|
|
@@ -166,58 +164,17 @@ program.command('sodg')
|
|
|
166
164
|
.option('--dot', 'Generate .sodg.dot files')
|
|
167
165
|
.option('--include <names>', 'Generate SODG for these object names (using mask)', '**')
|
|
168
166
|
.option('--exclude <names>', 'Don\'t generate SODG for these objects')
|
|
169
|
-
.action((str, opts) => {
|
|
170
|
-
clear(str);
|
|
171
|
-
if (program.opts().alone === undefined) {
|
|
172
|
-
coms().register(program.opts())
|
|
173
|
-
.then((r) => coms().assemble(program.opts()))
|
|
174
|
-
.then((r) => coms().sodg({...program.opts(), ...str}));
|
|
175
|
-
} else {
|
|
176
|
-
coms().sodg({...program.opts(), ...str});
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
program.command('phi')
|
|
181
|
-
.description('Generate PHI files from XMIR')
|
|
182
|
-
.option(
|
|
183
|
-
'--phi-input <dir>',
|
|
184
|
-
'Directory where XMIR files for translation to PHI are taken (relative to --target)',
|
|
185
|
-
'2-optimize'
|
|
186
|
-
)
|
|
187
|
-
.option(
|
|
188
|
-
'--phi-output <dir>',
|
|
189
|
-
'Directory where translated PHI files are stored (relative to --target)',
|
|
190
|
-
'phi'
|
|
191
|
-
)
|
|
192
|
-
.action((str, opts) => {
|
|
167
|
+
.action(async (str, opts) => {
|
|
193
168
|
clear(str);
|
|
194
169
|
if (program.opts().alone === undefined) {
|
|
195
|
-
coms().register(program.opts())
|
|
196
|
-
|
|
197
|
-
|
|
170
|
+
await coms().register(program.opts());
|
|
171
|
+
await coms().assemble(program.opts());
|
|
172
|
+
await coms().sodg({...program.opts(), ...str});
|
|
198
173
|
} else {
|
|
199
|
-
coms().
|
|
174
|
+
await coms().sodg({...program.opts(), ...str});
|
|
200
175
|
}
|
|
201
176
|
});
|
|
202
177
|
|
|
203
|
-
program.command('unphi')
|
|
204
|
-
.option('--tests', 'Add "+tests" meta to result XMIR files')
|
|
205
|
-
.option(
|
|
206
|
-
'--unphi-input <dir>',
|
|
207
|
-
'Directory where PHI files for translation to XMIR are taken (relative to --target)',
|
|
208
|
-
'phi'
|
|
209
|
-
)
|
|
210
|
-
.option(
|
|
211
|
-
'--unphi-output <dir>',
|
|
212
|
-
'Directory where translated XMIR files are stored (relative to --target)',
|
|
213
|
-
'unphi'
|
|
214
|
-
)
|
|
215
|
-
.description('Generate XMIR files from PHI files')
|
|
216
|
-
.action((str, opts) => {
|
|
217
|
-
clear(str);
|
|
218
|
-
coms().unphi({...program.opts(), ...str});
|
|
219
|
-
});
|
|
220
|
-
|
|
221
178
|
program.command('print')
|
|
222
179
|
.description('Generate EO files from XMIR files')
|
|
223
180
|
.option(
|
|
@@ -237,76 +194,76 @@ program.command('print')
|
|
|
237
194
|
|
|
238
195
|
program.command('lint')
|
|
239
196
|
.description('Lint XMIR files and fail if any issues inside')
|
|
240
|
-
.action((str, opts) => {
|
|
197
|
+
.action(async (str, opts) => {
|
|
241
198
|
clear(str);
|
|
242
199
|
if (program.opts().alone === undefined) {
|
|
243
|
-
coms().register(program.opts())
|
|
244
|
-
|
|
245
|
-
|
|
200
|
+
await coms().register(program.opts());
|
|
201
|
+
await coms().assemble(program.opts());
|
|
202
|
+
await coms().lint(program.opts());
|
|
246
203
|
} else {
|
|
247
|
-
coms().lint(program.opts());
|
|
204
|
+
await coms().lint(program.opts());
|
|
248
205
|
}
|
|
249
206
|
});
|
|
250
207
|
|
|
251
208
|
program.command('resolve')
|
|
252
209
|
.description('Resolve all the dependencies required for compilation')
|
|
253
|
-
.action((str, opts) => {
|
|
210
|
+
.action(async (str, opts) => {
|
|
254
211
|
clear(str);
|
|
255
212
|
if (program.opts().alone === undefined) {
|
|
256
|
-
coms().register(program.opts())
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
213
|
+
await coms().register(program.opts());
|
|
214
|
+
await coms().assemble(program.opts());
|
|
215
|
+
await coms().lint(program.opts());
|
|
216
|
+
await coms().resolve(program.opts());
|
|
260
217
|
} else {
|
|
261
|
-
coms().resolve(program.opts());
|
|
218
|
+
await coms().resolve(program.opts());
|
|
262
219
|
}
|
|
263
220
|
});
|
|
264
221
|
|
|
265
222
|
program.command('transpile')
|
|
266
223
|
.description('Convert EO files into target language')
|
|
267
|
-
.action((str, opts) => {
|
|
224
|
+
.action(async (str, opts) => {
|
|
268
225
|
clear(str);
|
|
269
226
|
if (program.opts().alone === undefined) {
|
|
270
|
-
coms().register(program.opts())
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
227
|
+
await coms().register(program.opts());
|
|
228
|
+
await coms().assemble(program.opts());
|
|
229
|
+
await coms().lint(program.opts());
|
|
230
|
+
await coms().resolve(program.opts());
|
|
231
|
+
await coms().transpile(program.opts());
|
|
275
232
|
} else {
|
|
276
|
-
coms().transpile(program.opts());
|
|
233
|
+
await coms().transpile(program.opts());
|
|
277
234
|
}
|
|
278
235
|
});
|
|
279
236
|
|
|
280
237
|
program.command('compile')
|
|
281
238
|
.description('Compile target language sources into binaries')
|
|
282
|
-
.action((str, opts) => {
|
|
239
|
+
.action(async (str, opts) => {
|
|
283
240
|
clear(str);
|
|
284
241
|
if (program.opts().alone === undefined) {
|
|
285
|
-
coms().register(program.opts())
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
242
|
+
await coms().register(program.opts());
|
|
243
|
+
await coms().assemble(program.opts());
|
|
244
|
+
await coms().lint(program.opts());
|
|
245
|
+
await coms().resolve(program.opts());
|
|
246
|
+
await coms().transpile(program.opts());
|
|
247
|
+
await coms().compile(program.opts());
|
|
291
248
|
} else {
|
|
292
|
-
coms().compile(program.opts());
|
|
249
|
+
await coms().compile(program.opts());
|
|
293
250
|
}
|
|
294
251
|
});
|
|
295
252
|
|
|
296
253
|
program.command('link')
|
|
297
254
|
.description('Link together all binaries into a single executable binary')
|
|
298
|
-
.action((str, opts) => {
|
|
255
|
+
.action(async (str, opts) => {
|
|
299
256
|
clear(str);
|
|
300
257
|
if (program.opts().alone === undefined) {
|
|
301
|
-
coms().register(program.opts())
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
258
|
+
await coms().register(program.opts());
|
|
259
|
+
await coms().assemble(program.opts());
|
|
260
|
+
await coms().lint(program.opts());
|
|
261
|
+
await coms().resolve(program.opts());
|
|
262
|
+
await coms().transpile(program.opts());
|
|
263
|
+
await coms().compile(program.opts());
|
|
264
|
+
await coms().link(program.opts());
|
|
308
265
|
} else {
|
|
309
|
-
coms().link(program.opts());
|
|
266
|
+
await coms().link(program.opts());
|
|
310
267
|
}
|
|
311
268
|
});
|
|
312
269
|
|
|
@@ -314,21 +271,21 @@ program.command('dataize')
|
|
|
314
271
|
.description('Run the single executable binary and dataize an object')
|
|
315
272
|
.option('--stack <size>', 'Set stack size for the virtual machine', '64M')
|
|
316
273
|
.option('--heap <size>', 'Set the heap size for the VM', '256M')
|
|
317
|
-
.action((str, opts) => {
|
|
274
|
+
.action(async (str, opts) => {
|
|
318
275
|
clear(str);
|
|
319
276
|
if (program.opts().alone === undefined) {
|
|
320
|
-
coms().register(program.opts())
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
277
|
+
await coms().register(program.opts());
|
|
278
|
+
await coms().assemble(program.opts());
|
|
279
|
+
await coms().lint(program.opts());
|
|
280
|
+
await coms().resolve(program.opts());
|
|
281
|
+
await coms().transpile(program.opts());
|
|
282
|
+
await coms().compile(program.opts());
|
|
283
|
+
await coms().link(program.opts());
|
|
284
|
+
await coms().dataize(
|
|
285
|
+
program.args[1], program.args.slice(2), {...program.opts(), ...str}
|
|
286
|
+
);
|
|
330
287
|
} else {
|
|
331
|
-
coms().dataize(
|
|
288
|
+
await coms().dataize(
|
|
332
289
|
program.args[1], program.args.slice(2), {...program.opts(), ...str}
|
|
333
290
|
);
|
|
334
291
|
}
|
|
@@ -338,19 +295,19 @@ program.command('test')
|
|
|
338
295
|
.description('Run all visible unit tests')
|
|
339
296
|
.option('--stack <size>', 'Set stack size for the virtual machine', '64M')
|
|
340
297
|
.option('--heap <size>', 'Set the heap size for the VM', '256M')
|
|
341
|
-
.action((str, opts) => {
|
|
298
|
+
.action(async (str, opts) => {
|
|
342
299
|
clear(str);
|
|
343
300
|
if (program.opts().alone === undefined) {
|
|
344
|
-
coms().register(program.opts())
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
301
|
+
await coms().register(program.opts());
|
|
302
|
+
await coms().assemble(program.opts());
|
|
303
|
+
await coms().lint(program.opts());
|
|
304
|
+
await coms().resolve(program.opts());
|
|
305
|
+
await coms().transpile(program.opts());
|
|
306
|
+
await coms().compile(program.opts());
|
|
307
|
+
await coms().link(program.opts());
|
|
308
|
+
await coms().test({...program.opts(), ...str});
|
|
352
309
|
} else {
|
|
353
|
-
coms().test({...program.opts(), ...str});
|
|
310
|
+
await coms().test({...program.opts(), ...str});
|
|
354
311
|
}
|
|
355
312
|
});
|
|
356
313
|
|
|
@@ -410,11 +367,6 @@ program.command('jeo:assemble')
|
|
|
410
367
|
'Directory with .xmir files (relative to --target)',
|
|
411
368
|
'xmir'
|
|
412
369
|
)
|
|
413
|
-
.option(
|
|
414
|
-
'--unrolled <dir>',
|
|
415
|
-
'Directory with unrolled .xmir files (relative to --target)',
|
|
416
|
-
'unrolled'
|
|
417
|
-
)
|
|
418
370
|
.option(
|
|
419
371
|
'--classes <dir>',
|
|
420
372
|
'Directory with .class files (relative to --target)',
|
|
@@ -426,25 +378,24 @@ program.command('jeo:assemble')
|
|
|
426
378
|
|
|
427
379
|
program.command('latex')
|
|
428
380
|
.description('Generate LaTeX files from EO sources')
|
|
429
|
-
.action((str, opts) => {
|
|
381
|
+
.action(async (str, opts) => {
|
|
430
382
|
clear(str);
|
|
431
|
-
coms().register(program.opts())
|
|
432
|
-
|
|
433
|
-
|
|
383
|
+
await coms().register(program.opts());
|
|
384
|
+
await coms().parse(program.opts());
|
|
385
|
+
await coms().latex(program.opts());
|
|
434
386
|
});
|
|
435
387
|
|
|
436
388
|
program.command('fmt')
|
|
437
389
|
.description('Format EO files in the source directory')
|
|
438
|
-
.action((str, opts) => {
|
|
390
|
+
.action(async (str, opts) => {
|
|
439
391
|
clear(str);
|
|
440
|
-
coms().register(program.opts())
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
}));
|
|
392
|
+
await coms().register(program.opts());
|
|
393
|
+
await coms().parse(program.opts());
|
|
394
|
+
await coms().print({
|
|
395
|
+
printInput: '1-parse',
|
|
396
|
+
printOutput: program.opts().sources,
|
|
397
|
+
...program.opts()
|
|
398
|
+
});
|
|
448
399
|
});
|
|
449
400
|
|
|
450
401
|
try {
|
package/src/version.js
CHANGED
package/src/commands/phi.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
|
|
3
|
-
* SPDX-License-Identifier: MIT
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
const rel = require('relative');
|
|
7
|
-
const path = require('path');
|
|
8
|
-
const {gte} = require('../demand');
|
|
9
|
-
const {mvnw, flags} = require('../mvnw');
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Command to convert .XMIR files into .PHI files.
|
|
13
|
-
* @param {Object} opts - All options
|
|
14
|
-
* @return {Promise} of assemble task
|
|
15
|
-
*/
|
|
16
|
-
module.exports = function(opts) {
|
|
17
|
-
gte('EO parser', opts.parser, '0.35.2');
|
|
18
|
-
const target = path.resolve(opts.target),
|
|
19
|
-
input = path.resolve(opts.target, opts.phiInput);
|
|
20
|
-
console.debug('Reading .XMIR files from %s', rel(input));
|
|
21
|
-
const output = path.resolve(opts.target, opts.phiOutput);
|
|
22
|
-
console.debug('Writing .PHI files to %s', rel(output));
|
|
23
|
-
return mvnw(
|
|
24
|
-
['eo:xmir-to-phi']
|
|
25
|
-
.concat(flags(opts))
|
|
26
|
-
.concat(
|
|
27
|
-
[
|
|
28
|
-
`-Deo.phiInputDir=${input}`,
|
|
29
|
-
`-Deo.phiOutputDir=${output}`,
|
|
30
|
-
]
|
|
31
|
-
),
|
|
32
|
-
opts.target, opts.batch
|
|
33
|
-
).then((r) => {
|
|
34
|
-
console.info('XMIR files converted into PHI files at %s', rel(target));
|
|
35
|
-
return r;
|
|
36
|
-
});
|
|
37
|
-
};
|
package/src/commands/unphi.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* SPDX-FileCopyrightText: Copyright (c) 2022-2025 Objectionary.com
|
|
3
|
-
* SPDX-License-Identifier: MIT
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
const rel = require('relative');
|
|
7
|
-
const path = require('path');
|
|
8
|
-
const {mvnw, flags} = require('../mvnw');
|
|
9
|
-
const {gte} = require('../demand');
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Command to convert .PHI files into .XMIR files.
|
|
13
|
-
* @param {Object} opts - All options
|
|
14
|
-
* @return {Promise} of assemble task
|
|
15
|
-
*/
|
|
16
|
-
module.exports = function(opts) {
|
|
17
|
-
gte('EO parser', opts.parser, '0.35.2');
|
|
18
|
-
const input = path.resolve(opts.target, opts.unphiInput);
|
|
19
|
-
console.debug('Reading .PHI files from %s', rel(input));
|
|
20
|
-
const output = path.resolve(opts.target, opts.unphiOutput);
|
|
21
|
-
console.debug('Writing .XMIR files to %s', rel(output));
|
|
22
|
-
return mvnw(
|
|
23
|
-
['eo:phi-to-xmir']
|
|
24
|
-
.concat(flags(opts))
|
|
25
|
-
.concat(
|
|
26
|
-
[
|
|
27
|
-
`-Deo.unphiInputDir=${input}`,
|
|
28
|
-
`-Deo.unphiOutputDir=${output}`,
|
|
29
|
-
opts.tests ? '-Deo.unphiMetas=+tests' : ''
|
|
30
|
-
]
|
|
31
|
-
),
|
|
32
|
-
opts.target, opts.batch
|
|
33
|
-
).then((r) => {
|
|
34
|
-
console.info('PHI files converted into XMIR files at %s', rel(output));
|
|
35
|
-
return r;
|
|
36
|
-
});
|
|
37
|
-
};
|