code event value
E_Fcall function call function
E_Ffail function failure -1
E_Fresum function resumption 0
E_Fret function return value produced
E_Fsusp function suspension value produced
E_Frem function removal 0
E_Ocall operator call operation
E_Ofail operator failure -1
E_Oresum operator resumption 0
E_Oret operator return value produced
E_Osusp operator suspension value produced
E_Orem operator removal 0
E_Pcall procedure call procedure
E_Pfail procedure failure procedure
E_Prem procedure removal procedure
E_Presum procedure resumption procedure
E_Pret procedure return value produced
E_Psusp procedure suspension value produced
mask events
FncMask all function events
OperMask all operator events
ProcMask all procedure events
E_Fcall, E_Ocall, and
E_Pcall all have type procedure; more specific
information can be obtained using image() on the event valueE_Ffail, E_Fresum, E_Frem,
E_Ofail, E_Oresum, and E_Orem are
not useful because no useful information is available at the time they
occur
code event value
E_Lbang list generation list
E_Lcreate list creation list
E_Lget list get or pop list
E_Lpull list pull list
E_Lpush list push list
E_Lput list put list
E_Lrand list random reference list
E_Lsub list subscript subscript
E_Rbang record generation record
E_Rcreate record creation record
E_Rrand record random reference record
E_Rsub record subscript subscript
E_Sbang set generation set
E_Screate set creation set
E_Sdelete set deletion set
E_Sinsert set insertion set
E_Smember set membership set
E_Trand set random reference table
E_Tbang table generation table
E_Tkey table key generation table
E_Tcreate table creation table
E_Tdelete table deletion table
E_Tinsert table insertion table
E_Tmember table membership table
E_Trand table random reference table
E_Tsub table subscript subscript
masks events
ListMask list events
RecordMask record events
SetMask set events
TableMask table events
StructMask all structure events
E_Lget serves for both get()
and pop(); they are just different names for the same function
code event value
E_Sfail scanning failure old subject
E_Snew environment creation new subject
E_Spos scanning position position
E_Sresum scanning resumption restored subject
E_Ssusp scanning suspension current subject
E_Srem environment removal old subject
mask events
ScanMask scanning events
E_Spos events occur for all changes to the scanning position
except when a new scanning environment is createdE_Snew event implies changing the scanning position
to 1
code event value
E_Coact co-expression activation co-expression
E_Cofail co-expression failure co-expression
E_Coret co-expression return co-expression
code event value
E_Assign assignment variable name
E_Value assignment value value assigned
E_Deref dereferencing of variable variable name
E_Ssasgn assignment to substring length of result
mask events
AssignMask E_Assign and E_Value
E_Assign E_Deref is
based on the string produced by the function name()E_Assign
and E_Deref contains additional information about the nature
of identifier+ after an identifier name indicates a global variable,
: a static variable, - a local variable, and
^ a parametercount-tabulatewhich identifies the local identifier
countin the proceduretabulate
E_Value event occurs after the assignment has been
made; thus, an MP can change the value of a variable in a SP following
an E_Value event and have the change be effectiveE_Ssasgn events occur as the result of evaluating expressions
such as
s1[i:j] := s2which is equivalent to
s1 := s1[1:i] || s2 || s1[j:0](assuming
iandjare positive and in nondecreasing order)
code event value
E_Aconv conversion attempt input value
E_Fconv conversion failure input value
E_Nconv conversion not needed input value
E_Sconv conversion success output value
mask events
ConvMask all conversion events
E_Aconv, which is followed by E_Tconv
E_Tconv
event occurs, a representative value of the type is used; this allows the
types for an attempted conversion to be determined in cases where the conversion
failsE_Fconv and E_Nconv
are not particularly useful
code event value
E_BlkDeAlc block deallocation bytes deallocated
E_Coexpr co-expression allocation bytes allocated
E_Cset cset allocation bytes allocated
E_File file allocation bytes allocated
E_Lelem list element allocation bytes allocated
E_List list allocation bytes allocated
E_Lrgint large integer allocation bytes allocated
E_Real real allocation bytes allocated
E_Record record allocation bytes allocated
E_Refresh refresh allocation bytes allocated
E_Selem set element allocation bytes allocated
E_Set set allocation bytes allocated
E_Slots hash header allocation bytes allocated
E_StrDeAlc string deallocation bytes deallocated
E_String string allocation bytes allocated
E_Table table allocation bytes allocated
E_Telem table element allocation bytes allocated
E_Tvsubs substring tv allocation bytes allocated
E_Tvtbl table-element tv allocation bytes allocated
mask events
AllocMask allocation events except deallocation ones
code event value
E_Collect begin garbage collection region number
E_EndCollect end of garbage collection null value
E_TenureBlock tenure block region size
E_Tenure tenure string region size
E_EndCollect is in the event mask for EvGet(),
the data objects saved by garbage collection are reported as allocation
events using the same event codes as for allocationE_Collect event but before
the E_EndCollect eventE_EndCollect
is in the event mask; monitors that request E_EndCollect events
need to take into account the context in which allocation events are reported
name event value
E_Intcall call of interpreter interpreter signal
E_Intret return of interpreter interpreter signal
E_Stack stack depth change stack depth
E_Stack
is erroneously large; use the event value of the first E_Stack
event as a base for subsequent values
name event value
E_Loc location change line/col. #s
E_MXevent event in MP window window event
E_Opcode virtual-machine op. operation code
E_Tick clock tick number of ticks
E_Error run-time error error number
E_Exit program exit exit code
E_Tick events are obtained by checking the system clock
during program interpretation E_TickE_Loc event contains the SP source-program
column number in the high-order 16 bits and the line number in the low-order
16 bits