eolang
Command-line toolkit for parsing, compiling, transpiling, optimizing, linking, dataizing, and running EOLANG programs
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 9 committers (11.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Command-line toolkit for parsing, compiling, transpiling, optimizing, linking, dataizing, and running EOLANG programs
Basic Info
- Host: GitHub
- Owner: objectionary
- License: mit
- Language: JavaScript
- Default Branch: master
- Homepage: https://www.npmjs.com/package/eolang
- Size: 1.55 MB
Statistics
- Stars: 28
- Watchers: 5
- Forks: 35
- Open Issues: 36
- Releases: 56
Topics
Metadata Files
README.md
EOLANG Command Line Tool-Kit
This is a command-line tool-kit for EO programming languages, allowing you to compile EO programs, test, dataize, and check for errors.
First, you install npm and Java SE.
Then, you install eolang package, using npm:
bash
npm install -g eolang@0.32.1
You can also use Homebrew:
bash
brew tap objectionary/eoc https://github.com/objectionary/eoc
brew install objectionary/eoc/eolang@0.32.1
Then, you write a simple EO program in hello.eo file
in the current directory:
```eo
My first object in EO!
[args] > hello QQ.io.stdout > @ "Hello, world!\n" ```
Then, you run it:
bash
eoc --easy dataize hello
That's it.
Commands
You can also do many other things with eoc commands
(the flow is explained in this blog post):
registerfinds necessary.eofiles and registers them in a JSON catalogassembleparses.eofiles into.xmir, optimizes them, and pulls foreign EO objectstranspileconverts.xmirfiles to the target programming language (Java by default)compileconverts target language sources (e.g.,.java) to binaries (e.g.,.class)linkputs all binaries together into a single executable binarydataizedataizes a single object from the executable binarytestdataizes all visible unit testslintfinds style-related errors in EO and XMIR filesjeo:disassembleconverts Java.classfiles to.xmir(via jeo)jeo:assembleconverts.xmirfiles to Java.classfiles (via jeo)
There are also commands that help manipulate with XMIR and EO sources (the list is not completed, while some of them are not implemented as of yet):
auditinspects all required packages and reports their statusforeigninspects all objects found in the program after theassemblestepsodggenerates.sodgfrom.xmir, further rederable as XML or Dotprintgenerates.eofiles from.xmirfilesgenerate_commentsgenerates.jsonfiles with LLM-generated documentation for.eostructuresdocsgenerates HTML documentation from.xmirfileslatexgenerates.texfiles from.eosourcesfmtformats.eofiles in the source directory- ~~
translateconverts Java/C++/Python/etc. program to EO program~~ - ~~
demuremovescageandmemoryobjects~~ - ~~
dejumpremovesgotoobjects~~ - ~~
infersuggests object names where it's possible to infer them~~ - ~~
flattenmoves inner objects to upper level~~
This command line toolkit simply integrates other tools available in the @objectionary GitHub organization.
How to Contribute
First, run npm install. Then, run grunt. All tests should pass.
If you want to run a single test:
bash
npm test -- test/test_mvnw.js
Make your changes and then make a pull request.
Owner
- Name: Objectionary
- Login: objectionary
- Kind: organization
- Email: github@objectionary.com
- Website: https://www.objectionary.com
- Repositories: 51
- Profile: https://github.com/objectionary
EO Programming Language, Its Objects, and 𝜑-calculus
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Bugayenko" given-names: "Yegor" orcid: "https://orcid.org/0000-0001-6370-0678" title: "EOLANG and 𝜑-calculus" version: 0.23.0 doi: 10.48550/arXiv.2111.13384 date-released: 2022-05-09 url: "https://github.com/objectionary/eoc"
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 228
- Total Committers: 9
- Avg Commits per committer: 25.333
- Development Distribution Score (DDS): 0.408
Top Committers
| Name | Commits | |
|---|---|---|
| Yegor Bugayenko | y****6@g****m | 135 |
| renovate[bot] | 2****]@u****m | 49 |
| volodya-lombrozo | v****o@y****u | 19 |
| kerelape | 9****e@u****m | 7 |
| maximtrunnikov | m****v@m****u | 6 |
| mximp | m****v@g****m | 4 |
| volodya-lombrozo | v****o@g****m | 3 |
| maxonfjvipon | m****v@g****m | 3 |
| ivan-egorov42 | e****m@p****u | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 129
- Total pull requests: 710
- Average time to close issues: about 1 month
- Average time to close pull requests: 8 days
- Total issue authors: 32
- Total pull request authors: 28
- Average comments per issue: 2.53
- Average comments per pull request: 2.09
- Merged pull requests: 470
- Bot issues: 6
- Bot pull requests: 594
Past Year
- Issues: 59
- Pull requests: 427
- Average time to close issues: 15 days
- Average time to close pull requests: 9 days
- Issue authors: 16
- Pull request authors: 22
- Average comments per issue: 1.46
- Average comments per pull request: 1.7
- Merged pull requests: 245
- Bot issues: 4
- Bot pull requests: 345
Top Authors
Issue Authors
- yegor256 (57)
- volodya-lombrozo (8)
- maxonfjvipon (6)
- deemp (5)
- ErnestMatskevich (5)
- Dirakon (4)
- ivan-egorov42 (3)
- trapvpack (3)
- SenjeyB (3)
- renovate[bot] (3)
- github-actions[bot] (3)
- qlexl (2)
- 0pdd (2)
- MaxFunProger (2)
- kerelape (2)
Pull Request Authors
- renovate[bot] (461)
- github-actions[bot] (133)
- yegor256 (25)
- maxonfjvipon (14)
- Dirakon (12)
- SenjeyB (8)
- ErnestMatskevich (6)
- volodya-lombrozo (5)
- trapvpack (5)
- vladislav-yevtushenko (4)
- netimaaa (4)
- HaidarJbeily7 (4)
- aequor-cntrl (3)
- slry (2)
- mximp (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 264 last-month
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 59
- Total maintainers: 1
npmjs.org: eolang
A collection of command line tools for EOLANG: compiling, parsing, transpiling to other languages, optimizing, and analyzing
- Homepage: https://github.com/objectionary/eoc
- License: MIT
-
Latest release: 0.32.1
published 4 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-java v3 composite
- actions/setup-node v3 composite
- actions/checkout v3 composite
- actions/setup-java v3 composite
- actions/setup-node v3 composite
- actions/checkout v3 composite
- g4s8/pdd-action master composite
- actions/checkout v3 composite
- g4s8/xcop-action master composite
- org.eolang:eo-runtime 0.0.0
- org.junit.jupiter:junit-jupiter-api 5.10.0
- org.junit.jupiter:junit-jupiter-engine 5.10.0
- eslint 8.51.0 development
- eslint-config-google 0.14.0 development
- grunt 1.6.1 development
- grunt-contrib-clean 2.0.1 development
- grunt-eslint 24.3.0 development
- grunt-mocha-cli ^7.0.0 development
- mocha 10.2.0 development
- colors 1.4.0
- commander 11.1.0
- fast-xml-parser 4.3.2
- node 21.0.0
- sync-request 6.1.0
- xmlhttprequest 1.8.0