Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language Overview in Readme #584

Merged
merged 6 commits into from
Aug 17, 2022
Merged

Language Overview in Readme #584

merged 6 commits into from
Aug 17, 2022

Conversation

JanWittler
Copy link
Contributor

@JanWittler JanWittler commented Aug 10, 2022

This PR adds an overview of the supported programming languages, meta models, and text (I did not find a proper generic term, thus using language) with their supported versions and the CLI argument name. Additionally, the used parser and the state of the language module are listed.

@JanWittler JanWittler added enhancement Issue/PR that involves features, improvements and other changes minor Minor issue/feature/contribution/change labels Aug 10, 2022
@JanWittler JanWittler requested a review from a team August 10, 2022 19:44
@tsaglam
Copy link
Member

tsaglam commented Aug 11, 2022

Great idea!

@JanWittler
Copy link
Contributor Author

Seems this suggestion is accepted. I did not find any documentation on the supported C++ and Scheme version (and Python only 3 but not which minor) which is why there is currently a question mark. I have some experience with C++ so might be able to detect the supported version but for Scheme and Python I am completely unexperienced. So help wanted on detecting the correct version for these languages.

@tsaglam
Copy link
Member

tsaglam commented Aug 12, 2022

For Python it's something like 3.4 or 3.5, maybe I can find it again.
EDIT: It is 3.6, the hint is hidden in #34, and its date matches as well.

@tsaglam
Copy link
Member

tsaglam commented Aug 12, 2022

A was also thinking of adding a state label for each frontend:

  • established or mature (e.g. Java)
  • beta (e.g. EMF or C#)
  • legacy or outdated (e.g. C++ or Text)
  • unknown (Scheme)

Not sure what the ideal set of labels is. @jplag/maintainer any ideas?

EDIT: The idea would be that JPlag produces a warning for legacy and unknown frontends when using them.

@JanWittler JanWittler changed the title Proposal Language Overview in Readme Language Overview in Readme Aug 16, 2022
@tsaglam
Copy link
Member

tsaglam commented Aug 16, 2022

Current state:

Language Version CLI Argument Name state parser
Java 17 java mature JavaC
C++ 11 cpp legacy JavaCC
C# 8 csharp beta ANTLR 4
Go 1.17 golang beta ANTLR 4
Kotlin 1.3 kotlin beta ANTLR 4
Python 3.6 python3 legacy ANTLR 4
R 3.5.0 rlang beta ANTLR 4
Scala 2.13.8 scala beta Scalameta
Scheme ? scheme unknown JavaCC
EMF Metamodel 2.25.0 emf-metamodel alpha EMF
EMF Metamodel (dynamic) 2.25.0 emf-metamodel-dynamic alpha EMF
Text (naive) - text legacy ANTLR

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@tsaglam tsaglam merged commit f8df6d8 into master Aug 17, 2022
@tsaglam tsaglam deleted the readme-languages-overview branch August 17, 2022 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Issue/PR that involves features, improvements and other changes minor Minor issue/feature/contribution/change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants