


    /* 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 */

