Skip to content

ST6RI-738 Syntax-related issues from KerML FTF Ballot #5#540

Merged
seidewitz merged 4 commits intomasterfrom
ST6RI-738
Feb 25, 2024
Merged

ST6RI-738 Syntax-related issues from KerML FTF Ballot #5#540
seidewitz merged 4 commits intomasterfrom
ST6RI-738

Conversation

@seidewitz
Copy link
Member

This PR implements resolutions of issues from KerML FTF Ballot 5 that called for updates to the KerML abstract and concrete syntax.

Resolutions of the following issues are implemented in this PR:

  • KERML-82 checkConnectorTypeFeaturing is not correct
  • KERML-98 Comment Locale not in textual notation
  • KERML-165 Exponentiation should be right-associative
  • KERML-307 User-defined keywords are not allowed on metadata features

Resolution of the following issue only affected the generated UML metamodel files included in PR #534:

  • KERML-22 Name all associations in the KerML abstract syntax

- Also made FeatureImpl::isFeaturedWithin consistent with issue
resolution, except for case of "package level" features.
- Added an Xpect parsing test for Comments, including "locale".
- Updated KerML.kerml to put quotes around the Comment::'locale' feature
name (and updated reserved words in MOF2KerMLText for regenerating the
KerML package in the future).
- Updated KerMLOutlineTreeProvider to show the "locale" of a Comment (if
it is not null).
- Updated the JetBrains and VSCode keyword files for KerML.
@seidewitz seidewitz requested a review from himi February 24, 2024 19:04
@seidewitz seidewitz self-assigned this Feb 24, 2024
@seidewitz seidewitz added this to the 2024-02 milestone Feb 24, 2024
Copy link
Member

@himi himi left a comment

Choose a reason for hiding this comment

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

I tested it with

package ST6RI738 {
    package KERML82 {
        classifier A {
            feature x;
            feature y {
                feature z;
            }
            package B {
                feature v; 
            }
            classifier C {
                feature w;
            }
            connector c1 from x to y::z;
            connector c2 from x to y.z;
            connector c3 from x to B::v;
            connector c4 from x to C::w; 
        }
    }
    package KERML98 {
        doc locale "ja_JP" /* 日本語 */
        doc locale "en_US" /* US English */
        comment locale "ja_JP" /* コメント */
    }
    package KERML165 {
        feature exp1 = 2 ^ 2 ^ 3;
        feature exp2 = (2 ^ 2) ^ 3;
        feature exp3 = 2 ^ (2 ^ 3);     
    }
    package KERML307 {
        metaclass MC1;
        metaclass MC2;
        #MC1 #MC2 feature f1;
        feature f2 {
            #MC1 @MC2;
        }
    }
}

@himi
Copy link
Member

himi commented Feb 25, 2024

I could even evaluate KERML165:
Screenshot 2024-02-25 at 1 25 47 AM

@himi
Copy link
Member

himi commented Feb 25, 2024

I'll review ST6RI-740, for SysML, hopefully tomorrow.

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.

2 participants