Units | Class Hierarchy | Classes, Interfaces and Objects | Types | Variables | Constants | Functions and Procedures | Identifiers

# Unit ifps3utl

## Description

Misc Types and functions

This unit contains types and functions used by the compiler and executer

## Classes, Interfaces and Objects

Name | Description
--- | ---
Class `TIfList` | TIfList is the list class used in IFPS3
Class `TIfPascalParser` | TIfPacalParser is the parser used to parse the scripts
Class `TIfStringList` | TIFStringList is the string list class used by IFPS3

## Functions and Procedures

### Overview

`function FastLowerCase(const s: String): string;`
`function FastUpperCase(const s: String): string;`
`function FloatToStr(E: Extended): string;`
`function Fw(const S: string): string;`
`function GRFW(var s: string): string;`
`function IntToStr(I: LongInt): string;`
`function MakeHash(const s: string): Longint;`
`function StrToInt(const S: string): LongInt;`
`function StrToIntDef(const S: string; Def: LongInt): LongInt;`

### Description

`function FastLowerCase(const s: String): string;`

Fast lowercase

`function FastUpperCase(const s: String): string;`

Fast uppercase

`function FloatToStr(E: Extended): string;`

Convert a float to a string

`function Fw(const S: string): string;`

Return the first word of a string

`function GRFW(var s: string): string;`

Get the first word and remove it

`function IntToStr(I: LongInt): string;`

Integer to string conversion

`function MakeHash(const s: string): Longint;`

Make a hash of a string

`function StrToInt(const S: string): LongInt;`

String to integer

`function StrToIntDef(const S: string; Def: LongInt): LongInt;`

String to integer

## Types

Name | Description
--- | ---
PPointerList | PPointerList is pointing to an array of pointers
tbtchar | Chat type
TbtDouble | Double
TbtExtended | Extended
TbtS16 | Smallint
TbtS32 | Integer/Longint
tbts64 | An 8 byte signed integer (int64)
TbtS8 | Shortint
TbtSingle | Single
TbtString | String/Pchar
TbtU16 | word
TbtU32 | Cardinal/Longword
TbtU8 | Byte
tbtwidechar | widechar type
tbtwidestring | widestring type
TIFParserErrorEvent |
TIFParserErrorKind | TIFParserErrorKind is used to store the parser error
TIfPasToken | TIFPasToken is used to store the type of the current token
TIFPSBaseType | TIFPSBaseType is the most basic type -type
TIFPSCallingConvention | calling convention type
TIFPSVariableType | `OnUseVariable` TIFPSVariableType is used in TIFPSComp.OnUseVariable event
TPointerList | An array of pointers

## Constants

Name | Description
--- | ---
btArray | An array
btChar | a Char (1 byte)
btClass | Compile time class type; In IFPS3 external classes are not of one defined type (They could be anything from an integer to a pointer)
btDouble | A 8 byte float (double)
btEnum | Compile time enumeration; This will be a btu32 when compiled
btExtended | A 10 byte float (extended)
btPChar | A PChar (internally the same as a string)
btPointer | A pointer
btProcPtr | Compile time procedural pointer (will be btu32 when compiled)
btRecord | A record
btResourcePointer | A resource pointer: Variable that can contain things from outside the script engine
btReturnAddress | Executer internal type for return addresses, can not be used as a type
btS16 | A 2 byte signed integer (smallint)
btS32 | A 4 byte signed integer (Integer/Longint)
btS64 | An 8 byte signed integer (int64)
btS8 | A 1 byte signed integer (Shortint)
btSet | Set
btSingle | A 4 byte float (single)
btStaticArray | Static array
btString | A string
btU16 | A 2 byte unsigned integer (word)
btU32 | A 4 byte unsigned integer (cardinal/longword)
btU8 | A 1 byte unsigned integer (byte)
btVariant | A variant
btWideChar | A widechar
btWideString | A wide string
CM_A | Script internal command: Assign command
cm_bn | Script internal command: Boolean NOT
Cm_C | Script internal command: Call
CM_CA | Script internal command: Calculate Command
Cm_CG | Script internal command: Conditional Goto
Cm_CNG | Script internal command: Conditional NOT Goto
CM_CO | Script internal command: Compare
Cm_cv | Script internal command: Call Var
cm_fg | Script internal command: Flag Goto
Cm_G | Script internal command: Goto
cm_in | Script internal command: Integer NOT
CM_P | Script internal command: Push
CM_PO | Script internal command: Pop
cm_poexh | Script internal command: Pop Exception Handler
Cm_Pt | Script internal command: Push Type
cm_puexh | Script internal command: Push Exception Handler
CM_PV | Script internal command: Push Var
Cm_R | Script internal command: Ret
cm_sf | Script internal command: Set Flag
cm_sp | Script internal command: Set Pointer
Cm_ST | Script internal command: Set Stack Type
cm_vm | Script internal command: Var Minus
IFPSAddrNegativeStackStart | Start of the negative stack
IFPSAddrStackStart | Start of the positive stack
IFPSCurrentBuildNo | The current build of the compiler and executer.
IFPSCurrentversion | The current version of the script engine
IFPSLowBuildSupport | The lowest supported build by the executer.
IFPSMainProcName | The name of the main proc
IFPSMainProcNameOrg |
IFPSValidHeader | The header of a compiled IFPS3 binary must start with this
MaxListSize | Maximum number of items in a list

## Author

Carlo Kok <ck@carlo-kok.com>