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

Add TTCN-3 testing language lexer #1337

Merged
merged 30 commits into from Nov 9, 2019
Merged

Conversation

YannGarcia
Copy link
Contributor

The name of the language
TTCN-3 testing language is standardized by ETSI. Latest TTCN-3 core language standard can be found here.
This language is used to develop conformance and interoperability test suites for variety of protocols such as Intelligent Transport System protocols, Telco's protocols... All these test suite are available on the ESTI forge.
NOTE: Please ignore Issue #1336

Implementation
The TTCN-3 testing language lexer includes 3 files (to be merged)

  1. rouge/spec/lexers/ttcn3_spec.rb
  2. rouge/lib/rouge/lexers/ttcn3.rb
  3. rouge/lib/rouge/demos/ttcn3

TTCN-3 lexer validation
This lexer was validated using rackup/ruby2.5 (see attached screenshot).
CaptureRackupTtcn3

Thanks to add this contribution to Rouge syntax highlighter.

Best regards,

Yann Garcia
Senior Software EngineerMicrosoft MCAD.net Certified

@pyrmont pyrmont self-assigned this Oct 1, 2019
@pyrmont pyrmont added the needs-review The PR needs to be reviewed label Oct 1, 2019
@YannGarcia
Copy link
Contributor Author

YannGarcia commented Oct 1, 2019

Hello,

I added missing file spec/visual/samples/ttcn3 in my forked branch.
Do I have to create a new Pull Request or is there a way to update the current one?

Thanks a lot,

Yann

@pyrmont
Copy link
Contributor

pyrmont commented Oct 1, 2019

It automatically updates when you push to your GitHub repo! GitHub magic!

@YannGarcia
Copy link
Contributor Author

Oh, cool,
I saw the green check ;)

Many thanks,

Yann

Copy link
Contributor

@pyrmont pyrmont left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry it took a bit of time to review this, @YannGarcia. Hopefully the comments make sense!

lib/rouge/demos/ttcn3 Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Outdated Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Outdated Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Show resolved Hide resolved
lib/rouge/lexers/ttcn3.rb Outdated Show resolved Hide resolved
@YannGarcia
Copy link
Contributor Author

Hello Michael,

I have an issue with the CI process and I don't understand where is it.
I tested my change using "rackup" local web server and everything looks fine.
Please may I ask you some help to fix it?

Many thanks in advance,

Yann

lib/rouge/lexers/ttcn3.rb Outdated Show resolved Hide resolved
@pyrmont pyrmont added author-action The PR has been reviewed but action by the author is needed and removed needs-review The PR needs to be reviewed labels Oct 15, 2019
@YannGarcia
Copy link
Contributor Author

YannGarcia commented Oct 15, 2019 via email

@YannGarcia
Copy link
Contributor Author

YannGarcia commented Oct 15, 2019 via email

@pyrmont
Copy link
Contributor

pyrmont commented Oct 15, 2019

@YannGarcia There are a couple of questions left outstanding in my review (you will need to visit GitHub to see them properly). Look forward to hearing from you on those points!

@pyrmont pyrmont added needs-review The PR needs to be reviewed and removed author-action The PR has been reviewed but action by the author is needed labels Oct 26, 2019
Copy link
Contributor

@pyrmont pyrmont left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've gone through and removed a lot of (what looked to me like) unnecessary states and rules. The lexer as written now will not identify some of the syntax errors that the previous version did but that is consistent with the other lexers in Rouge. Lexing is not the same as parsing and we take the view that it's better to have a simpler (and more maintable) lexer.

I had one remaining comment (see below).

lib/rouge/lexers/ttcn3.rb Outdated Show resolved Hide resolved
@pyrmont pyrmont added author-action The PR has been reviewed but action by the author is needed and removed needs-review The PR needs to be reviewed labels Oct 28, 2019
@pyrmont pyrmont added needs-review The PR needs to be reviewed and removed author-action The PR has been reviewed but action by the author is needed labels Nov 3, 2019
@pyrmont pyrmont merged commit a87cf6e into rouge-ruby:master Nov 9, 2019
@pyrmont
Copy link
Contributor

pyrmont commented Nov 9, 2019

Thanks for the submission! The next release will be on Tuesday. TTCN-3 support will be part of that release :)

@pyrmont pyrmont removed the needs-review The PR needs to be reviewed label Nov 9, 2019
@YannGarcia
Copy link
Contributor Author

Hello,

My apologies for the delay, I was quite busy these weeks.
So, thanks again for your help, it will be really useful for us.

Have a nice day,

Yann

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants