diff --git a/AmpersandData/FormalAmpersand/Rules.adl b/AmpersandData/FormalAmpersand/Rules.adl index 8f160f0bd..5ae38249d 100644 --- a/AmpersandData/FormalAmpersand/Rules.adl +++ b/AmpersandData/FormalAmpersand/Rules.adl @@ -25,7 +25,7 @@ PATTERN Rules RELATION urlEncodedName[Concept*EncodedName] [UNI] RELATION origin[Rule*Origin] [UNI] MEANING "The location where a rule is defined." -- e.g. 'line 367:10, file "C:\\\\Ampersand\\\\Workspace\\\\NRM\\\\NRM-BasicProcesses.adl"' - RELATION message[Rule*Message] -- e.g. 'bfOUprop[BusinessFunction] is not antisymmetric' + RELATION message[Rule*Markup] -- e.g. 'bfOUprop[BusinessFunction] is not antisymmetric' -- RELATION srcConcept[Rule*Concept][UNI,TOT] -- e.g. 'BusinessFunction' -- RELATION tgtConcept[Rule*Concept][UNI,TOT] -- e.g. 'BusinessFunction' RELATION formalTerm[Rule*Term] [UNI] diff --git a/AmpersandData/FormalAmpersand/Rules.docadl b/AmpersandData/FormalAmpersand/Rules.docadl index 476d02893..55f4cd108 100644 --- a/AmpersandData/FormalAmpersand/Rules.docadl +++ b/AmpersandData/FormalAmpersand/Rules.docadl @@ -37,7 +37,7 @@ PURPOSE RELATION urlEncodedName[Rule*EncodedName] {+ This is used to show a graphic +} PURPOSE RELATION origin[Rule*Origin] -- Haskell: rrfps :: Rule->Origin {+ The location on which a rule is defined is registered for tracing purposes. +} -PURPOSE RELATION message[Rule*Message] -- Haskell: rrmsg :: Rule->[Markup] +PURPOSE RELATION message[Rule*Markup] -- Haskell: rrmsg :: Rule->[Markup] {+ User-specified violation messages are being registered to generate code for error messages. There may be multiple messages to support multiple languages +} diff --git a/AmpersandData/FormalAmpersand/Terms.adl b/AmpersandData/FormalAmpersand/Terms.adl index 9aa37f976..e685210af 100644 --- a/AmpersandData/FormalAmpersand/Terms.adl +++ b/AmpersandData/FormalAmpersand/Terms.adl @@ -86,10 +86,11 @@ RELATION showADL[Term*ShowADL] [UNI] -- TODO should be TOT also, but this is TO REPRESENT ShowADL TYPE BIGALPHANUMERIC --HJI20161004: This execEngine rule doesn't work, because of the ';'-characters that may be in the ShowADL term ROLE ExecEngine MAINTAINS "del unused ShowADL" - RULE "del unused ShowADL" : I[ShowADL] |- showADL[Term*ShowADL]~;showADL[Term*ShowADL] - MEANING "A ShowADL without Term will be removed." + RULE "del unused ShowADL" : I[ShowADL] |- (showADL[Term*ShowADL]~;showADL[Term*ShowADL]) \/ (showADL[PairView*ShowADL]~;showADL[PairView*ShowADL]) + MEANING "A ShowADL without Term or PairView will be removed." VIOLATION ( TXT "{EX}_;DelAtom_;ShowADL_;", SRC I ) -VIEW Term : Term(showADL[Term*ShowADL]) +VIEW Term : Term(showADL) +VIEW PairView : PairView(showADL) {- I can't get the following to work... Grrr! PATTERN "Type graph" diff --git a/src/Ampersand/FSpec/Transformers.hs b/src/Ampersand/FSpec/Transformers.hs index 77e92676b..63fa2f4d3 100644 --- a/src/Ampersand/FSpec/Transformers.hs +++ b/src/Ampersand/FSpec/Transformers.hs @@ -524,8 +524,11 @@ transformersFormalAmpersand fSpec = ), ( "message", "Rule", - "Message", - [] -- TODO + "Markup", + [ (dirtyId rul, dirtyId mrkup) + | rul :: Rule <- instanceList fSpec, + mrkup <- rrmsg rul + ] ), ( "propertyRule", "Relation",