Skip to content

updated grammar, wrapping_visitor and tests for the changes - #585

Merged
ArmenSl merged 2 commits into
developmentfrom
ocl-fixes
Sep 1, 2026
Merged

ArmenSl merged 2 commits into
developmentfrom
ocl-fixes

Conversation

@FitashUlHaq

@FitashUlHaq FitashUlHaq commented Aug 27, 2026 •

Copy link
Copy Markdown
Collaborator

updated grammar, wrapping_visitor and tests for the changes

@FitashUlHaq
FitashUlHaq requested a review from ArmenSl September 1, 2026 08:01
@ArmenSl

ArmenSl commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Hey Fitash can you do a quick review of the PR #586

The OCL grammar changes collide. Both PRs edit BOCL.g4 plus all the regenerated ANTLR artifacts, and both independently invent the same operators: asSet, intersection, and a dot-form allInstances() — but with different rule names (#arrowAsSet vs #arrowasSet, #dotAllInstances vs #allInstancesExp). Whichever merges second gets unresolvable conflicts in generated parser files and a semantically diverged grammar. Worse, #586 removes the existing Type::allInstances() syntax entirely (breaking saved models that use it), while #585 keeps it. If you can arbitrate one unified grammar; the cleanest path is to extract the grammar/parser changes from #586 into a joint OCL PR (or land #585 first and have the other branch rebase on it).

@jcabot

jcabot commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

For sure, accepting a PR that breaks existing code already merged long time ago makes no sense unless there is a very strong reason, which doesn't seem to be the case (talking about the allInstances case here)

@ArmenSl ArmenSl left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. Went through the grammar and the wrapping visitor - keeping Type::allInstances(). Good test coverage on the new constructs too. Two small notes, neither blocking: the new rule labels (#arrowasSet, #isunique) don't follow the casing of the existing ones. Let's merge this one first so #586 can rebase its Alloy work on top of this grammar.

@ArmenSl
ArmenSl merged commit cb478b7 into development Sep 1, 2026
5 checks passed
@ArmenSl
ArmenSl deleted the ocl-fixes branch September 1, 2026 12:40
ArmenSl added a commit that referenced this pull request Sep 8, 2026
…de GUI fix

- Bump setup.cfg 7.13.0 -> 7.14.0 and add v7.14.0 release notes.
- Frontend submodule bump to 67efe863: agent LLM-configuration UI (#162),
  fix for OCL/non-association links leaking into autogenerated No-Code
  tables (#186), and the npm lockfile repair (#178).
- Backend content since v7.13.0 (already on development): OCL grammar
  extensions asSet/intersection/isUnique/dot-allInstances (#585) and BAF
  agent LLM support (#575).
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.

3 participants