Index | PAL Intro | Commands | Registers | Indices | Stack | Macros | Classes | Attributes | Errors
ps_attributes - Introduction to PROSE object attributes
Pre-requisite Reading
Description
Variable Types
Array Types
See Also
Author
Please see pal_intro(5) for a general description of PAL.
Objects in the nexus may have one or more attributes associated with them, and those attributes may have one or more values. Exactly which attributes can be associated with an object is defined by the classes to which the object belongs.
The following attributes are defined in the core schema, and may be referenced using the attr group of PAL instructions (e.g. attr/load):
author Name of author. copyright Copyright message. cn Common name by which an entity is known (RFC2256). Alias: commonName. description Descriptive information (RFC2256). name General-purpose name. pn Implied attribute, assigned to all objects that are controlled by the PROSE engine. This matches the node name of the object. Alias: psName. psAttribute A single attribute definition. psBlocking A boolean indicating, if TRUE, that access to a resource should block. See ps_stream(5). psBlockingTimeout Maximum number of seconds for a resource to block before timing out. See ps_stream(5). psByteStream Virtual attribute for reading binary data from standard input, if used with the .prose.sys.io object, or from an open file stream, see ps_stream(5). psClass A single class definition. psErrorType Pointer to one or more PROSE error type objects. psFilePath Path to a file in a filesystem. psFunctionPars Declaration of parameters used by a function. psFunctionReturn Return type used by a function. psList A list sequence. psLockType A string indicating the type of lock (Exclusive or Shared). See ps_stream(5). psMatrixIdx Matrix array pointer index (numeric list). psMatrixType Type of variables supported by a matrix array. psMatrixVal Matrix array element value. psModuleRoot Pointer to PROSE module-level object for this code. psObjectCodeRef Offset within PROSE object code. psObjectFileId PROSE object file descriptor. psObjectFileRd Read-only copy of a PROSE object file descriptor. psObjectRef Pointer to one or more PROSE objects. psObjEdit Edit commands to be applied to a PROSE object. psReadSeg Pointer to an internal PROSE data segment read structure. psReadTab Pointer to an internal PROSE data table read structure. psReadVal Pointer to an internal PROSE attribute value read structure. psRunningObject Pointer to PROSE object currently being executed. psSourceFile PROSE source file. psSourceLine PROSE source line identifier. psSleepSeconds Number of seconds to sleep represented as a psFloat. See ps_time(5). psStreamDebug Virtual attribute for writing to debug log, if used with the .prose.sys.io object, see ps_stream(5). psStreamError Virtual attribute for writing to standard error, if used with the .prose.sys.io object, see ps_stream(5). psStreamIn Virtual attribute for reading from standard input one line at a time, if used with the .prose.sys.io object, or from an open file stream, see ps_stream(5). psStreamOut Virtual attribute for writing to standard output, if used with the .prose.sys.io object, or to an open file stream, see ps_stream(5). psStackSize Current size of internal program stack. psTimeSeconds Time as number of seconds since the epoch (1 January 1970). See ps_time(5). psTimerSeconds System timer value as a whole number of seconds. See ps_time(5). psTimerSecondsPrecise System timer value as number of seconds which may include a fractional part expressed as a floating-point number. See ps_time(5). psTimezoneOffset Timezone offset from UTC in HHMM format represented as a psInteger. See ps_time(5). psTreeRoot Set to TRUE if a tree array uses absolute addressing starting at the root node. If set to FALSE or omitted, the tree array uses relative addressing. psVAttr Vector of attribute definitions. psVClass Vector of class definitions. psVersion Version of PROSE engine. psWalker Pointer to an internal PROSE walker structure.
The following attributes are used with variable objects to define the type of data held by the variable, and have classes of the same name:
psBoolean Boolean value (TRUE or FALSE). psByte A single 8-bit unsigned integer. psFloat Multiple precision GMP floating-point number. psIndex Raw index (32-bit unsigned integer). psInteger Arbitrary precision GMP integer. psMatrixRef Pointer to matrix array. psPointer Pointer to a node in the nexus. psRational Arbitrary precision GMP rational number. psString String data. psTime Time data in LDAP generalized time format (RFC4517).
The following attributes are used with array objects to define the type of array, and have classes of the same name:
psMatrix Matrix array definition. The type of data contained within a matrix array is defined by the corresponding psMatrixType attribute. psTreeExp Exploded tree array definition. psTreeImp Imploded tree array definition.
pal_intro(5), pal_commands(5), attr_load(5), ps_classes(5), ps_file(5), ps_stream(5), ps_time(5),
PROSE Assembly Language at prose.sourceforge.net.
Copyright (c) 2002-2018 Mark R. Bannister <cambridge@users.sourceforge.net>.
This is free software and can be downloaded from prose.sourceforge.net; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
PAL 1.0 | ps_attributes (5) | 6 January 2018 |