/* EPC Imp to C Translation Release 4 Version Apr 95 */ #include "imptoc.h" /* Copyright (c) 1988 Edinburgh Portable Compilers Ltd. All Rights Reserved. */ /**/ /* ENAMES */ /* ------ */ /**/ /* Author : Geoff Millard Created on : 09 Feb 88 */ /**/ /* Modifications : */ /**/ /* Date Dev Vers Description of Modification */ /* ---- --- ---- --------------------------- */ /* 17-11-93 pds 36 Added SETOPTIONs for Pascal & EADDRITEM */ /* 04/11/92 AK 35.1 Added EIMERGE1, ERMERGE1, EMERGE2, */ /* and DCXMERGE for Fortran90 */ /* 02/04/91 RT 35 Removed ECCOps LOGVAL, LOGSTK and LOGNEG */ /* 28/01/91 RT 34 Added C operatore CJTRUE,CDUPADD and CDUPSUB */ /* 28/01/91 RT 34 Add Pascal-E operators STRTOCH,STRPLUS,STRMOVE and*/ /* PUSHSTR */ /* 28/01/91 RT 34 Common version (merge of C group 88K and SPARC) */ /* 09/03/90 GM 33.3 Add operator DCXUCHECK */ /* 22/02/90 TR 33.2 Renumber the bit Pasops since pascal-I/E conflict */ /* 28/01/90 AK 33.1 Merge Pascals changes (from 32.5) */ /* 16/01/90 GM 33 add TNCRR, RNDRR */ /* 07/01/90 GM 33 Common version */ /* 25/01/90 TR 32.5 Add BITADDR for Pascal */ /* 23/01/90 TR 32.5 Add SAVEBITREF and RESTBITREF for Pascal */ /* 22/01/90 TR 32.5 Add UPBITII, UPBITUU, UPBITIU, UPBITUI for Pascal */ /* and rename INDEXP as INDEXBITS */ /* 01/12/89 TR 32 Reinstate BNOT as generic EOP */ /* 28/11/89 TR 32 Add PasOps RCHKRNG and RCHKXX */ /* 30/10/89 TR 32 Add PasOp CHKUOVF to complement CHKIOVF */ /* 27/10/89 AJH 32 Add PasOps BNOT, BAND, BOR */ /* 30/08/89 AJH 32 Reduced set of ecodes for Pascal */ /* 09/08/89 TR 32 Rename PIMOD to INMOD and add UNMOD & IMDIV */ /* 24/05/89 TR 32 Add SETSD, SETINCL, SETEXCL & remove SETEMPTY */ /* 28/02/89 GB 32 Add operator PSEUDONOP */ /* 09/12/88 GB 31 Add operator GATHER */ /* 04/12/88 GB 30 Add operators FORCE, ENDFORCE */ /* 07/06/88 GB 29 Add operator VVSUB */ /* 09/02/88 GM 28 Basis version for tracking changes */ /***/ static char * Eopname [255+1] = { "HALT","IADD","ISUB","IMULT", "IDIV","INEG","IABS","IREM", "IAND","IOR","INOT","IXOR", "ISHLL","ISHRL","ISHLA","ISHRA", "IGT","ILT","IEQ","INE", "IGE","ILE","BNOT","", "JIGT","JILT","JIEQ","JINE", "JIGE","JILE","JINTGZ","JINTLZ", "JINTZ","JINTNZ","JINTGEZ","JINTLEZ", "ITWB","","JUMP","", "","SFA","RETURN","ASF", "IPUSH","IPOP","EXCH","DUPL", "DISCARD","","","INDEX1", "INDEX2","INDEX4","INDEX8","INDEX", "MVB","CHK","TMASK","MVW", "EZERO","","CPBGT","CPBLT", "CPBEQ","CPBNE","CPBGE","CPBLE", "EMAKED","ESPLITD","","", "","","","", "","UMULT","UREM","UDIV", "UADD","USUB","UGT","ULT", "UEQ","UNE","UGE","ULE", "JUGT","JULT","JUEQ","JUNE", "JUGE","JULE","JUGTZ","JULTZ", "JUEQZ","JUNEZ","JUGEZ","JULEZ", "UCVTII","IADDST","ISUBST","IMULTST", "IDIVST","INEGST","UREMST","UDIVST", "IANDST","IORST","INOTST","IXORST", "IREMST","RADD","RSUB","RMULT", "RDIV","RNEG","RABS","", "","","","", "","","","", "","","TNCRU","CVTSBI", "CVTUI","CVTUR","CVTIU","CVTRU", "CVTII","CVTIR","CVTRR","TNCRI", "RNDRI","EFLOOR","TNCRR","RNDRR", "RGT","RLT","REQ","RNE", "RGE","RLE","JRGT","JRLT", "JREQ","JRNE","JRGE","JRLE", "JRGZ","JRLZ","JRZ","JRNZ", "JRGEZ","JRLEZ","RTWB","JTRUE", "JFALSE","","","", "","","","", "","","","", "","UCHECK","FLTR","FLTD", "FLTQ","","","", "ESTORE","EDUPSTORE","PUSHVAL","PUSHADDR", "EVAL","EVALADDR","EADDRESS","EINTRES", "EREALRES","ESIZE","EPOWER","EPOWERI", "ARGPROC","PUSHBYTES","EAUXSF","EAUXADD", "EAUXRES","EOLDLNB","ECFILL","ECDUP", "EADDRITEM","EMCHIP","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "WHEREMASK","WHERELSE","VELOG","WHEREST", "WHEREND","VSEQR","VSEQI","VMASK", "VIMAGPT","VREALPT","VSTART","VEND" }; /***/ static char * Ef77opname [354-255] = { /*100*/ "","CXADD","CXSUB","CXMULT", /*104*/ "CXDIV","CXNEG","CXASGN","CXEQ", /*108*/ "CXNE","","EANINT","EM1EXP", /*10C*/ "ESIGN","ESIGN","EIMOD","ERMOD", /*110*/ "EIDIM","ERDIM","EIMIN","ERMIN", /*114*/ "EIMAX","ERMAX","EDMULT","ECONJG", /*118*/ "ECHAR","EICHAR","EINDEXCHAR","ECONCAT", /*11C*/ "EASGNCHAR","ECOMPCHAR","ECMPLX1","ECMPLX2", /*120*/ "EISHFT","EIBITS","EIBSET","EIBTEST", /*124*/ "EIBCLR","EISHFTC","PROCARG","IPROCARG", /*128*/ "CHARARG","IPROCCALL","ARGPROCCALL","CALLTPLATE", /*12C*/ "NOTEIORES","STKIORES","EFCVT","EFCVTASGN", /*130*/ "EARGLEN","EFDVACC","EFNOTEVR","EFSETVR", /*134*/ "EINCR","EDECR","ELOADB","ESTOREB", /*138*/ "EINCRB","EDECRB","EDINIT","ELSHIFT", /*13C*/ "ERSHIFT","EADJL","EADJR","EVERIFY", /*140*/ "ECXRES","ERBIT","EWBIT","EMSTORE", /*144*/ "ALLTEMP","ALLRES","MANTEMPS","ALLARR", /*148*/ "DEALLARR","EMSTOREA","CXCVT","VVSUB", /*14C*/ "VCSEDEF","FORCE","ENDFORCE","GATHER", /*150*/ "PSEUDONOP","DCXADD","DCXSUB","DCXMULT", /*154*/ "DCXDIV","DCXNEG","DCXASGN","DCXCVT", /*158*/ "DCXEQ","DCXNEQ","DECMPLX1","DECMPLX2", /*15C*/ "","DECONJG","DCXUCHECK","DCXMERGE", /*160*/ "EIMERGE1","ERMERGE1","EMERGE2"}; /***/ static char * Epasopname [643-510] = { "","SETOPTION","","", "","","","", "","","","", "","","INMOD","UNMOD", "IMDIV","","","SETI", "SETU","SETD","SETLE","SETEQ", "SETNE","SETIN","SETSING","SETRANGE", "SETINCL","SETEXCL","SETSD","", "","STRTOCH","STRPLUS","STRMOVE", "PUSHSTR","","","", "","BAND","BOR","", "","","","", "","UPBITII","UPBITUU","UPBITIU", "UPBITUI","INDEXBITS","SAVEBITREF","RESTBITREF", "BITADDR","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","","", "","","ISQR","", "","","","", "","","","", "RSQR","","","", "","SAVESTK","RECOVERSTK","", "","","","CHKRNG", "CHKXX","CHKSETRNG","","RCHKRNG", "RCHKXX","UCHKRNG","UCHKXX","", "","","","CHKUOVF", "CHKIOVF","CHKROVF","","", "TRAPOVF","","","", ""}; /**/ static char * Ecopname [792-767] = { /*300*/ "CMPSTR","CDUPADD","CDUPSUB","ECSTORE", /*304*/ "EPROCCALL","EPUSHSTR","ELDBITS","ESTBITS", /*308*/ "UADDST","USUBST","UMULTST","UDIVST", /*30C*/ "RADDST","RSUBST","RMULTST","RDIVST", /*310*/ "ISHLST","ISHRST","CEVAL","ECSAVE", /*314*/ "ECRESTORE","ISHRAST","CJFALSE","CJTRUE", /*318*/ "ESTRLEN"}; /* end of automatic translation */