Jump to content
Excelsior Forums
happycat

XDS-C and Fedora 10

Recommended Posts

Three issues.

XM is released in the standard distribution with a different function.  I changed the name of XDS-C xm  and sample hello.mod translated OK.  Is there anything else I need to change to remove the conflict?

Compiler does not accept the "TOPSPEED" option although I unpacked the topspeed distro into /usr/local/xds.

I get an error on the EXPORT QUALIFIED statement.

Source of last try follows:

(* $HASIMPMOD := FALSE; *)

<* PUSH *>

<*+ VERBOSE *>

<*+ M2EXTENSIONS *>

<*+ TOPSPEED *>

<*+ NOHEADER *>

<*+ GENCPP *>

<*+ COMMENT *>

<*+ M2ADDTYPES *>

DEFINITION MODULE ArrayDef;

   

FROM SYSTEM    IMPORT  ADDRESS;

EXPORT QUALIFIED        arTypes,

                        arOperands,

                        arOperations,

                        arNext,

                        arCommand;

                       

TYPE

    (* Vector/Matrix variable type are defined to reduce execution time

        in determining the types of the operands and the result.  The letters

        replacing the periods(.) in the form "ar..." define the types of the

        first and second operands, and the result.  The types defined are:

         

          I - INTEGER

          D - LONGINT

          R - REAL

          L - LONGREAL

          C - COMPLEX

          Z - LONGCOMPLEX

       

        For example: the arType "arILR" specifies that the first operand is

        an INTEGER, the second is LONGREAL, and the result is REAL.

       

        The declaration of an arType may also specify the number of operands. *)

       

    arTypes = (

                  (* singlets *)

                arI, arD, arR, arL, arC, arZ,

               

                  (* doubles *)

                arII, arID, arIR, arIL, arIC, arIZ,

                arDI, arDD, arDR, arDL, arDC, arDZ,

                arRI, arRD, arRR, arRL, arRC, arRZ,

                arLI, arLD, arLR, arLL, arLC, arLZ,

                arCI, arCD, arCR, arCL, arCC, arCZ,

                arZI, arZD, arZR, zrZL, arZC, arZZ,

               

                  (* Triples *)

                arIII, arIID, arIIR, arIIL, arIIC, arIIZ,

                arIDI, arIDD, arIDR, arIDL, arIDC, arIDZ,

                arIRI, arIRD, arIRR, arIRL, arIRC, arIRZ,

                arILI, arILD, arILR, arILL, arILC, arILZ,

                arICI, arICD, arICR, arICL, arICC, arICZ,

                arIZI, arIZD, arIZR, arIZL, arIZC, arIZZ,

               

                arDII, arDID, arDIR, arDIL, arDIC, arDIZ,

                arDDI, arDDD, arDDR, arDDL, arDDC, arDDZ,

                arDRI, arDRD, arDRR, arDRL, arDRC, arDRZ,

                arDLI, arDLD, arDLR, arDLL, arDLC, arDLZ,

                arDCI, arDCD, arDCR, arDCL, arDCC, arDCZ,

                arDZI, arDZD, arDZR, arDZL, arDZC, arDZZ,

               

                arRII, arRID, arRIR, arRIL, arRIC, arRIZ,

                arRDI, arRDD, arRDR, arRDL, arRDC, arRDZ,

                arRRI, arRRD, arRRR, arRRL, arRRC, arRRZ,

                arRLI, arRLD, arRLR, arRLL, arRLC, arRLZ,

                arRCI, arRCD, arRCR, arRCL, arRCC, arRCZ,

                arRZI, arRZD, arRZR, arRZL, arRZC, arRZZ,

               

                arLII, arLID, arLIR, arLIL, arLIC, arLIZ,

                arLDI, arLDD, arLDR, arLDL, arLDC, arLDZ,

                arLRI, arLRD, arLRR, arLRL, arLRC, arLRZ,

                arLLI, arLLD, arLLR, arLLL, arLLC, arLLZ,

                arLCI, arLCD, arLCR, arLCL, arLCC, arLCZ,

                arLZI, arLZD, arLZR, arLZL, arLZC, arLZZ,

               

                arCII, arCID, arCIR, arCIL, arCIC, arCIZ,

                arCDI, arCDD, arCDR, arCDL, arCDC, arCDZ,

                arCRI, arCRD, arCRR, arCRL, arCRC, arCRZ,

                arCLI, arCLD, arCLR, arCLL, arCLC, arCLZ,

                arCCI, arCCD, arCCR, arCCL, arCCC, arCCZ,

                arCZI, arCZD, arCZR, arCZL, arCZC, arCZZ,

               

                arZII, arZID, arZIR, arZIL, arZIC, arZIZ,

                arZDI, arZDD, arZDR, arZDL, arZDC, arZDZ,

                arZRI, arZRD, arZRR, arZRL, arZRC, arZRZ,

                arZLI, arZLD, arZLR, arZLL, arZLC, arZLZ,

                arZCI, arZCD, arZCR, arZCL, arZCC, arZCZ,

                arZZI, arZZD, arZZR, arZZL, arZZC, arZZZ

               

                );

   

    arOperations = (  arFINIop,

                        arMoveop,

                        arZeroACCop,

                        arADDop,

                        arSUBop,

                        arMULop,

                        arDIVop,

                        arFFTop,

                        arIFFTop,

                        arSQRop,

                        arLNop,

                        arABSop,

                        arNEGop,

                        arEXPop,

                        arTANop,

                        arCOSop,

                        arSINop,

                        arARCSINop,

                        arARCCOSop,

                        arARCTANop,

                        arSUMop,

                        arMMULop,

                        arDOTop,

                        arConvertop

                    );

                   

    arOperands =  RECORD

                  Operand:    ADDRESS;

                  Step,

                  Size:        INTEGER;

                  END;

                 

    arCommand  =  RECORD

                  Next:        ADDRESS;

                  Operation:  arOperations;

                  Types:      arTypes;

                  Operands:    ARRAY[0..2] OF arOperands;

                  END;

                 

    arNext    =  POINTER TO arCommand;

   

END ArrayDef.

Thanks for you help in advance.

Share this post


Link to post
Share on other sites

You need to rename [tt]bin/xm.*[/tt] as well.

Have no idea why unpacking the TSCP did not work. Unpack it into an empty directory and verify if [tt]bin/xm[/tt] files are identical.

IIRC [tt]EXPORT QUALIFIED[/tt] is not part of ISO Modula-2. I'd say it is superfluous - just use qualified import.

Share this post


Link to post
Share on other sites

Thanks for the response. I was afraid the EXPORT QUALIFIED was out of the ISO standard but hoped it was in the Topspeed.

I know that the ISO Modula-2ers may find the source I'm using as unusual.  In case you are interested the source was originally used with the "Scenic" compiler for the "Stride" computer systems in the late 80s.  This is a conversion process -- any deferences between that compiler and the ISO compiler is going to represent problems. But, that is part of the process.

Thanks again.

Share this post


Link to post
Share on other sites

In case you are interested the source was originally used with the "Scenic" compiler for the "Stride" computer systems in the late 80s.

I AM interested. I'm currently trying to get hold of a Modula-2 system to use on my Sage IV. I originally had Pecan Modula-2, formerly Volition Systems Modula-2, but that went to a computer museum with my original Sage II in the mid 90's. I had forgotten about Scenic's compiler - you wouldn't still happen to have it would you?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×