px4-firmware/misc/pascal/include/pedefs.h

281 lines
12 KiB
C

/***********************************************************************
* pedefs.h
* Definitions of error codes
*
* Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
***********************************************************************/
#ifndef __PEDEFS_H
#define __PEDEFS_H
/***********************************************************************
* Included Files
***********************************************************************/
#include <stdint.h>
/***********************************************************************
* Pre-processor Definitions
***********************************************************************/
/***********************************************************************
* COMPILATION TIME ERRORS
* eASSIGN Expected ':='
* eBEGIN Expected 'BEGIN'
* eCOLON Expected ':'
* eCOMMA Expected ','
* eCOUNT Error count exceeded (FATAL)
* eDO Expected 'DO'
* eDUPFILE Attempt to re-define file
* eDUPSYM Attempt to declare duplicate symbol
* eEND Expected 'END'
* eEQ Expected '='
* eEXPONENT Error in exponent of real constant
* eFILE Expected file identifier declared in PROGRAM
* eHUH Internal error (FATAL)
* eIDENT Expected identifier
* eIMPLEMENTATION Expected implementation section in unit file
* eINCLUDE Include file OPEN error (FATAL)
* eINTCONST Expected integer constant
* eINTERFACE Expected interface section in unit file
* eINTOVF Integer overflow (or underflow)
* eINTVAR Integer variable name expected
* eINVALIDFUNC Unrecognized built-in function
* eINVALIDPROC Unrecognized built-in procedure
* eINVARG Invalid procedure/function argument type
* eINVCONST Invalid constant in declaration
* eINVSIGNEDCONST Invalid constant after sign
* eINVFACTOR Invalid factor
* eINVFILE Invalid file identifier (as declared in PROGRAM)
* eINVLABEL Invalid label
* eINVPTR Invalid pointer type
* eINVTYPE Invalid type identifier
* eINVVARPARM Invalid/unsupported VAR parameter type
* eLBRACKET Expected '['
* eLPAREN Expected '('
* eMULTLABEL Attempt to multiply define label
* eNOSQUOTE EOL encounter in a string, probable missing "'"
* eNOTYET Not implemented yet
* eNPARMS Number of parameters in function or procedure
* call does not match number in declaration
* eOF Expected 'OF'
* eOVF Internal table overflow (FATAL)
* ePERIOD Expected '.'
* ePOFFCONFUSION Internal logic error in POFF file generation
* ePOFFWRITEERROR Error writing to POFF file
* ePROGRAM Expected 'PROGRAM'
* ePTRADR Expected pointer address (probably got value) form
* ePTRVAL Expected pointer value form, got value form
* eRBRACKET Expected ']'
* eRPAREN Expected ')'
* eRPARENorCOMMA Expected ')' or ','
* eSEEKFAIL Seek to file position failed
* eSEMICOLON Expected ';'
* eSTRING Expected a string
* eTHEN Expected 'THEN'
* eTOorDOWNTO Expected 'TO' or 'DOWNTO' in for statement
* eTRUNC String truncated
* eUNDECLABEL Attempt to define an undeclared label.
* eUNDEFILE Undefined file buffer
* eUNDEFLABEL A declared label was not defined.
* eUNDEFSYM Undefined symbol
* eUNTIL Expected 'UNTIL'
* eEXPRTYPE Illegal expression type for this operation
* eTERMTYPE Illegal term type for this operation
* eFACTORTYPE Illegal factor type for this operation
* eREADPARM Illegal parameter in READ statement
* eWRITEPARM Illegal parameter in WRITE statement
* eARRAYTYPE Illegal type for ARRAY OF
* ePOINTERTYPE Illegal pointer type
* eVARPARMTYPE Illegal VAR parameter type
* eSUBRANGE Expected ".."
* eSUBRANGETYPE Illegal subrange type
* eSET Expected valid/consistent type for SET OF
* sSETRANGE Value out of range for SET OF
* eSCALARTYPE Illegal scalar type
* eBADSHORTINT Short integer is out of range
* eSYMTABINTERNAL Internal error in symbol table
* eRECORDDECLARE Error in RECORD declaration
* eRECORDOBJECT Expected a field of RECORD
* eRECORDVAR Expected a RECORD variable in WITH
* eUNIT Expected UNIT at beginning of unit file
* eUNITNAME File does not contain the expected UNIT
* eARGIGNORED An argument was provided, but ignored
*
* LINK TIME ERRORS
* eUNDEFINEDSYMBOL A necessary symbol was not defined
* eMULTIDEFSYMBOL A symbol was defined multiple times
*
* ERRORS WHICH MAY OCCUR AT EITHER COMPILATION, LINK OR RUNTIME
* eNOMEMORY Memory allocation failed
* ePOFFREADERROR Error reading a POFF file
* ePOFFBADFORMAT The file format does not like valid POFF
* eRCVDSIGNAL Received SIGSEGV (or other) signal.
*
* RUN TIME ERRORS
* eBADPC Program Counter is out-of-range
* eBADSP Stack reference is out-of-range
* eSTRSTKOVERFLOW String stack overflow
* eILLEGALOPCODE Non-executable instruction found
* eEXIT oEND P-Code encountered
* eBADSYSIOFUNC Illegal SYSIO sub-function
* eBADSYSLIBCALL Illegal runtime library call
* eBADFPOPCODE Illegal FLOAT POINT op-code
* eFAILEDLIBCALL Runtime library call returned failure
* eINTEGEROVERFLOW Integer overflow
**********************************************************************/
/* This is the error code that indicates that no error has occurred */
#define eNOERROR ((uint16_t) 0x00)
/* This is the maximum number of errors that will be reported before
* compilation is terminated.
*/
#define MAX_ERRORS 100
/* COMPILATION TIME ERRORS */
#define eASSIGN ((uint16_t) 0x01)
#define eBEGIN ((uint16_t) 0x02)
#define eCOLON ((uint16_t) 0x03)
#define eCOMMA ((uint16_t) 0x04)
#define eCOUNT ((uint16_t) 0x05)
#define eDO ((uint16_t) 0x06)
#define eDUPFILE ((uint16_t) 0x07)
#define eDUPSYM ((uint16_t) 0x08)
#define eEND ((uint16_t) 0x09)
#define eEQ ((uint16_t) 0x0a)
#define eEXPONENT ((uint16_t) 0x0b)
#define eFILE ((uint16_t) 0x0c)
#define eHUH ((uint16_t) 0x0d)
#define eIDENT ((uint16_t) 0x0e)
#define eIMPLEMENTATION ((uint16_t) 0x0f)
#define eINCLUDE ((uint16_t) 0x10)
#define eINTCONST ((uint16_t) 0x11)
#define eINTERFACE ((uint16_t) 0x12)
#define eINTOVF ((uint16_t) 0x13)
#define eINTVAR ((uint16_t) 0x14)
#define eINVALIDFUNC ((uint16_t) 0x15)
#define eINVALIDPROC ((uint16_t) 0x16)
#define eINVARG ((uint16_t) 0x17)
#define eINVCONST ((uint16_t) 0x18)
#define eINVSIGNEDCONST ((uint16_t) 0x19)
#define eINVFACTOR ((uint16_t) 0x1a)
#define eINVFILE ((uint16_t) 0x1b)
#define eINVLABEL ((uint16_t) 0x1c)
#define eINVPTR ((uint16_t) 0x1d)
#define eINVTYPE ((uint16_t) 0x1e)
#define eINVVARPARM ((uint16_t) 0x1f)
#define eLBRACKET ((uint16_t) 0x20)
#define eLPAREN ((uint16_t) 0x21)
#define eMULTLABEL ((uint16_t) 0x22)
#define eNOSQUOTE ((uint16_t) 0x23)
#define eNOTYET ((uint16_t) 0x24)
#define eNPARMS ((uint16_t) 0x25)
#define eOF ((uint16_t) 0x26)
#define eOVF ((uint16_t) 0x27)
#define ePERIOD ((uint16_t) 0x28)
#define ePOFFCONFUSION ((uint16_t) 0x29)
#define ePOFFWRITEERROR ((uint16_t) 0x2a)
#define ePROGRAM ((uint16_t) 0x2b)
#define ePTRADR ((uint16_t) 0x2c)
#define ePTRVAL ((uint16_t) 0x2d)
#define eRBRACKET ((uint16_t) 0x2e)
#define eRPAREN ((uint16_t) 0x2f)
#define eRPARENorCOMMA ((uint16_t) 0x30)
#define eSEEKFAIL ((uint16_t) 0x31)
#define eSEMICOLON ((uint16_t) 0x32)
#define eSTRING ((uint16_t) 0x33)
#define eTHEN ((uint16_t) 0x34)
#define eTOorDOWNTO ((uint16_t) 0x35)
#define eTRUNC ((uint16_t) 0x36)
#define eUNDECLABEL ((uint16_t) 0x37)
#define eUNDEFILE ((uint16_t) 0x38)
#define eUNDEFLABEL ((uint16_t) 0x39)
#define eUNDEFSYM ((uint16_t) 0x3a)
#define eUNTIL ((uint16_t) 0x3b)
#define eEXPRTYPE ((uint16_t) 0x3c)
#define eTERMTYPE ((uint16_t) 0x3d)
#define eFACTORTYPE ((uint16_t) 0x3e)
#define eREADPARM ((uint16_t) 0x3f)
#define eWRITEPARM ((uint16_t) 0x40)
#define eARRAYTYPE ((uint16_t) 0x41)
#define ePOINTERTYPE ((uint16_t) 0x42)
#define eVARPARMTYPE ((uint16_t) 0x43)
#define eSUBRANGE ((uint16_t) 0x44)
#define eSUBRANGETYPE ((uint16_t) 0x45)
#define eSET ((uint16_t) 0x46)
#define eSETRANGE ((uint16_t) 0x47)
#define eSCALARTYPE ((uint16_t) 0x48)
#define eBADSHORTINT ((uint16_t) 0x49)
#define eSYMTABINTERNAL ((uint16_t) 0x4a)
#define eRECORDDECLARE ((uint16_t) 0x4b)
#define eRECORDOBJECT ((uint16_t) 0x4c)
#define eRECORDVAR ((uint16_t) 0x4d)
#define eUNIT ((uint16_t) 0x4e)
#define eUNITNAME ((uint16_t) 0x4f)
#define eARGIGNORED ((uint16_t) 0x50)
/* LINK TIME ERRORS */
#define eUNDEFINEDSYMBOL ((uint16_t) 0x60)
#define eMULTIDEFSYMBOL ((uint16_t) 0x61)
/* ERRORS WHICH MAY OCCUR AT EITHER COMPILATION OR RUNTIME */
#define eNOMEMORY ((uint16_t) 0x70)
#define ePOFFREADERROR ((uint16_t) 0x71)
#define ePOFFBADFORMAT ((uint16_t) 0x72)
#define eRCVDSIGNAL ((uint16_t) 0x73)
/* RUN TIME ERRORS */
#define eBADPC ((uint16_t) 0x80)
#define eBADSP ((uint16_t) 0x81)
#define eSTRSTKOVERFLOW ((uint16_t) 0x82)
#define eILLEGALOPCODE ((uint16_t) 0x83)
#define eEXIT ((uint16_t) 0x84)
#define eBADSYSIOFUNC ((uint16_t) 0x85)
#define eBADSYSLIBCALL ((uint16_t) 0x86)
#define eBADFPOPCODE ((uint16_t) 0x87)
#define eINTEGEROVERFLOW ((uint16_t) 0x89)
#define eFAILEDLIBCALL ((uint16_t) 0x90)
#endif /* __PEDEFS_H */