I’m working on a largeish piece and made some changes last night that have caused a long cascade of parsing errors. Looking back at the changes I made, I don’t see anything to trigger all of these parsing problems, and I can’t figure out what the original sin I committed is.
The first chain of parsing errors came when Inform suddenly stopped understanding declarations of the abbreviated form
There is a room called Farm. "Rows of corn, and a pig-pen at the back."
but was OK with more verbose expansions:
There is a room called Farm. The description of Farm is "Rows of corn, and a pig-pen at the back."
Well, all right: i went through and expanded the syntax for several dozen such declarations. Not a real problem.
However, the compiler is currently choking on this room, which has not yet really been written and is still essentially what it was when I exported a map from Trizbort to Inform several months ago:
Book Miscellaneous Interiors
Part Jail Cell
There is a room called Jail Cell.
An inmate is a male person in Jail Cell.
A rock is a thing in Jail Cell.
There is a door called prison door. prison door is closed and openable and locked. The prison door is south of Jail Cell and north of Reformatory Hallway.
The description of prison door is "#FIXME".
Inform kicks this back when I try to compile:
Report on Translation: Failed
Produced by Inform 7 (build 6M62)[…]
In Volume Game World, Book Miscellaneous Interiors, Part Jail Cell:
Problem. You wrote ‘There is a door called prison door’ : but this looks like a contradiction, because the same property seems to be being set in each of these sentences, but with a different outcome.
Problem. You wrote ‘There is a door called prison door’ : again, this looks like a contradiction.
Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)
Normally, when I see this type of error message, the orange arrows jump to and highlight different lines of code; in this case, they both point to the same line.
Enabling the debugging output doesn’t get me much more:
-----------------------------------------------------
Phase IX ... Making the model world
-----------------------------------------------------
Problem PM_PropertyContradiction issued from inform7/Chapter 22/Inferences.w, line 786
Problem PM_PropertyContradiction issued from inform7/Chapter 22/Inferences.w, line 786
In Volume Game World, Book Miscellaneous Interiors, Part Jail Cell:
>--> You wrote 'There is a door called prison door' (source text, line 854):
but this looks like a contradiction, because the same property seems to be
being set in each of these sentences, but with a different outcome.
Problem PM_PropertyContradiction issued from inform7/Chapter 22/Inferences.w, line 786
Problem PM_PropertyContradiction issued from inform7/Chapter 22/Inferences.w, line 786
>--> You wrote 'There is a door called prison door' (source text, line 854):
again, this looks like a contradiction.
This fragment compiled just fine during the previous two months, and it compiles just fine if I copy it to another blank project. Clearly, there is some other declaration interfering with compiling the statements that make up that room.
However, I can’t find what it is: in a piece of nearly 15,000 words, nothing immediately sticks out as an error when I scan through, and looking at the edits I made last night doesn’t make anything jump out at me, either. I’ve checked other things that seem like obvious checks: there are other doors with “prison” or “jail” in their name, for instance.
So I’m stumped: there’s a contradiction, but I can’t find it, and the error message from ni
is pointing to the same thing twice instead of pointing to the two things it can’t reconcile.
Can anyone point me toward things I should check?
EDIT for formatting. EDIT again to correct typo.