eolang 0.22.0 → 0.23.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/README.md +13 -11
- package/eo-version.txt +1 -1
- package/home-tag.txt +1 -1
- package/mvnw/pom.xml +1 -1
- package/package.json +2 -2
- package/src/commands/jeo/assemble.js +4 -4
- package/src/commands/jeo/disassemble.js +2 -2
- package/src/eoc.js +26 -6
- package/src/version.js +2 -2
package/README.md
CHANGED
|
@@ -40,28 +40,30 @@ That's it.
|
|
|
40
40
|
You can also do many other things with `eoc` commands
|
|
41
41
|
(the flow is explained in [this blog post][blog]):
|
|
42
42
|
|
|
43
|
-
* `register` finds necessary
|
|
44
|
-
* `assemble` parses
|
|
43
|
+
* `register` finds necessary `.eo` files and registers them in a JSON catalog
|
|
44
|
+
* `assemble` parses `.eo` files into `.xmir`, optimizes them,
|
|
45
45
|
and pulls foreign EO objects
|
|
46
|
-
* `transpile` converts
|
|
47
|
-
|
|
46
|
+
* `transpile` converts `.xmir` files to the target programming
|
|
47
|
+
language (Java by default)
|
|
48
|
+
* `compile` converts target language sources (e.g., `.java`)
|
|
49
|
+
to binaries (e.g., `.class`)
|
|
48
50
|
* `link` puts all binaries together into a single executable binary
|
|
49
51
|
* `dataize` dataizes a single object from the executable binary
|
|
50
52
|
* `test` dataizes all visible unit tests
|
|
51
|
-
* `jeo:disassemble`
|
|
53
|
+
* `jeo:disassemble` converts Java `.class` files to `.xmir`
|
|
52
54
|
(via [jeo](https://github.com/objectionary/jeo-maven-plugin))
|
|
53
|
-
* `jeo:assemble`
|
|
55
|
+
* `jeo:assemble` converts `.xmir` files to Java `.class` files
|
|
54
56
|
(via [jeo](https://github.com/objectionary/jeo-maven-plugin))
|
|
55
57
|
|
|
56
58
|
There are also commands that help manipulate with XMIR and EO sources
|
|
57
59
|
(the list is not completed, while some of them are not implemented as of yet):
|
|
58
60
|
|
|
59
61
|
* `audit` inspects all required packages and reports their status
|
|
60
|
-
* `foreign` inspects all objects found in the program after `assemble` step
|
|
61
|
-
* `sodg` generates
|
|
62
|
-
* `phi` generates
|
|
63
|
-
* `unphi` generates
|
|
64
|
-
* `print` generates
|
|
62
|
+
* `foreign` inspects all objects found in the program after the `assemble` step
|
|
63
|
+
* `sodg` generates `.sodg` from `.xmir`, further rederable as XML or [Dot][dot]
|
|
64
|
+
* `phi` generates `.phi` files from `.xmir` files
|
|
65
|
+
* `unphi` generates `.xmir` files from `.phi` files
|
|
66
|
+
* `print` generates `.eo` files from `.phi` files
|
|
65
67
|
* ~~`translate` converts Java/C++/Python/etc. program to EO program~~
|
|
66
68
|
* ~~`demu` removes `cage` and `memory` objects~~
|
|
67
69
|
* ~~`dejump` removes `goto` objects~~
|
package/eo-version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.40.3
|
package/home-tag.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
55e56e3bb2bdfa3d3e8e139028115790e820f0c1
|
package/mvnw/pom.xml
CHANGED
|
@@ -29,7 +29,7 @@ SOFTWARE.
|
|
|
29
29
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
30
30
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
31
31
|
<eo.version>undefined</eo.version>
|
|
32
|
-
<jeo.version>
|
|
32
|
+
<jeo.version>0.6.12</jeo.version>
|
|
33
33
|
</properties>
|
|
34
34
|
<dependencies>
|
|
35
35
|
<dependency>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eolang",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"author": "Yegor Bugayenko <yegor256@gmail.com> (https://www.yegor256.com/)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "objectionary/eoc",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"grunt-contrib-clean": "2.0.1",
|
|
48
48
|
"grunt-eslint": "24.3.0",
|
|
49
49
|
"grunt-mocha-cli": "^7.0.0",
|
|
50
|
-
"mocha": "^10.
|
|
50
|
+
"mocha": "^10.8.0"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"test": "mocha --timeout 1200000"
|
|
@@ -38,10 +38,10 @@ module.exports = function(opts) {
|
|
|
38
38
|
.concat(
|
|
39
39
|
[
|
|
40
40
|
`-Djeo.version=${opts.jeoVersion}`,
|
|
41
|
-
`-Djeo.unroll-phi.sourcesDir=${path.resolve(opts.xmirs)}`,
|
|
42
|
-
`-Djeo.unroll-phi.outputDir=${path.resolve(opts.unrolled)}`,
|
|
43
|
-
`-Djeo.assemble.sourcesDir=${path.resolve(opts.unrolled)}`,
|
|
44
|
-
`-Djeo.assemble.outputDir=${path.resolve(opts.classes)}`,
|
|
41
|
+
`-Djeo.unroll-phi.sourcesDir=${path.resolve(opts.target, opts.xmirs)}`,
|
|
42
|
+
`-Djeo.unroll-phi.outputDir=${path.resolve(opts.target, opts.unrolled)}`,
|
|
43
|
+
`-Djeo.assemble.sourcesDir=${path.resolve(opts.target, opts.unrolled)}`,
|
|
44
|
+
`-Djeo.assemble.outputDir=${path.resolve(opts.target, opts.classes)}`,
|
|
45
45
|
]
|
|
46
46
|
),
|
|
47
47
|
opts.target, opts.batch
|
|
@@ -38,8 +38,8 @@ module.exports = function(opts) {
|
|
|
38
38
|
.concat(
|
|
39
39
|
[
|
|
40
40
|
`-Djeo.version=${opts.jeoVersion}`,
|
|
41
|
-
`-Djeo.disassemble.sourcesDir=${path.resolve(opts.classes)}`,
|
|
42
|
-
`-Djeo.disassemble.outputDir=${path.resolve(opts.xmirs)}`,
|
|
41
|
+
`-Djeo.disassemble.sourcesDir=${path.resolve(opts.target, opts.classes)}`,
|
|
42
|
+
`-Djeo.disassemble.outputDir=${path.resolve(opts.target, opts.xmirs)}`,
|
|
43
43
|
]
|
|
44
44
|
),
|
|
45
45
|
opts.target, opts.batch
|
package/src/eoc.js
CHANGED
|
@@ -210,7 +210,7 @@ program.command('phi')
|
|
|
210
210
|
.then((r) => coms().assemble(program.opts()))
|
|
211
211
|
.then((r) => coms().phi({...program.opts(), ...str}));
|
|
212
212
|
} else {
|
|
213
|
-
coms().phi(program.opts());
|
|
213
|
+
coms().phi({...program.opts(), ...str});
|
|
214
214
|
}
|
|
215
215
|
});
|
|
216
216
|
|
|
@@ -350,8 +350,16 @@ program.command('test')
|
|
|
350
350
|
program.command('jeo:disassemble')
|
|
351
351
|
.description('Disassemble .class files to .xmir files')
|
|
352
352
|
.option('--jeo-version <version>', 'Version of JEO to use', '0.6.11')
|
|
353
|
-
.option(
|
|
354
|
-
|
|
353
|
+
.option(
|
|
354
|
+
'--classes <dir>',
|
|
355
|
+
'Directory with .class files (relative to --target)',
|
|
356
|
+
'classes'
|
|
357
|
+
)
|
|
358
|
+
.option(
|
|
359
|
+
'--xmirs <dir>',
|
|
360
|
+
'Directory with .xmir files (relative to --target)',
|
|
361
|
+
'xmir'
|
|
362
|
+
)
|
|
355
363
|
.action((str, opts) => {
|
|
356
364
|
coms().jeo_disassemble({...program.opts(), ...str});
|
|
357
365
|
});
|
|
@@ -359,9 +367,21 @@ program.command('jeo:disassemble')
|
|
|
359
367
|
program.command('jeo:assemble')
|
|
360
368
|
.description('Assemble .xmir files to .class files')
|
|
361
369
|
.option('--jeo-version <version>', 'Version of JEO to use', '0.6.11')
|
|
362
|
-
.option(
|
|
363
|
-
|
|
364
|
-
|
|
370
|
+
.option(
|
|
371
|
+
'--xmirs <dir>',
|
|
372
|
+
'Directory with .xmir files (relative to --target)',
|
|
373
|
+
'xmir'
|
|
374
|
+
)
|
|
375
|
+
.option(
|
|
376
|
+
'--unrolled <dir>',
|
|
377
|
+
'Directory with unrolled .xmir files (relative to --target)',
|
|
378
|
+
'unrolled'
|
|
379
|
+
)
|
|
380
|
+
.option(
|
|
381
|
+
'--classes <dir>',
|
|
382
|
+
'Directory with .class files (relative to --target)',
|
|
383
|
+
'classes'
|
|
384
|
+
)
|
|
365
385
|
.action((str, opts) => {
|
|
366
386
|
coms().jeo_assemble({...program.opts(), ...str});
|
|
367
387
|
});
|
package/src/version.js
CHANGED