Skip to content

syntax role modifiers - #1835

Open
jurgenvinju wants to merge 120 commits into
mainfrom
syntax-role-modifiers
Open

syntax role modifiers#1835
jurgenvinju wants to merge 120 commits into
mainfrom
syntax-role-modifiers

Conversation

@jurgenvinju

@jurgenvinju jurgenvinju commented Jul 7, 2023

Copy link
Copy Markdown
Member

This PR implements syntax role modifiers.

SyntaxModifiers.pdf

  • runtime types for modifiers with open and closed parameters, including subtype, lub and glb
  • subtype lub and glb for Symbol and AType
  • conversions for AST,Symbol and AType
  • JGenie code generator for open type modifiers
  • tests for using modifiers
  • Correct implementation of Explode: AST to separator syntax Tree conversion, using role modifiers
  • Tests for Explode
  • Fixes for deep match on separator syntax trees
  • Tests for deep match
  • Fixes for visit on separator syntax trees (not required since no bugs found)
  • Tests for visit
  • Fixes for match on separators syntax trees (impossible to discover see below)
  • Tests for match (impossible to write on this PR because external parsers are not called on concrete syntax yet)

@codecov

codecov Bot commented Jul 7, 2023

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 9.27673% with 577 lines in your changes missing coverage. Please review.
✅ Project coverage is 45%. Comparing base (4f96714) to head (fc82a86).
⚠️ Report is 10 commits behind head on main.

Files with missing lines Patch % Lines
src/org/rascalmpl/types/ModifySyntaxRole.java 0% 309 Missing ⚠️
src/org/rascalmpl/ast/SyntaxRoleModifier.java 0% 114 Missing ⚠️
...ascalmpl/semantics/dynamic/SyntaxRoleModifier.java 0% 27 Missing ⚠️
src/org/rascalmpl/ast/Type.java 21% 25 Missing ⚠️
src/org/rascalmpl/library/Type.java 33% 24 Missing ⚠️
src/org/rascalmpl/types/RascalTypeFactory.java 4% 21 Missing and 1 partial ⚠️
...org/rascalmpl/values/parsetrees/SymbolFactory.java 5% 16 Missing ⚠️
src/org/rascalmpl/ast/NullASTVisitor.java 0% 6 Missing ⚠️
...almpl/interpreter/staticErrors/UnexpectedType.java 25% 4 Missing and 2 partials ⚠️
src/org/rascalmpl/types/RascalType.java 0% 6 Missing ⚠️
... and 9 more
Additional details and impacted files
@@           Coverage Diff            @@
##              main   #1835    +/-   ##
========================================
- Coverage       45%     45%    -1%     
- Complexity    6801    6819    +18     
========================================
  Files          844     848     +4     
  Lines        68785   69424   +639     
  Branches     10023   10136   +113     
========================================
+ Hits         31344   31469   +125     
- Misses       35066   35575   +509     
- Partials      2375    2380     +5     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread src/org/rascalmpl/runtime/$RascalModule.java
Comment thread src/org/rascalmpl/test/infrastructure/RascalJUnitParallelRecursiveTestRunner.java Outdated
Comment thread src/org/rascalmpl/types/NonTerminalType.java Outdated
Comment thread RELEASE-NOTES.md Outdated

@jurgenvinju jurgenvinju left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This PR is almost done. Needs some cleaning of unrelated changes and attention to new TODO comments.

@jurgenvinju jurgenvinju self-assigned this Aug 31, 2026
@sonarqubecloud

sonarqubecloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

@jurgenvinju

Copy link
Copy Markdown
Member Author

@rodinaarssen could you have a look at this? especially if you think we need more tests.

@jurgenvinju
jurgenvinju marked this pull request as ready for review September 8, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants