Add registry to SimpleExample and update concept references

- Added registry section with all Phase 1 concepts and their EcuMT IDs
- Mapped concepts to short index names (e.g., Module=2Ks9RF)
- Updated all concept attributes to use registry indices
- Updated all role attributes to use registry roles
- Follows same pattern as existing SemAnno.sandbox.mps model

This allows MPS to properly resolve concept definitions from the model itself.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Bill
2026-02-03 21:06:53 -07:00
parent a86db27292
commit 5b4d5ada7a

View File

@@ -5,68 +5,107 @@
<use id="a452e1cf-6f8c-4bca-8447-fd4d6e4d0003" name="SemAnno" version="0" /> <use id="a452e1cf-6f8c-4bca-8447-fd4d6e4d0003" name="SemAnno" version="0" />
<use id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core" version="2" /> <use id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core" version="2" />
</languages> </languages>
<imports> <imports />
<import index="sem" ref="r:e209a700-5f8c-468c-afcc-f38277628970(SemAnno.structure)" implicit="true" /> <registry>
</imports> <language id="a452e1cf-6f8c-4bca-8447-fd4d6e4d0003" name="SemAnno">
<registry /> <concept id="8440420766104857128" name="SemAnno.structure.Module" flags="ng" index="2Ks9RF" />
<node concept="Module" id="TE_00001"> <concept id="8440420766104857192" name="SemAnno.structure.Function" flags="ng" index="2Ks9S5" />
<concept id="8440420766104857256" name="SemAnno.structure.Parameter" flags="ng" index="2Ks9Tj" />
<concept id="8982541288447632700" name="SemAnno.structure.Variable" flags="ng" index="2KtM7O" />
<concept id="8982541288447632646" name="SemAnno.structure.Statement" flags="ng" index="2KtLg8" />
<concept id="8982541288447632647" name="SemAnno.structure.Block" flags="ng" index="2KtLg9" />
<concept id="8982541288447632660" name="SemAnno.structure.Assignment" flags="ng" index="2KtLgs" />
<concept id="8982541288447632686" name="SemAnno.structure.IfStatement" flags="ng" index="2KtLhQ" />
<concept id="8982541288447632705" name="SemAnno.structure.WhileLoop" flags="ng" index="2KtLiZ" />
<concept id="8982541288447632729" name="SemAnno.structure.ForLoop" flags="ng" index="2KtLju" />
<concept id="8982541288447632753" name="SemAnno.structure.Return" flags="ng" index="2KtLkJ" />
<concept id="8982541288447632765" name="SemAnno.structure.Expression" flags="ng" index="2KtLkV" />
<concept id="8982541288447632764" name="SemAnno.structure.BinaryOperation" flags="ng" index="2KtLkU" />
<concept id="8982541288447632783" name="SemAnno.structure.UnaryOperation" flags="ng" index="2KtLld" />
<concept id="8982541288447632800" name="SemAnno.structure.FunctionCall" flags="ng" index="2KtLmu" />
<concept id="8982541288447632817" name="SemAnno.structure.VariableReference" flags="ng" index="2KtLnB" />
<concept id="8982541288447632837" name="SemAnno.structure.IntegerLiteral" flags="ng" index="2KtLoP" />
<concept id="8982541288447632857" name="SemAnno.structure.FloatLiteral" flags="ng" index="2KtLpd" />
<concept id="8982541288447632877" name="SemAnno.structure.StringLiteral" flags="ng" index="2KtLqb" />
<concept id="8982541288447632897" name="SemAnno.structure.BooleanLiteral" flags="ng" index="2KtLrZ" />
<concept id="8982541288447632917" name="SemAnno.structure.NullLiteral" flags="ng" index="2KtLsX" />
<concept id="8982541288447632937" name="SemAnno.structure.ListLiteral" flags="ng" index="2KtLtV" />
<concept id="8982541288447632957" name="SemAnno.structure.IndexAccess" flags="ng" index="2KtLuT" />
<concept id="8982541288447632977" name="SemAnno.structure.MemberAccess" flags="ng" index="2KtLvR" />
<concept id="8982541288447632576" name="SemAnno.structure.Type" flags="ng" index="2KtL_8" />
<concept id="8982541288447632596" name="SemAnno.structure.PrimitiveType" flags="ng" index="2KtL_I" />
<concept id="8982541288447632616" name="SemAnno.structure.ListType" flags="ng" index="2KtL_W" />
<concept id="8982541288447632636" name="SemAnno.structure.MapType" flags="ng" index="2KtL__" />
<concept id="8982541288447632656" name="SemAnno.structure.TupleType" flags="ng" index="2KtLaO" />
<concept id="8982541288447632676" name="SemAnno.structure.ArrayType" flags="ng" index="2KtLbc" />
<concept id="8982541288447632696" name="SemAnno.structure.OptionalType" flags="ng" index="2KtLbq" />
<concept id="8982541288447632715" name="SemAnno.structure.CustomType" flags="ng" index="2KtLcE" />
<concept id="8982541288447633128" name="SemAnno.structure.Annotation" flags="ng" index="2KtLhc" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="2Ks9RF" id="TE_00001">
<property role="name" value="MathLibrary" /> <property role="name" value="MathLibrary" />
<node concept="Variable" id="TE_00002" role="variables"> <node concept="2KtM7O" id="TE_00002" role="YUdpP">
<property role="name" value="PI" /> <property role="name" value="PI" />
<node concept="Type" id="TE_00003" role="type"> <node concept="2KtL_8" id="TE_00003" role="YUdpP">
<node concept="PrimitiveType" id="TE_00004" role="primitiveType"> <node concept="2KtL_I" id="TE_00004" role="YUdpP">
<property role="name" value="float" /> <property role="name" value="float" />
</node> </node>
</node> </node>
</node> </node>
<node concept="Variable" id="TE_00005" role="variables"> <node concept="2KtM7O" id="TE_00005" role="YUdpP">
<property role="name" value="E" /> <property role="name" value="E" />
<node concept="Type" id="TE_00006" role="type"> <node concept="2KtL_8" id="TE_00006" role="YUdpP">
<node concept="PrimitiveType" id="TE_00007" role="primitiveType"> <node concept="2KtL_I" id="TE_00007" role="YUdpP">
<property role="name" value="float" /> <property role="name" value="float" />
</node> </node>
</node> </node>
</node> </node>
<node concept="Function" id="TE_00008" role="functions"> <node concept="2Ks9S5" id="TE_00008" role="YUdpP">
<property role="name" value="add" /> <property role="name" value="add" />
<node concept="Parameter" id="TE_00009" role="parameters"> <node concept="2Ks9Tj" id="TE_00009" role="YUdpP">
<property role="name" value="a" /> <property role="name" value="a" />
<node concept="Type" id="TE_00010" role="type"> <node concept="2KtL_8" id="TE_00010" role="YUdpP">
<node concept="PrimitiveType" id="TE_00011" role="primitiveType"> <node concept="2KtL_I" id="TE_00011" role="YUdpP">
<property role="name" value="int" /> <property role="name" value="int" />
</node> </node>
</node> </node>
</node> </node>
<node concept="Parameter" id="TE_00012" role="parameters"> <node concept="2Ks9Tj" id="TE_00012" role="YUdpP">
<property role="name" value="b" /> <property role="name" value="b" />
<node concept="Type" id="TE_00013" role="type"> <node concept="2KtL_8" id="TE_00013" role="YUdpP">
<node concept="PrimitiveType" id="TE_00014" role="primitiveType"> <node concept="2KtL_I" id="TE_00014" role="YUdpP">
<property role="name" value="int" /> <property role="name" value="int" />
</node> </node>
</node> </node>
</node> </node>
<node concept="Type" id="TE_00015" role="returnType"> <node concept="2KtL_8" id="TE_00015" role="YUdpP">
<node concept="PrimitiveType" id="TE_00016" role="primitiveType"> <node concept="2KtL_I" id="TE_00016" role="YUdpP">
<property role="name" value="int" /> <property role="name" value="int" />
</node> </node>
</node> </node>
<node concept="Block" id="TE_00017" role="body"> <node concept="2KtLg9" id="TE_00017" role="YUdpP">
<node concept="Assignment" id="TE_00018" role="statements"> <node concept="2KtLgs" id="TE_00018" role="YUdpP">
<property role="name" value="result" /> <property role="name" value="result" />
<node concept="Expression" id="TE_00019" role="value"> <node concept="2KtLkV" id="TE_00019" role="YUdpP">
<node concept="BinaryOperation" id="TE_00020" role="binaryOp"> <node concept="2KtLkU" id="TE_00020" role="YUdpP">
<property role="operator" value="+" /> <property role="operator" value="+" />
<node concept="VariableReference" id="TE_00021" role="left"> <node concept="2KtLnB" id="TE_00021" role="YUdpP">
<property role="name" value="a" /> <property role="name" value="a" />
</node> </node>
<node concept="VariableReference" id="TE_00022" role="right"> <node concept="2KtLnB" id="TE_00022" role="YUdpP">
<property role="name" value="b" /> <property role="name" value="b" />
</node> </node>
</node> </node>
</node> </node>
</node> </node>
<node concept="Return" id="TE_00023" role="statements"> <node concept="2KtLkJ" id="TE_00023" role="YUdpP">
<node concept="VariableReference" id="TE_00024" role="value"> <node concept="2KtLnB" id="TE_00024" role="YUdpP">
<property role="name" value="result" /> <property role="name" value="result" />
</node> </node>
</node> </node>