fcdefn.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 456 行 · 第 1/2 页
H
456 行
/****************************************************************************
*
* Open Watcom Project
*
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
* ========================================================================
*
* This file contains Original Code and/or Modifications of Original
* Code as defined in and that are subject to the Sybase Open Watcom
* Public License version 1.0 (the 'License'). You may not use this file
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
* provided with the Original Code and Modifications, and is also
* available at www.sybase.com/developer/opensource.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
* NON-INFRINGEMENT. Please see the License for the specific language
* governing rights and limitations under the License.
*
* ========================================================================
*
* Description: Define data for compiler F-Codes
*
****************************************************************************/
// id code_proc data_proc
pick( FC_PAUSE, &FCPause, NULL )
pick( FC_STOP, &FCStop, NULL )
pick( FC_SET_IOCB, &FCSetIOCB, NULL )
pick( FC_SET_FMT, &FCSetFmt, NULL )
pick( FC_SET_UNIT, &FCSetUnit, NULL )
pick( FC_SET_INTL, &FCSetIntl, NULL )
pick( FC_SET_ERR, &FCSetErr, NULL )
pick( FC_SET_END, &FCSetEnd, NULL )
pick( FC_SET_REC, &FCSetRec, NULL )
pick( FC_SET_IOS, &FCSetIOS, NULL )
pick( FC_SET_ACC, &FCSetAcc, NULL )
pick( FC_SET_BLNK, &FCSetBlnk, NULL )
pick( FC_SET_FILE, &FCSetFile, NULL )
pick( FC_SET_FORM, &FCSetForm, NULL )
pick( FC_SET_LEN, &FCSetLen, NULL )
pick( FC_SET_STAT, &FCSetStat, NULL )
pick( FC_SET_DIR, &FCSetDir, NULL )
pick( FC_SET_CCTRL, &FCSetCCtrl, NULL )
pick( FC_SET_FMTD, &FCSetFmtd, NULL )
pick( FC_SET_NAME, &FCSetName, NULL )
pick( FC_SET_SEQ, &FCSetSeq, NULL )
pick( FC_SET_UFMTD, &FCSetUFmtd, NULL )
pick( FC_SET_EXST, &FCSetExst, NULL )
pick( FC_SET_NMD, &FCSetNmd, NULL )
pick( FC_SET_NREC, &FCSetNRec, NULL )
pick( FC_SET_NUMB, &FCSetNumb, NULL )
pick( FC_SET_OPEN, &FCSetOpen, NULL )
pick( FC_SET_RECL, &FCSetRecl, NULL )
pick( FC_SET_NOFMT, &FCSetNoFmt, NULL )
pick( FC_SET_RECTYPE, &FCSetRecType, NULL )
pick( FC_SET_ACTION, &FCSetAction, NULL )
pick( FC_SET_NML, &FCSetNml, NULL )
pick( FC_SET_BLOCKSIZE, &FCSetBlockSize, NULL )
pick( FC_INQ_BLOCKSIZE, &FCInqBlockSize, NULL )
pick( FC_SET_SHARE, &FCSetShare, NULL )
pick( FC_EX_READ, &FCExRead, NULL )
pick( FC_EX_WRITE, &FCExWrite, NULL )
pick( FC_EX_OPEN, &FCExOpen, NULL )
pick( FC_EX_CLOSE, &FCExClose, NULL )
pick( FC_EX_BACK, &FCExBack, NULL )
pick( FC_EX_ENDF, &FCExEndf, NULL )
pick( FC_EX_REW, &FCExRew, NULL )
pick( FC_EX_INQ, &FCExInq, NULL )
pick( FC_OUT_LOG1, &FCOutLOG1, NULL )
pick( FC_OUT_LOG4, &FCOutLOG4, NULL )
pick( FC_OUT_INT1, &FCOutINT1, NULL )
pick( FC_OUT_INT2, &FCOutINT2, NULL )
pick( FC_OUT_INT4, &FCOutINT4, NULL )
pick( FC_OUT_REAL, &FCOutREAL, NULL )
pick( FC_OUT_DBLE, &FCOutDBLE, NULL )
pick( FC_OUT_XTND, &FCOutXTND, NULL )
pick( FC_OUT_CPLX, &FCOutCPLX, NULL )
pick( FC_OUT_DBCX, &FCOutDBCX, NULL )
pick( FC_OUT_XTCX, &FCOutXTCX, NULL )
pick( FC_OUT_CHAR, &FCOutCHAR, NULL )
pick( FC_OUT_STR, NULL, NULL )
pick( FC_INP_LOG1, &FCInpLOG1, &DtInpLOG1 )
pick( FC_INP_LOG4, &FCInpLOG4, &DtInpLOG4 )
pick( FC_INP_INT1, &FCInpINT1, &DtInpINT1 )
pick( FC_INP_INT2, &FCInpINT2, &DtInpINT2 )
pick( FC_INP_INT4, &FCInpINT4, &DtInpINT4 )
pick( FC_INP_REAL, &FCInpREAL, &DtInpREAL )
pick( FC_INP_DBLE, &FCInpDBLE, &DtInpDBLE )
pick( FC_INP_XTND, &FCInpXTND, &DtInpXTND )
pick( FC_INP_CPLX, &FCInpCPLX, &DtInpCPLX )
pick( FC_INP_DBCX, &FCInpDBCX, &DtInpDBCX )
pick( FC_INP_XTCX, &FCInpXTCX, &DtInpXTCX )
pick( FC_INP_CHAR, &FCInpCHAR, &DtInpCHAR )
pick( FC_INP_STR, NULL, NULL )
pick( FC_ENDIO, &FCEndIO, &DtEndDataStmt )
pick( FC_ALLOCATE, &FCAllocate, NULL )
pick( FC_DEALLOCATE, &FCDeAllocate, NULL )
pick( FC_FMT_SCAN, &FCFmtScan, NULL )
pick( FC_FMT_ARR_SCAN, &FCFmtArrScan, NULL )
pick( FC_CAT, &FCCat, NULL )
pick( FC_SUBSTRING, &FCSubString, &DtSubstring )
pick( FC_SUBSCRIPT, &FCSubscript, &DtSubscript )
pick( FC_PROLOGUE, &FCPrologue, NULL )
pick( FC_EPILOGUE, &FCEpilogue, NULL )
pick( FC_FMT_ASSIGN, &FCFmtAssign, NULL )
pick( FC_SET_LINE, &FCSetLine, NULL )
pick( FC_SET_MODULE, NULL, NULL )
// Define "end of F-Code sequence" F-Code:
pick( FC_END_OF_SEQUENCE, NULL, NULL )
// Define binary operators: +,-,*,/,**
pick( FC_ADD, &FCAdd, &DtAdd )
pick( FC_SUB, &FCSub, &DtSub )
pick( FC_MUL, &FCMul, &DtMul )
pick( FC_DIV, &FCDiv, &DtDiv )
pick( FC_EXP, &FCPow, &DtExp )
pick( FC_FLIP, &FCFlip, &DtFlip )
// Define unary minus.
pick( FC_UMINUS, &FCUMinus, &DtUMinus )
// Define F-Code to push operands.
pick( FC_PUSH, &FCPush, &DtPush )
// Define F-Code to pop operands.
pick( FC_POP, &FCPop, NULL )
// Define F-Code to terminate an expression.
pick( FC_EXPR_DONE, &FCDone, NULL )
// Define F-Codes for subprogram processing.
pick( FC_SELECT, &FCSelect, NULL )
pick( FC_PUSH_LIT, &FCPushLit, NULL )
// Define logical operators: .EQV.,.NEQV.,.OR.,.AND.,.NOT.
pick( FC_EQV, &FCEqv, NULL )
pick( FC_NEQV, &FCNEqv, NULL )
pick( FC_OR, &FCOr, NULL )
pick( FC_AND, &FCAnd, NULL )
pick( FC_NOT, &FCNot, NULL )
// Define F-Code to push constants.
pick( FC_PUSH_CONST, &FCPushConst, &DtPushConst )
// Define comparison operators: .EQ.,.NE.,.LT.,.GE.,.LE.,.GT.
pick( FC_CMP_EQ, &FCCmpEQ, NULL )
pick( FC_CMP_NE, &FCCmpNE, NULL )
pick( FC_CMP_LT, &FCCmpLT, NULL )
pick( FC_CMP_GE, &FCCmpGE, NULL )
pick( FC_CMP_LE, &FCCmpLE, NULL )
pick( FC_CMP_GT, &FCCmpGT, NULL )
// Define control flow F-Codes:
pick( FC_WARP_RETURN, &FCWarpReturn, NULL )
pick( FC_JMP_ALWAYS, &FCJmpAlways, NULL )
pick( FC_JMP_FALSE, &FCJmpFalse, NULL )
pick( FC_DEFINE_LABEL, &FCDefineLabel, NULL )
pick( FC_FCODE_SEEK, &FCSeek, NULL )
pick( FC_ASSIGN, &FCAssign, NULL )
pick( FC_IF_ARITH, &FCIfArith, NULL )
pick( FC_EXECUTE, &FCExecute, NULL )
pick( FC_END_RB, &FCEndRB, NULL )
pick( FC_SF_CALL, &FCSFCall, NULL )
// Define "initialize dummy argument" F-Code:
pick( FC_DARG_INIT, &FCDArgInit, NULL )
// Define debugging information F-Codes:
pick( FC_DBG_LINE, &FCDbgLine, NULL )
// Define "call" F-Code:
pick( FC_CALL, &FCCall, NULL )
// Define "define statment number" F-Code
pick( FC_STMT_DEFINE_LABEL, &FCStmtDefineLabel, NULL )
// Define "convert" F-Codes:
pick( FC_CONVERT, &FCConvert, NULL )
pick( FC_MAKE_COMPLEX, &FCMakeComplex, NULL )
pick( FC_MAKE_DCOMPLEX, &FCMakeDComplex, NULL )
pick( FC_MAKE_XCOMPLEX, &FCMakeXComplex, NULL )
pick( FC_START_SF, &FCStartSF, NULL )
pick( FC_END_SF, &FCEndSF, NULL )
// Define "ADV fill" F-Codes:
pick( FC_ADV_FILL_LO, &FCAdvFillLo, NULL )
pick( FC_ADV_FILL_HI, &FCAdvFillHi, NULL )
pick( FC_ADV_FILL_HI_LO_1, &FCAdvFillHiLo1, NULL )
// Define "trash cg-name" F-Code:
pick( FC_TRASH, &FCTrash, NULL )
// Define "alternate return" F-Code:
pick( FC_ALT_RET, &FCAltReturn, NULL )
// Define "push length in SCB" F-Code:
pick( FC_PUSH_SCB_LEN, &FCPushSCBLen, &DtPushSCBLen )
// Define complex binary operators:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?