Как мне найти код, который не соответствует ошибке подтверждения в NodeConstant.cpp, когда он анализируется culam? - PullRequest
1 голос
/ 14 мая 2019

ВНИМАНИЕ: Этот вопрос относится к компилятору Ulam.Этот тег еще не существует в SO, поэтому он не помечен должным образом.Вместо этого он помечен как "splat", который является языком программирования, связанным с Ulam.Это не типичный вариант использования этого тега в SO.Дополнительную информацию можно найти в вики ULAM: https://github.com/elenasa/ULAM/wiki

У меня есть некоторый код ulam, вложенный в структуру каталогов, и я пытаюсь скомпилировать его с помощью следующей команды:

ulam --sd /usr/bin/vendor_perl/lib --sd \
/usr/share/perl5/vendor_perl/auto/share/dist/App-Splattr --sd ./genecopy --sd \
./genecopy/tree --sd ./genecopy/tree/operator --sd \
./genecopy/tree/operator/root --sd ./genecopy/tree/terminator --sd \
./genecopy/meta --sd ./enzyme --sd \
./enzyme/communication --sd ./enzyme/movement --sd \
./enzyme/reproduction --sd ./enzyme/mutation --sd \
./gene --sd ./gene/tree --sd \
./gene/tree/operator --sd ./gene/tree/operator/root --sd \
./gene/tree/terminator --sd ./gene/meta --sd \
./membrane/.splatgen --sd ./core EMM-Cell.mfz \
QGeneCopy.ulam QTreeCopy.ulam OperatorCopy.ulam QOperatorCopy.ulam \
QRootCopy.ulam RootCopy.ulam ComInCopy.ulam QTerminatorCopy.ulam \
ValueCopy.ulam VarRefCopy.ulam IDCopy.ulam ParentACopy.ulam \
ParentBCopy.ulam QEnzyme.ulam EComIn.ulam EComOut.ulam \
EAntiMove.ulam EMove.ulam ESymmetry.ulam QEMove.ulam \
EBirth.ulam EDeath.ulam EReproPhaseOne.ulam EReproPhaseTwo.ulam \
EGrow.ulam ERequest.ulam EResponse.ulam QGene.ulam \
QTree.ulam OperatorGene.ulam QOperator.ulam ComOut.ulam \
Direction.ulam Move.ulam QRoot.ulam Reproduce.ulam \
Root.ulam ComIn.ulam QTerminator.ulam Value.ulam \
VarRef.ulam GID.ulam QMetaGene.ulam InnerMembrane.ulam \
OuterMembrane.ulam QContent.ulam QMembrane.ulam Seed.ulam \
CellContent.ulam GeneValueSV.ulam Init.ulam

После нескольких циклов очистки пропущенных точек с запятой и других очевидных проблем, обнаруженных компилятором ulam в моем коде, я, наконец, достиг одной, которую я не уверен, как исправить или исследовать:

Compile QGeneCopy.ulam, QTreeCopy.ulam, OperatorCopy.ulam, QOperatorCopy.ulam, QRootCopy.ulam, RootCopy.ulam, ComInCopy.ulam, QTerminatorCopy.ulam, ValueCopy.ulam, VarRefCopy.ulam, IDCopy.ulam, ParentACopy.ulam, ParentBCopy.ulam, QEnzyme.ulam, EComIn.ulam, EComOut.ulam, EAntiMove.ulam, EMove.ulam, ESymmetry.ulam, QEMove.ulam, EBirth.ulam, EDeath.ulam, EReproPhaseOne.ulam, EReproPhaseTwo.ulam, EGrow.ulam, ERequest.ulam, EResponse.ulam, QGene.ulam, QTree.ulam, OperatorGene.ulam, QOperator.ulam, ComOut.ulam, Direction.ulam, Move.ulam, QRoot.ulam, Reproduce.ulam, Root.ulam, ComIn.ulam, QTerminator.ulam, Value.ulam, VarRef.ulam, GID.ulam, QMetaGene.ulam, InnerMembrane.ulam, OuterMembrane.ulam, QContent.ulam, QMembrane.ulam, Seed.ulam, CellContent.ulam, GeneValueSV.ulam, Init.ulam: ERROR: Close failed: 134

culam: NodeConstant.cpp:156: virtual MFM::u16 MFM::NodeConstant::checkAndLabelType(): Assertion `m_state.getUlamTypeByIndex(duti)->getUlamTypeEnum() == Class' failed.

Код ввопрос можно найти здесь: https://github.com/spencerharmon/EMM-Cell

Все, что поможет направить меня в правильном направлении, будет очень цениться.

...