1

WARNING: This question pertains to the Ulam compiler. This tag doesn't exist yet on SO, so it isn't tagged properly. It's tagged with "splat" instead, which is a programming language related to Ulam. This is not the typical use case for this tag on SO. More information can be found in the ULAM wiki: https://github.com/elenasa/ULAM/wiki

I have some ulam code nested in a directory structure, and I'm trying to compile it with the below command:

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

After several rounds of cleaning up missed semicolons and other obvious problems the ulam compiler found in my code, I finally reached one which I'm not sure how to correct or investigate:

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.

The code in question can be found here: https://github.com/spencerharmon/EMM-Cell

Anything that would help point me in the right direction would be very much appreciated.

0 Answers0