Open stefjoosten opened 5 months ago
Ah, this makes sence to me. Let me try to explain. Initially, I made modifications to all ADL files in FormalAmpersand as well as in PrototypeContext. One of the changes I made was to remove the prefix pf_
from everything. The prefix has no more use, for a namespace is generated automatically for the FormalAmpersand files as well as the PrototypeContext files. I also changes everything else so all these files abide to the new 5.0 syntax (Mostly Name and Label stuff).
Because at the time I did these changes there was no such thing as LABEL, the original names were not preserved as LABEL. This is where you came in. As we discussed previously, you started all over again with the files in AmpersandData. I forgot to inform you that I had removed the prefixes in PrototypeContext files. So please go on with your effort, and don't forget to remove the pf_ prefixes. Sorry for not telling you this before.
What happened
I tried to compile the AmpersandData/PrototypeContext/PrototypeContext.adl` code with the Ampersand-v5.0.0 compiler, expecting it to compile stand-alone. This code is used to generate prototypes, so I know apriori that it is correct. However, I got compiler errors:
Surprisingly, I could not find declarations of the missing relations anywhere in the entire Ampersand repo. So, I speculated that maybe these are "magical declarations" and decided to add these declaratioins in
PrototypeContext.adl
. An unlikely speculation, but then, a second declaration of the same thing doesn't hurt in Ampersand.Now I got type conflicts:
I figured that maybe there is more magic in this thing. So, I added
But the search wasn't over. I now got stuck with four compiler errors, the first of which reads:
Now I'm really puzzled because this is code that runs correctly when I use it to generate prototypes. I inspected the code of the prototype framework to see which part of the metamodel it uses. This appears to be
@Michiel-s, can you explain to me what I cannot explain?
What I expected
Version of ampersand that was used
Steps to reproduce
1. 2. 3. 4.
Screenshot / Video
Context / Source of ampersand script