-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Used quantPlate for Aux Consts; some quants added to NoPCM ToS
- Loading branch information
Showing
3 changed files
with
89 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Mornix I think I've done all I can do on this branch (at least for now) -
quantPlate
is used for Constraints, Props of Correct Solution, and Aux Consts. It usesqw
, and so misses all terms with definitions. I think that's enough information to log for the future? Should this be made into an issue? I'm not really sure how to proceed.be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is dependent on #1658.
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah sorry, I marked the first commit and forgot about the others 😬
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So why did new quantities 'appear' in NoPCM? If they are not actually used in NoPCM, they shouldn't appear here; if they were used but not appearing, that was a bug. Either case is interesting.
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The existing passes for DocLang introspection operate on
Sentence
andExpr
which catch almost all of the symbols, however if we haveQuantityDict
(such as the new constraint tables orAuxConstProg
), we don’t gather the symbols of the actualQuantityDict
.be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, so we should probably do this kind of pass on a properly elaborated document? Or teach the passes how to figure out which symbols to grab?
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would tend to agree. I think an appropriate place would be a post
DocDesc
, but pre-Document
structure such that the flow becomes:SRSDecl
-->DocDesc
-->PreDoc
-->Document
.The traceability matrix would still be expanded from
DocDesc
as we have all the references and sections (or at least stubs), whereas anything (i.e. Table of Symbols, Table of Acronyms), in the Intro Section would be inPreDoc
due to "only" requiring traversal ofSentence
andExpr
.I'm not too sure whether this is "worth it" at the moment due to only applying to three sections, one of which is new to this PR and two of which were missed in all prior pass implementations (oops).
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I doesn't seem worth it yet, I agree.
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Mornix what's the status of this branch? It's been so long I've forgotten. Right now, the log differences are quantities missing from the Table of Symbols: "Cartesian Position Coordinates" in SSP and "Final time" and "Time step for simulation" in SWHS. The SSP one makes sense, as it only appears in the FRs (which aren't searched by
quantPlate
yet), but tfinal and tstep both appear in the Properties of Correct Solution table, which is searched byquantPlate
.It seems that at some point, we should search the FR tables for quantities, which would potentially be related to the work done on #1697 which is currently held up by a lack of general "theory" type. This also would leave the bug that not all quantities are being pulled out that should be.
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Mornix I'm not sure if I should make an issue for this, but I've described the issue above. I've messed around and I can't seem to find the source of it. Reading through the inputs from
SystemDescription
indocLang
still misses these quantities.be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right. I recall now. This is because the
Table
s are stored byDocDesc
asContent
.Content
has not concept ofQuantityDict
since it is Document structure related. To properly extract these, the quantity or whatever "supertype" ofQuantityDict
would need to be passed in and stored inDocDesc
for introspection to detect.be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm pretty sure the the values are stored as either a
(Quantity q, MayHaveUnit q)
or aQDefinition
(which is an instance of the aforementioned classes. The[Contents]
inCorrSolnPpties
is for extra properties of a correct solution (in the form of an explanation).Drasil/code/drasil-docLang/Drasil/DocumentLanguage/Core.hs
Lines 148 to 158 in f86a030
Drasil/code/drasil-docLang/Drasil/DocumentLanguage/Core.hs
Line 191 in f86a030
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah. I re-read your earlier message. Do the examples missing things use the
TSymb'
constructor? If so, that is why.be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup, they both do. Any idea what the correct fix would be?
be8aa64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolving #1658.