15. PRIMITIVE ACTIONS
Not all functions can be described by calling other
functions of the same language. For this reason and for
performance reasons several functions are defined using a
mechanism called action. For example: It is easy to define
the while-statement by using recursion. But this would
hurt performance and it would also use a huge amount of
memory for the runtime stack. In practice an implementation
of the while-statement can use a conditional jump
instead of a subroutine call. Since Seed7 has no goto
statement, this is not an option. Instead the primitive
action PRC_WHILE can be used. The while-statement is
defined in the basic Seed7 library "seed7_05.s7i" with:
const proc: while (in func boolean param) do
(in proc param) end while is action "PRC_WHILE";
This declaration shows the types and the position of
the parameters of a while-statement. Such an action
declaration contains enough information to use the defined
construct. The semantic of all primitive actions is
hard coded in the interpreter and in the compiler. The
parameters of the hard coded actions and the corresponding
definitions in Seed7 must match. If you are interested in
the Seed7 definitions of primitive actions just look into
the file "seed7_05.s7i".
Currently there are several hundred primitive actions
predefined in the interpreter. They all have names in upper
case characters which have the form:
TYPE_ACTION
Which means that for example all integer actions start
with INT_ and all assignment actions end with _CPY .
The following list shows actions which are used with more
than one type:
_ABS | | Absolute value |
_ADD | | Addition |
_CAT | | Concatenation |
_CMP | | Compare |
_CPY | | Copy (Assignment) |
_CREATE | | Initialize (Construct) |
_DESTR | | Destroy (Destruct) |
_DECR | | Decrement |
_DIV | | Division |
_EQ | | Equal |
_GE | | Greater equal |
_GETC | | Get one character from a file |
_GETS | | Get string with maximum length from a file |
_GT | | Greater than |
_HASHCODE | | Compute a hashCode |
_HEAD | | Head of string, array or ref_list |
_ICONV | | Conversion of integer to another type |
_IDX | | Index (Element) of string, array or ref_list |
_INCR | | Increment |
_IPOW | | Power with integer exponent |
_LE | | Less equal |
_LNG | | Length |
_LOG2 | | Base 2 logarithm |
_LOWER | | Convert to lower case |
_LSHIFT | | Shift left |
_LT | | Less than |
_MDIV | | Modulo division (Integer division truncated towards negative infinity) |
_MOD | | Modulo (Reminder of _MDIV integer division) |
_MULT | | Multiply |
_NE | | Not equal |
_NEGATE | | Change sign |
_ODD | | Odd number |
_ORD | | Ordinal number |
_PARSE | | Conversion of string to another type |
_PLUS | | Positive sign (noop) |
_POW | | Power |
_PRED | | Predecessor |
_RAND | | Random value |
_RANGE | | Range of string, array or ref_list |
_REM | | Remainder (Reminder of _DIV integer division) |
_RSHIFT | | Arithmetic shift right |
_SBTR | | Subtract |
_SCAN | | Convert from string to another type |
_SEEK | | Set actual file position of a file |
_SQRT | | Square root |
_STR | | Convert to string |
_SUCC | | Successor |
_TAIL | | Tail of string, array or ref_list |
_TELL | | Return the actual file position |
_UPPER | | Convert to upper case |
_VALUE | | Dereference a reference |
_WRITE | | Write string to file |
Primitive actions are defined for many types. The functions
which implement the primitive actions are grouped together
in *lib.c files. The following list contains the action
prefix, the file containing the functions and a description:
ACT_ | | actlib.c | | ACTION operations |
ARR_ | | arrlib.c | | array operations |
BIG_ | | biglib.c | | bigInteger operations |
BIN_ | | binlib.c | | bin32 and bin64 operations |
BLN_ | | blnlib.c | | boolean operations |
BST_ | | bstlib.c | | Operations for byte strings |
CHR_ | | chrlib.c | | char operations |
CMD_ | | cmdlib.c | | Various directory, file and other commands |
CON_ | | conlib.c | | console_file operations |
DCL_ | | dcllib.c | | Declaration operations |
DRW_ | | drwlib.c | | Drawing operations |
ENU_ | | enulib.c | | Enumeration operations |
FIL_ | | fillib.c | | clib_file operations |
FLT_ | | fltlib.c | | float operations |
HSH_ | | hshlib.c | | hash operations |
INT_ | | intlib.c | | integer operations |
ITF_ | | itflib.c | | Operations for interface types |
KBD_ | | kbdlib.c | | Keyboard operations |
LST_ | | lstlib.c | | List operations |
PCS_ | | pcslib.c | | process operations |
POL_ | | pollib.c | | pollData operations |
PRC_ | | prclib.c | | proc operations and statements |
PRG_ | | prglib.c | | Program operations |
REF_ | | reflib.c | | reference operations |
RFL_ | | rfllib.c | | ref_list operations |
SCT_ | | sctlib.c | | struct operations |
SET_ | | setlib.c | | set operations |
SOC_ | | soclib.c | | PRIMITIVE_SOCKET operations |
SQL_ | | sqllib.c | | database operations |
STR_ | | strlib.c | | string operations |
TIM_ | | timlib.c | | time and duration operations |
TYP_ | | typlib.c | | type operations |
UT8_ | | ut8lib.c | | utf8File operations |
The C functions which implement primitive actions have
lowercase names. E.g.: The action 'PRC_WHILE' is implemented
with the C function 'prc_while()' in the file "prclib.c".
The parameter list for all C action functions is identical.
Every *lib.c file has a corresponding *lib.h file which
contains the prototypes for the action functions.
In a Seed7 program the operator + is used to add two integer
values. The primitive action, which describes the addition of
two integers, is 'INT_ADD'. The connection between +
and 'INT_ADD' is done in the library "integer.s7i" with the definition:
const func integer: (in integer: summand1) + (in integer: summand2) is action "INT_ADD";
To execute an action a corresponding C function must
be present in the s7 interpreter. The function for the
action 'INT_ADD' is int_add(). The function int_add()
is defined in the file "intlib.c" with:
objectType int_add (listType arguments)
{
isit_int(arg_1(arguments));
isit_int(arg_3(arguments));
return bld_int_temp(
take_int(arg_1(arguments)) +
take_int(arg_3(arguments)));
}
The function int_add() adds the first and the third argument (the
second argument contains the + symbol. The file "objutl.h"
contains several macros and functions which help to handle the
arguments (parameter list) of a C primitive action function.
- The macros arg_1, arg_2,
arg_3, etc. can be used to get an individual argument
(E.g.: arg_3(arguments) ).
- The macros isit_int, isit_stri,
isit_file, etc. can be used to check for the correct
category of an argument
(E.g.: isit_int(arg_1(arguments)) ).
- The macros take_char, take_float,
take_bigint, etc. can be used to get the corresponding
value of an argument (E.g.: take_int(arg_1(arguments)) ).
- The functions bld_int_temp, bld_array_temp,
bld_win_temp, etc. can be used to create the (objectType)
result of a primitive action (E.g.: return bld_int_temp(0); ).
The file "intlib.h" contains the prototype for the int_add()
function:
objectType int_add (listType arguments);
Additionally every primitive action is registered in the file
"primitive.c". The line which incorporates 'INT_ADD' is:
{ "INT_ADD", int_add, },
The entries of the primitive action in the file "primitive.c" are
sorted alphabetically. With this definitions the s7 interpreter
understands a primitive action.
To allow a primitive function in a compiled Seed7 program the
Seed7 compiler (s7c) needs to know the action also. The
compiler function which creates code for the 'INT_ADD' action is:
const proc: process (INT_ADD, in reference: function,
in ref_list: params, inout expr_type: c_expr) is func
begin
c_expr.expr &:= "(";
process_expr(params[1], c_expr);
c_expr.expr &:= ") + (";
process_expr(params[3], c_expr);
c_expr.expr &:= ")";
end func;
This function is defined in "seed7/lib/comp/int_act.s7i" and
called from the function process_action with:
elsif action_name = "INT_ADD" then
process(INT_ADD, function, params, c_expr);
Some primitive actions are more complicated and inline code would
not be the best solution for it. In this case an additional helper
function is used. The action 'INT_LOG2' is such an action. The
definition of the function int_log2() in the file "intlib.c" is:
objectType int_log2 (listType arguments)
{
isit_int(arg_1(arguments));
return bld_int_temp(
intLog2(take_int(arg_1(arguments))));
}
The main work for the primitive action 'INT_LOG2' is done in
the helper function intLog2(). The helper function intLog2()
can be found in the file "int_rtl.c":
intType intLog2 (intType number)
{
int result;
if (unlikely(number < 0)) {
raise_error(NUMERIC_ERROR);
result = 0;
} else {
result = uintMostSignificantBit((uintType) number);
}
return result;
}
The file "int_rtl.h" contains a prototype definition for the
intLog2() helper function:
intType intLog2 (intType number);
The helper functions are also used in the code generated by
the Seed7 compiler:
const proc: process (INT_LOG2, in reference: function,
in ref_list: params, inout expr_type: c_expr) is func
begin
c_expr.expr &:= "intLog2(";
process_expr(params[1], c_expr);
c_expr.expr &:= ")";
end func;
The compiler writes a prototype of intLog2() in the
function write_prototypes:
declareExtern("intType intLog2 (intType);");
All the *lib.c files containing primitive actions and various
other files with their functions are grouped together in the
"s7_comp.a" library (Licensed under GPL). Furthermore the C
primitive action functions (E.g.: int_parse) of the *lib.c
files may use corresponding functions (E.g.: intParse) which
can be found in *_rtl.c files (E.g.: "int_rtl.c"). The *_rtl.c
files are grouped together in the "seed7_05.a" library
(Licensed under LGPL). When a Seed7 program is compiled with
the Seed7 compiler (s7c) inline code is generated for many
primitive actions. To implement the remaining primitive
actions the functions of the "seed7_05.a" library are used.
14.1 Actions for the type ACTION
Action name | actlib.c function | act_comp.c function |
ACT_ILLEGAL | act_illegal | |
ACT_CPY | act_cpy | = |
ACT_CREATE | act_create | |
ACT_EQ | act_eq | == |
ACT_GEN | act_gen | |
ACT_ICONV1 | act_iconv1 | actIConv |
ACT_ICONV3 | act_iconv3 | actIConv |
ACT_NE | act_ne | != |
ACT_ORD | act_ord | actOrd |
ACT_STR | act_str | actStr |
ACT_VALUE | act_value | actValue |
14.2 Actions for array types
Action name | arrlib.c function | arr_rtl.c function |
ARR_APPEND | arr_append | arrAppend |
ARR_ARRLIT | arr_arrlit | arrArrlit |
ARR_ARRLIT2 | arr_arrlit2 | arrArrlit2 |
ARR_BASELIT | arr_baselit | arrBaselit |
ARR_BASELIT2 | arr_baselit2 | arrBaselit2 |
ARR_CAT | arr_cat | arrCat |
ARR_CONV | arr_conv | (noop) |
ARR_CPY | arr_cpy | cpy_ ... |
ARR_CREATE | arr_create | create_ ... |
ARR_DESTR | arr_destr | destr_ ... |
ARR_EMPTY | arr_empty | |
ARR_EXTEND | arr_extend | arrExtend |
ARR_GEN | arr_gen | arrGen |
ARR_HEAD | arr_head | arrHead |
ARR_IDX | arr_idx | a->arr[b-a->min_position] |
ARR_INSERT | arr_insert | arrInsert |
ARR_INSERT_ARRAY | arr_insert_array | arrInsertArray |
ARR_LNG | arr_lng | a->max_position-a->min_position + 1 |
ARR_MAXIDX | arr_maxidx | a->max_position |
ARR_MINIDX | arr_minidx | a->min_position |
ARR_PUSH | arr_push | arrPush |
ARR_RANGE | arr_range | arrRange |
ARR_REMOVE | arr_remove | arrRemove |
ARR_REMOVE_ARRAY | arr_remove_array | arrRemoveArray |
ARR_SORT | arr_sort | arrSort |
ARR_SORT_REVERSE | arr_sort_reverse | arrSortReverse |
ARR_SUBARR | arr_subarr | arrSubarr, arrSubarrTemp |
ARR_TAIL | arr_tail | arrTail |
ARR_TIMES | arr_times | times_ ... |
14.3 Actions for the type bigInteger
Action name | biglib.c function | big_rtl.c function |
BIG_ABS | big_abs | bigAbs |
BIG_ADD | big_add | bigAdd, bigAddTemp |
BIG_ADD_ASSIGN | big_add_assign | bigAddAssign, bigAddAssignSignedDigit |
BIG_BIT_LENGTH | big_bit_length | bigBitLength |
BIG_CMP | big_cmp | bigCmp |
BIG_CONV | big_conv | (noop) |
BIG_CPY | big_cpy | bigCpy |
BIG_CREATE | big_create | bigCreate |
BIG_DECR | big_decr | bigDecr |
BIG_DESTR | big_destr | bigDestr |
BIG_DIV | big_div | bigDiv |
BIG_DIV_REM | big_div_rem | bigDivRem |
BIG_EQ | big_eq | bigEq |
BIG_FROM_BSTRI_BE | big_from_bstri_be | bigFromBStriBe |
BIG_FROM_BSTRI_LE | big_from_bstri_le | bigFromBStriLe |
BIG_GCD | big_gcd | bigGcd |
BIG_GE | big_ge | bigCmp >= 0 |
BIG_GT | big_gt | bigCmp > 0 |
BIG_HASHCODE | big_hashcode | bigHashCode |
BIG_ICONV1 | big_iconv1 | bigIConv |
BIG_ICONV3 | big_iconv3 | bigIConv |
BIG_INCR | big_incr | bigIncr |
BIG_IPOW | big_ipow | bigIPow |
BIG_LE | big_le | bigCmp <= 0 |
BIG_LOG10 | big_log10 | bigLog10 |
BIG_LOG2 | big_log2 | bigLog2 |
BIG_LOWEST_SET_BIT | big_lowest_set_bit | bigLowestSetBit |
BIG_LSHIFT | big_lshift | bigLShift |
BIG_LSHIFT_ASSIGN | big_lshift_assign | bigLShiftAssign |
BIG_LT | big_lt | bigCmp < 0 |
BIG_MDIV | big_mdiv | bigMDiv |
BIG_MOD | big_mod | bigMod |
BIG_MULT | big_mult | bigMult |
BIG_MULT_ASSIGN | big_mult_assign | bigMultAssign |
BIG_NE | big_ne | bigNe |
BIG_NEGATE | big_negate | bigNegate |
BIG_ODD | big_odd | bigOdd |
BIG_ORD | big_ord | bigOrd |
BIG_PARSE1 | big_parse1 | bigParse |
BIG_PARSE_BASED | big_parse_based | bigParseBased |
BIG_PLUS | big_plus | (noop) |
BIG_PRED | big_pred | bigPred |
BIG_RADIX | big_RADIX | bigRadix |
BIG_RAND | big_rand | bigRand |
BIG_REM | big_rem | bigRem |
BIG_RSHIFT | big_rshift | bigRShift |
BIG_RSHIFT_ASSIGN | big_rshift_assign | bigRShiftAssign |
BIG_SBTR | big_sbtr | bigSbtr, bigSbtrTemp |
BIG_SBTR_ASSIGN | big_sbtr_assign | bigSbtrAssign, bigAddAssignSignedDigit |
BIG_STR | big_str | bigStr |
BIG_SUCC | big_succ | bigSucc |
BIG_TO_BSTRI_BE | big_to_bstri_be | bigToBStriBe |
BIG_TO_BSTRI_LE | big_to_bstri_le | bigToBStriLe |
BIG_VALUE | big_value | bigValue |
BIG_radix | big_radix | bigRadix |
14.4 Actions for the types bin32 and bin64
Action name | blnlib.c function | bln_rtl.c function |
BIN_AND | bin_and | & |
BIN_AND_ASSIGN | bin_and_assign | &= |
BIN_BIG | bin_big | bigFromUInt64 |
BIN_BINARY | bin_binary | bigToUInt64 |
BIN_CARD | bin_card | uintCard |
BIN_CMP | bin_cmp | uintCmp |
BIN_GET_BINARY_FROM_SET | bin_get_binary_from_set | setToUInt |
BIN_LSHIFT | bin_lshift | (intType)((uintType)(a<<b)) |
BIN_LSHIFT_ASSIGN | bin_lshift_assign | a=(intType)((uintType)(a<<b)) |
BIN_N_BYTES_BE | bin_n_bytes_be | uintNBytesBe |
BIN_N_BYTES_LE | bin_n_bytes_le | uintNBytesLe |
BIN_OR | bin_or | | |
BIN_OR_ASSIGN | bin_or_assign | |= |
BIN_RADIX | bin_RADIX | uintRadix |
BIN_RSHIFT | bin_rshift | (intType)((uintType)(a>>b)) |
BIN_RSHIFT_ASSIGN | bin_rshift_assign | a=(intType)((uintType)(a>>b)) |
BIN_STR | bin_str | uintStr |
BIN_XOR | bin_xor | ^ |
BIN_XOR_ASSIGN | bin_xor_assign | ^= |
BIN_radix | bin_radix | uintRadix |
14.5 Actions for the type boolean
Action name | blnlib.c function | bln_rtl.c function |
BLN_AND | bln_and | && |
BLN_CPY | bln_cpy | blnCpy |
BLN_CREATE | bln_create | blnCreate |
BLN_EQ | bln_eq | == |
BLN_GE | bln_ge | >= |
BLN_GT | bln_gt | > |
BLN_ICONV1 | bln_iconv1 | & 1 |
BLN_ICONV3 | bln_iconv3 | & 1 |
BLN_LE | bln_le | <= |
BLN_LT | bln_lt | < |
BLN_NE | bln_ne | != |
BLN_NOT | bln_not | ! |
BLN_OR | bln_or | || |
BLN_ORD | bln_ord | (intType) |
BLN_PRED | bln_pred | -1 |
BLN_SUCC | bln_succ | +1 |
BLN_TERNARY | bln_ternary | ((cond)?(thenExpr):(elseExpr)) |
BLN_VALUE | bln_value | blnValue |
14.6 Actions for byte strings
Action name | bstlib.c function | bst_rtl.c function |
BST_APPEND | bst_append | bstAppend |
BST_CAT | bst_cat | bstCat |
BST_CMP | bst_cmp | bstCmp |
BST_CPY | bst_cpy | bstCpy |
BST_CREATE | bst_create | bstCreate |
BST_DESTR | bst_destr | bstDestr |
BST_EMPTY | bst_empty | |
BST_EQ | bst_eq | a->size==b->size && memcmp(a,b,a->size*sizeof(unsigned char))==0 |
BST_HASHCODE | bst_hashcode | bstHashCode |
BST_IDX | bst_idx | a->mem[b-1] |
BST_LNG | bst_lng | a->size |
BST_NE | bst_ne | a->size!=b->size || memcmp(a,b,a->size*sizeof(unsigned char))!=0 |
BST_PARSE1 | bst_parse1 | bstParse |
BST_STR | bst_str | bstStr |
BST_VALUE | bst_value | bstValue |
14.7 Actions for the type char
Action name | chrlib.c function | chr_rtl.c function |
CHR_CLIT | chr_clit | chrCLit |
CHR_CMP | chr_cmp | chrCmp |
CHR_CPY | chr_cpy | chrCpy |
CHR_CREATE | chr_create | chrCreate |
CHR_DECR | chr_decr | -- |
CHR_EQ | chr_eq | == |
CHR_GE | chr_ge | >= |
CHR_GT | chr_gt | > |
CHR_HASHCODE | chr_hashcode | (intType)((scharType)a) |
CHR_ICONV1 | chr_iconv1 | (charType) |
CHR_ICONV3 | chr_iconv3 | (charType) |
CHR_INCR | chr_incr | ++ |
CHR_IS_LETTER | chr_is_letter | chrIsLetter |
CHR_LE | chr_le | <= |
CHR_LOW | chr_low | chrLow |
CHR_LT | chr_lt | < |
CHR_NE | chr_ne | != |
CHR_ORD | chr_ord | (intType) |
CHR_PRED | chr_pred | -1 |
CHR_STR | chr_str | chrStr |
CHR_SUCC | chr_succ | +1 |
CHR_UP | chr_up | chrUp |
CHR_VALUE | chr_value | chrValue |
CHR_WIDTH | chr_width | chrWidth |
14.8 Actions for various directory, file and other commands
Action name | cmdlib.c function | cmd_rtl.c function |
CMD_BIG_FILESIZE | cmd_big_filesize | cmdBigFileSize |
CMD_CHDIR | cmd_chdir | cmdChdir |
CMD_CLONE_FILE | cmd_clone_file | cmdCloneFile |
CMD_CONFIG_VALUE | cmd_config_value | cmdConfigValue |
CMD_COPY_FILE | cmd_copy_file | cmdCopyFile |
CMD_ENVIRONMENT | cmd_environment | cmdEnvironment |
CMD_FILESIZE | cmd_filesize | cmdFileSize |
CMD_FILETYPE | cmd_filetype | cmdFileType |
CMD_FILETYPE_SL | cmd_filetype_sl | cmdFileTypeSL |
CMD_FINAL_PATH | cmd_final_path | cmdFinalPath |
CMD_GETCWD | cmd_getcwd | cmdGetcwd |
CMD_GETENV | cmd_getenv | cmdGetenv |
CMD_GET_ATIME | cmd_get_atime | cmdGetATime |
CMD_GET_ATIME_OF_SYMLINK | cmd_get_atime_of_symlink | cmdGetATimeOfSymlink |
CMD_GET_CTIME | cmd_get_ctime | cmdGetCTime |
CMD_GET_FILE_MODE | cmd_get_file_mode | cmdGetFileMode |
CMD_GET_FILE_MODE_OF_SYMLINK | cmd_get_file_mode_of_symlink | cmdGetFileModeOfSymlink |
CMD_GET_GROUP | cmd_get_group | cmdGetGroup |
CMD_GET_GROUP_OF_SYMLINK | cmd_get_group_of_symlink | cmdGetGroupOfSymlink |
CMD_GET_MTIME | cmd_get_mtime | cmdGetMTime |
CMD_GET_MTIME_OF_SYMLINK | cmd_get_mtime_of_symlink | cmdGetMTimeOfSymlink |
CMD_GET_OWNER | cmd_get_owner | cmdGetOwner |
CMD_GET_OWNER_OF_SYMLINK | cmd_get_owner_of_symlink | cmdGetOwnerOfSymlink |
CMD_GET_SEARCH_PATH | cmd_get_search_path | cmdGetSearchPath |
CMD_HOME_DIR | cmd_home_dir | cmdHomeDir |
CMD_MAKE_DIR | cmd_make_dir | cmdMakeDir |
CMD_MAKE_LINK | cmd_make_link | cmdMakeLink |
CMD_MOVE | cmd_move | cmdMove |
CMD_READ_DIR | cmd_read_dir | cmdReadDir |
CMD_READ_LINK | cmd_read_link | cmdReadLink |
CMD_READ_LINK_ABSOLUTE | cmd_read_link_absolute | cmdReadLinkAbsolute |
CMD_REMOVE_FILE | cmd_remove_file | cmdRemoveFile |
CMD_REMOVE_TREE | cmd_remove_tree | cmdRemoveTree |
CMD_SETENV | cmd_setenv | cmdSetenv |
CMD_SET_ATIME | cmd_set_atime | cmdSetATime |
CMD_SET_FILEMODE | cmd_set_filemode | cmdSetFileMode |
CMD_SET_GROUP | cmd_set_group | cmdSetGroup |
CMD_SET_GROUP_OF_SYMLINK | cmd_set_group_of_symlink | cmdSetGroupOfSymlink |
CMD_SET_MTIME | cmd_set_mtime | cmdSetMTime |
CMD_SET_MTIME_OF_SYMLINK | cmd_set_mtime_of_symlink | cmdSetMTimeOfSymlink |
CMD_SET_OWNER | cmd_set_owner | cmdSetOwner |
CMD_SET_OWNER_OF_SYMLINK | cmd_set_owner_of_symlink | cmdSetOwnerOfSymlink |
CMD_SET_SEARCH_PATH | cmd_set_search_path | cmdSetSearchPath |
CMD_SHELL | cmd_shell | cmdShell |
CMD_SHELL_ESCAPE | cmd_shell_escape | cmdShellEscape |
CMD_TO_OS_PATH | cmd_to_os_path | cmdToOsPath |
CMD_UNSETENV | cmd_unsetenv | cmdUnsetenv |
14.9 Actions for text (console) screen output
Action name | scrlib.c function | con_inf.c/con_rtl.c/con_win.c function |
CON_CLEAR | con_clear | conClear |
CON_COLUMN | con_column | conColumn |
CON_CURSOR | con_cursor | conCursor |
CON_FLUSH | con_flush | conFlush |
CON_HEIGHT | con_height | conHeight |
CON_H_SCL | con_h_scl | conHScroll |
CON_LINE | con_line | conLine |
CON_OPEN | con_open | conOpen |
CON_SETPOS | con_setpos | conSetpos |
CON_V_SCL | con_v_scl | conVScroll |
CON_WIDTH | con_width | conWidth |
CON_WRITE | con_write | conWrite |
14.10 Actions for declarations
Action name | dcllib.c function |
DCL_ATTR | dcl_attr |
DCL_CONST | dcl_const |
DCL_ELEMENTS | dcl_elements |
DCL_FWD | dcl_fwd |
DCL_FWDVAR | dcl_fwdvar |
DCL_GETFUNC | dcl_getfunc |
DCL_GETOBJ | dcl_getobj |
DCL_GLOBAL | dcl_global |
DCL_IN1 | dcl_in1 |
DCL_IN1VAR | dcl_in1var |
DCL_IN2 | dcl_in2 |
DCL_IN2VAR | dcl_in2var |
DCL_INOUT1 | dcl_inout1 |
DCL_INOUT2 | dcl_inout2 |
DCL_PARAM_ATTR | dcl_param_attr |
DCL_REF1 | dcl_ref1 |
DCL_REF2 | dcl_ref2 |
DCL_SYMB | dcl_symb |
DCL_SYNTAX | dcl_syntax |
DCL_VAL1 | dcl_val1 |
DCL_VAL2 | dcl_val2 |
DCL_VAR | dcl_var |
14.11 Actions to do graphic output
Action name | drwlib.c function | drw_rtl.c/drw_x11.c/drw_win.c function |
DRW_ARC | drw_arc | drwArc |
DRW_ARC2 | drw_arc2 | drwArc2 |
DRW_BACKGROUND | drw_background | drwBackground |
DRW_BORDER | drw_border | drwBorder |
DRW_CAPTURE | drw_capture | drwCapture |
DRW_CIRCLE | drw_circle | drwCircle |
DRW_CLEAR | drw_clear | drwClear |
DRW_CMP | drw_cmp | uintCmpGeneric((genericType)(a)) |
DRW_COLOR | drw_color | drwColor |
DRW_CONV_POINT_LIST | drw_conv_point_list | drwConvPointList |
DRW_COPYAREA | drw_copyarea | drwCopyArea |
DRW_CPY | drw_cpy | drwCpy |
DRW_CREATE | drw_create | drwCreate |
DRW_DESTR | drw_destr | drwDestr |
DRW_EMPTY | drw_empty | |
DRW_EQ | drw_eq | == |
DRW_FARCCHORD | drw_farcchord | drwFArcChord |
DRW_FARCPIESLICE | drw_farcpieslice | drwFArcPieSlice |
DRW_FCIRCLE | drw_fcircle | drwFCircle |
DRW_FELLIPSE | drw_fellipse | drwFEllipse |
DRW_FLUSH | drw_flush | drwFlush |
DRW_FPOLY_LINE | drw_fpoly_line | drwFPolyLine |
DRW_GEN_POINT_LIST | drw_gen_point_list | drwGenPointList |
DRW_GET_IMAGE_PIXEL | drw_get_image_pixel | drwGetImagePixel |
DRW_GET_PIXEL | drw_get_pixel | drwGetPixel |
DRW_GET_PIXEL_ARRAY | drw_get_pixel_array | drwGetPixelArray |
DRW_GET_PIXEL_DATA | drw_get_pixel_data | drwGetPixelData |
DRW_GET_PIXMAP | drw_get_pixmap | drwGetPixmap |
DRW_GET_PIXMAP_FROM_PIXELS | drw_get_pixmap_from_pixels | drwGetPixmapFromPixels |
DRW_HASHCODE | drw_hashcode | (intType)(((memSizeType)a)>>6) |
DRW_HEIGHT | drw_height | drwHeight |
DRW_LINE | drw_line | drwLine |
DRW_NE | drw_ne | != |
DRW_NEW_PIXMAP | drw_new_pixmap | drwNewPixmap |
DRW_OPEN | drw_open | drwOpen |
DRW_OPEN_SUB_WINDOW | drw_open_sub_window | drwOpenSubWindow |
DRW_PARC | drw_parc | drwPArc |
DRW_PCIRCLE | drw_pcircle | drwPCircle |
DRW_PFARC | drw_pfarc | drwPFArc |
DRW_PFARCCHORD | drw_pfarcchord | drwPFArcChord |
DRW_PFARCPIESLICE | drw_pfarcpieslice | drwFArcPieSlice |
DRW_PFCIRCLE | drw_pfcircle | drwPFCircle |
DRW_PFELLIPSE | drw_pfellipse | drwPFEllipse |
DRW_PIXEL_TO_RGB | drw_pixel_to_rgb | drwPixelToRgb |
DRW_PLINE | drw_pline | drwPLine |
DRW_POINT | drw_point | drwPoint |
DRW_POINTER_XPOS | drw_pointer_xpos | drwPointerXpos |
DRW_POINTER_YPOS | drw_pointer_ypos | drwPointerYpos |
DRW_POLY_LINE | drw_poly_line | drwPolyLine |
DRW_PPOINT | drw_ppoint | drwPPoint |
DRW_PRECT | drw_prect | drwPRect |
DRW_PUT | drw_put | drwPut |
DRW_PUT_SCALED | drw_put_scaled | drwPutScaled |
DRW_RECT | drw_rect | drwRect |
DRW_RGBCOL | drw_rgbcol | drwRgbColor |
DRW_SCREEN_HEIGHT | drw_screen_height | drwScreenHeight |
DRW_SCREEN_WIDTH | drw_screen_width | drwScreenWidth |
DRW_SET_CLOSE_ACTION | drw_set_close_action | drwSetCloseAction |
DRW_SET_CONTENT | drw_set_content | drwSetContent |
DRW_SET_CURSOR_VISIBLE | drw_set_cursor_visible | drwSetCursorVisible |
DRW_SET_POINTER_POS | drw_set_pointer_pos | drwSetPointerPos |
DRW_SET_POS | drw_set_pos | drwSetPos |
DRW_SET_TRANSPARENT_COLOR | drw_set_transparent_color | drwSetTransparentColor |
DRW_SET_WINDOW_NAME | drw_set_window_name | drwSetWindowName |
DRW_TEXT | drw_text | drwText |
DRW_TO_BOTTOM | drw_to_bottom | drwToBottom |
DRW_TO_TOP | drw_to_top | drwToTop |
DRW_VALUE | drw_value | drwValue |
DRW_WIDTH | drw_width | drwWidth |
DRW_XPOS | drw_xpos | drwXPos |
DRW_YPOS | drw_ypos | drwYPos |
14.12 Actions for enumeration types
Action name | enulib.c function | |
ENU_CONV | enu_conv | (noop) |
ENU_CPY | enu_cpy | = |
ENU_CREATE | enu_create | |
ENU_EQ | enu_eq | == |
ENU_GENLIT | enu_genlit | |
ENU_ICONV2 | enu_iconv2 | (noop) |
ENU_NE | enu_ne | != |
ENU_ORD2 | enu_ord2 | (noop) |
ENU_VALUE | enu_value | enuValue |
14.13 Actions for the type clib_file
Action name | fillib.c function | fil_rtl.c function |
FIL_BIG_LNG | fil_big_lng | filBigLng |
FIL_BIG_SEEK | fil_big_seek | filBigSeek |
FIL_BIG_TELL | fil_big_tell | filBigTell |
FIL_CLOSE | fil_close | fclose |
FIL_CPY | fil_cpy | fltCpy |
FIL_CREATE | fil_create | fltCreate |
FIL_DESTR | fil_destr | filDestr |
FIL_EMPTY | fil_empty | |
FIL_EOF | fil_eof | feof |
FIL_EQ | fil_eq | == |
FIL_ERR | fil_err | stderr |
FIL_FLUSH | fil_flush | fflush |
FIL_GETC | fil_getc | fgetc |
FIL_GETS | fil_gets | filGets |
FIL_HAS_NEXT | fil_has_next | filHasNext |
FIL_IN | fil_in | stdin |
FIL_INPUT_READY | fil_input_ready | filInputReady |
FIL_LINE_READ | fil_line_read | filLineRead |
FIL_LIT | fil_lit | filLit |
FIL_LNG | fil_lng | filLng |
FIL_NE | fil_ne | != |
FIL_OPEN | fil_open | filOpen |
FIL_OPEN_NULL_DEVICE | fil_open_null_device | filOpenNullDevice |
FIL_OUT | fil_out | stdout |
FIL_PCLOSE | fil_pclose | filPclose |
FIL_POPEN | fil_popen | filPopen |
FIL_PRINT | fil_print | filPrint |
FIL_SEEK | fil_seek | filSeek |
FIL_SETBUF | fil_setbuf | filSetbuf |
FIL_TELL | fil_tell | filTell |
FIL_TRUNCATE | fil_truncate | filTruncate |
FIL_VALUE | fil_value | filValue |
FIL_WORD_READ | fil_word_read | filWordRead |
FIL_WRITE | fil_write | filWrite |
14.14 Actions for the type float
Action name | fltlib.c function | flt_rtl.c function |
FLT_ABS | flt_abs | fabs |
FLT_ACOS | flt_acos | acos |
FLT_ADD | flt_add | + |
FLT_ADD_ASSIGN | flt_add_assign | += |
FLT_ASIN | flt_asin | asin |
FLT_ATAN | flt_atan | atan |
FLT_ATAN2 | flt_atan2 | atan2 |
FLT_BITS2DOUBLE | flt_bits2double | (x.bits=a, x.aDouble) |
FLT_BITS2SINGLE | flt_bits2single | (x.bits=a, x.aSingle) |
FLT_CEIL | flt_ceil | ceil |
FLT_CMP | flt_cmp | fltCmp |
FLT_COS | flt_cos | cos |
FLT_COSH | flt_cosh | cosh |
FLT_CPY | flt_cpy | fltCpy |
FLT_CREATE | flt_create | fltCreate |
FLT_DECOMPOSE | flt_decompose | frexp |
FLT_DGTS | flt_dgts | fltDgts |
FLT_DIV | flt_div | / |
FLT_DIV_ASSIGN | flt_div_assign | /= |
FLT_DOUBLE2BITS | flt_double2bits | (x.aDouble=a, x.bits) |
FLT_EQ | flt_eq | == |
FLT_EXP | flt_exp | exp |
FLT_EXPM1 | flt_expm1 | expm1 |
FLT_FLOOR | flt_floor | floor |
FLT_GE | flt_ge | >= |
FLT_GT | flt_gt | > |
FLT_HASHCODE | flt_hashcode | (x.floatValue=a, x.intValue) |
FLT_ICONV1 | flt_iconv1 | (float) |
FLT_ICONV3 | flt_iconv3 | (float) |
FLT_IPOW | flt_ipow | fltIPow |
FLT_ISNAN | flt_isnan | isnan |
FLT_ISNEGATIVEZERO | flt_isnegativezero | fltIsNegativeZero |
FLT_LE | flt_le | <= |
FLT_LOG | flt_log | log |
FLT_LOG10 | flt_log10 | log10 |
FLT_LOG1P | flt_log1p | log1p |
FLT_LOG2 | flt_log2 | log2 |
FLT_LSHIFT | flt_lshift | ldexp |
FLT_LT | flt_lt | < |
FLT_MOD | flt_mod | fltMod |
FLT_MULT | flt_mult | * |
FLT_MULT_ASSIGN | flt_mult_assign | *= |
FLT_NE | flt_ne | != |
FLT_NEGATE | flt_negate | - |
FLT_PARSE1 | flt_parse1 | fltParse |
FLT_PLUS | flt_plus | (noop) |
FLT_POW | flt_pow | pow |
FLT_RAND | flt_rand | fltRand |
FLT_REM | flt_rem | fmod |
FLT_ROUND | flt_round | a<0.0?-((intType)(0.5-a)):(intType)(0.5+a) |
FLT_RSHIFT | flt_rshift | ldexp |
FLT_SBTR | flt_sbtr | - |
FLT_SBTR_ASSIGN | flt_sbtr_assign | -= |
FLT_SCI | flt_sci | fltSci |
FLT_SIN | flt_sin | sin |
FLT_SINGLE2BITS | flt_single2bits | (x.aSingle=a, x.bits) |
FLT_SINH | flt_sinh | sinh |
FLT_SQRT | flt_sqrt | sqrt |
FLT_STR | flt_str | fltStr |
FLT_TAN | flt_tan | tan |
FLT_TANH | flt_tanh | tanh |
FLT_TRUNC | flt_trunc | (intType) |
FLT_VALUE | flt_value | fltValue |
14.15 Actions to support the graphic keyboard
Action name | drwlib.c function | kbd_rtl.c/drw_x11.c/drw_win.c function |
GKB_BUTTON_PRESSED | gkb_button_pressed | gkbButtonPressed |
GKB_CLICKED_XPOS | gkb_clicked_xpos | gkbClickedXpos |
GKB_CLICKED_YPOS | gkb_clicked_ypos | gkbClickedYpos |
GKB_GETC | gkb_getc | gkbGetc |
GKB_GETS | gkb_gets | gkbGets |
GKB_INPUT_READY | gkb_input_ready | gkbInputReady |
GKB_LINE_READ | gkb_line_read | gkbLineRead |
GKB_RAW_GETC | gkb_raw_getc | gkbRawGetc |
GKB_SELECT_INPUT | gkb_select_input | gkbSelectInput |
GKB_WINDOW | gkb_window | gkbWindow |
GKB_WORD_READ | gkb_word_read | gkbWordRead |
14.16 Actions for hash types
Action name | hshlib.c function | hsh_rtl.c function |
HSH_CONTAINS | hsh_contains | hshContains |
HSH_CPY | hsh_cpy | hshCpy |
HSH_CREATE | hsh_create | hshCreate |
HSH_DESTR | hsh_destr | hshDestr |
HSH_EMPTY | hsh_empty | hshEmpty |
HSH_EXCL | hsh_excl | hshExcl |
HSH_FOR | hsh_for | for |
HSH_FOR_DATA_KEY | hsh_for_data_key | for |
HSH_FOR_KEY | hsh_for_key | for |
HSH_IDX | hsh_idx | hshIdx, hshIdxAddr |
HSH_IDX2 | hsh_idx2 | |
HSH_INCL | hsh_incl | hshIncl |
HSH_KEYS | hsh_keys | hshKeys |
HSH_LNG | hsh_lng | a->size |
HSH_RAND_KEY | hsh_rand_key | hshRand |
HSH_REFIDX | hsh_refidx | |
HSH_UPDATE | hsh_update | hshUpdate |
HSH_VALUES | hsh_values | hshValues |
14.17 Actions for the type integer
Action name | intlib.c function | int_rtl.c function |
INT_ABS | int_abs | labs |
INT_ADD | int_add | + |
INT_ADD_ASSIGN | int_add_assign | += |
INT_BINOM | int_binom | intBinom |
INT_BIT_LENGTH | int_bit_length | intBitLength |
INT_BYTES_BE_2_INT | int_bytes_be_2_int | intBytesBe2Int |
INT_BYTES_BE_2_UINT | int_bytes_be_2_uint | intBytesBe2UInt |
INT_BYTES_BE_SIGNED | int_bytes_be_signed | intBytesBe |
INT_BYTES_BE_UNSIGNED | int_bytes_be_unsigned | intBytesBe |
INT_BYTES_LE_2_INT | int_bytes_le_2_int | intBytesLe2Int |
INT_BYTES_LE_2_UINT | int_bytes_le_2_uint | intBytesLe2UInt |
INT_BYTES_LE_SIGNED | int_bytes_le_signed | intBytesLe |
INT_BYTES_LE_UNSIGNED | int_bytes_le_unsigned | intBytesLe |
INT_CMP | int_cmp | intCmp |
INT_CPY | int_cpy | intCpy |
INT_CREATE | int_create | intCreate |
INT_DECR | int_decr | -- |
INT_DIV | int_div | / |
INT_EQ | int_eq | == |
INT_FACT | int_fact | fact[a] |
INT_GE | int_ge | >= |
INT_GT | int_gt | > |
INT_HASHCODE | int_hashcode | (noop) |
INT_ICONV1 | int_iconv1 | (noop) |
INT_ICONV3 | int_iconv3 | (noop) |
INT_INCR | int_incr | ++ |
INT_LE | int_le | <= |
INT_LOG10 | int_log10 | intLog10 |
INT_LOG2 | int_log2 | intLog2 |
INT_LOWEST_SET_BIT | int_lowest_set_bit | intLowestSetBit |
INT_LPAD0 | int_lpad0 | intLpad0 |
INT_LSHIFT | int_lshift | << |
INT_LSHIFT_ASSIGN | int_lshift_assign | <<= |
INT_LT | int_lt | < |
INT_MDIV | int_mdiv | a>0&&b<0 ? (a-1)/b-1 : a<0&&b>0 ? (a+1)/b-1 : a/b |
INT_MOD | int_mod | c=a%b, ((a>0&&b<0) || (a<0&&b>0)) && c!=0 ? c+b : c |
INT_MULT | int_mult | * |
INT_MULT_ASSIGN | int_mult_assign | *= |
INT_NE | int_ne | != |
INT_NEGATE | int_negate | - |
INT_N_BYTES_BE_SIGNED | int_n_bytes_be_signed | intNBytesBeSigned |
INT_N_BYTES_BE_UNSIGNED | int_n_bytes_be_unsigned | intNBytesBeUnsigned |
INT_N_BYTES_LE_SIGNED | int_n_bytes_le_signed | intNBytesLeSigned |
INT_N_BYTES_LE_UNSIGNED | int_n_bytes_le_unsigned | intNBytesLeUnsigned |
INT_ODD | int_odd | &1 |
INT_PARSE1 | int_parse1 | intParse |
INT_PLUS | int_plus | (noop) |
INT_POW | int_pow | intPow |
INT_PRED | int_pred | -- |
INT_RADIX | int_RADIX | intRadix |
INT_RAND | int_rand | intRand |
INT_REM | int_rem | % |
INT_RSHIFT | int_rshift | a>>b
a<0?~(~a>>b):a>>b |
INT_RSHIFT_ASSIGN | int_rshift_assign | a>>=b
if (a<0) a= ~(~a>>b); else a>>=b; |
INT_SBTR | int_sbtr | - |
INT_SBTR_ASSIGN | int_sbtr_assign | -= |
INT_SQRT | int_sqrt | intSqrt |
INT_STR | int_str | intStr |
INT_SUCC | int_succ | +1 |
INT_VALUE | int_value | intValue |
INT_radix | int_radix | intRadix |
14.18 Actions for interface types
Action name | itflib.c function | |
ITF_CMP | itf_cmp | uintCmpGeneric |
ITF_CONV2 | itf_conv2 | (noop) |
ITF_CPY | itf_cpy | = |
ITF_CPY2 | itf_cpy2 | = |
ITF_CREATE | itf_create | |
ITF_CREATE2 | itf_create2 | |
ITF_DESTR | itf_destr | itfDestr |
ITF_EQ | itf_eq | == |
ITF_HASHCODE | itf_hashcode | (intType)(((memSizeType)a)>>6) |
ITF_NE | itf_ne | != |
ITF_SELECT | itf_select | |
ITF_TO_INTERFACE | itf_to_interface | |
14.19 Actions to support the text (console) screen keyboard
Action name | kbdlib.c function | kbd_rtl.c/kbd_inf.c function |
KBD_GETC | kbd_getc | kbdGetc |
KBD_GETS | kbd_gets | kbdGets |
KBD_INPUT_READY | kbd_input_ready | kbdInputReady |
KBD_LINE_READ | kbd_line_read | kbdLineRead |
KBD_RAW_GETC | kbd_raw_getc | kbdRawGetc |
KBD_WORD_READ | kbd_word_read | kbdWordRead |
14.20 Actions for the list type
Action name | lstlib.c function |
LST_CAT | lst_cat |
LST_CPY | lst_cpy |
LST_CREATE | lst_create |
LST_DESTR | lst_destr |
LST_EMPTY | lst_empty |
LST_EXCL | lst_excl |
LST_HEAD | lst_head |
LST_IDX | lst_idx |
LST_INCL | lst_incl |
LST_LNG | lst_lng |
LST_RANGE | lst_range |
LST_TAIL | lst_tail |
14.21 Actions for the type process
Action name | pcslib.c function | pcs_rtl.c function |
PCS_CHILD_STDERR | pcs_child_stderr | pcsChildStdErr |
PCS_CHILD_STDIN | pcs_child_stdin | pcsChildStdIn |
PCS_CHILD_STDOUT | pcs_child_stdout | pcsChildStdOut |
PCS_CMP | pcs_cmp | pcsCmp |
PCS_CPY | pcs_cpy | pcsCpy |
PCS_CREATE | pcs_create | pcsCreate |
PCS_DESTR | pcs_destr | pcsDestr |
PCS_EMPTY | pcs_empty | |
PCS_EQ | pcs_eq | pcsEq |
PCS_EXIT_VALUE | pcs_exit_value | pcsExitValue |
PCS_HASHCODE | pcs_hashcode | pcsHashCode |
PCS_IS_ALIVE | pcs_is_alive | pcsIsAlive |
PCS_KILL | pcs_kill | pcsKill |
PCS_NE | pcs_ne | !pcsEq |
PCS_PIPE2 | pcs_pipe2 | pcsPipe2 |
PCS_PTY | pcs_pty | pcsPty |
PCS_START | pcs_start | pcsStart |
PCS_STR | pcs_str | pcsStr |
PCS_VALUE | pcs_value | pcsValue |
PCS_WAIT_FOR | pcs_wait_for | pcsWaitFor |
14.22 Actions for the type pollData
Action name | pollib.c function | pol_unx.c/pol_sel.c function |
POL_ADD_CHECK | pol_add_check | polAddCheck |
POL_CLEAR | pol_clear | polClear |
POL_CPY | pol_cpy | polCpy |
POL_CREATE | pol_create | polCreate |
POL_DESTR | pol_destr | polDestr |
POL_EMPTY | pol_empty | polEmpty |
POL_GET_CHECK | pol_get_check | polGetCheck |
POL_GET_FINDING | pol_get_finding | polGetFinding |
POL_HAS_NEXT | pol_has_next | polHasNext |
POL_ITER_CHECKS | pol_iter_checks | polIterChecks |
POL_ITER_FINDINGS | pol_iter_findings | polIterFindings |
POL_NEXT_FILE | pol_next_file | polNextFile |
POL_POLL | pol_poll | polPoll |
POL_REMOVE_CHECK | pol_remove_check | polRemoveCheck |
POL_VALUE | pol_value | polValue |
14.23 Actions for proc operations and statements
Action name | prclib.c function | |
PRC_ARGS | prc_args | arg_v |
PRC_BEGIN | prc_begin | |
PRC_BEGIN_NOOP | prc_begin_noop | |
PRC_BLOCK | prc_block | |
PRC_BLOCK_CATCH_ALL | prc_block_catch_all | |
PRC_BLOCK_OTHERWISE | prc_block_otherwise | |
PRC_CASE | prc_case | switch |
PRC_CASE_DEF | prc_case_def | switch |
PRC_CASE_HASHSET | prc_case_hashset | switch (hshIdxDefault0(...) |
PRC_CASE_HASHSET_DEF | prc_case_hashset_def | switch (hshIdxDefault0(...) |
PRC_CPY | prc_cpy | |
PRC_CREATE | prc_create | |
PRC_DECLS | prc_decls | |
PRC_DYNAMIC | prc_dynamic | |
PRC_EXIT | prc_exit | exit |
PRC_FOR_DOWNTO | prc_for_downto | for |
PRC_FOR_DOWNTO_STEP | prc_for_downto_step | for |
PRC_FOR_TO | prc_for_to | for |
PRC_FOR_TO_STEP | prc_for_to_step | for |
PRC_HEAPSTAT | prc_heapstat | |
PRC_HSIZE | prc_hsize | heapsize |
PRC_IF | prc_if | if |
PRC_IF_ELSIF | prc_if_elsif | if |
PRC_IF_NOOP | prc_if_noop | if |
PRC_INCLUDE | prc_include | |
PRC_LOCAL | prc_local | |
PRC_NOOP | prc_noop | prcNoop |
PRC_RAISE | prc_raise | raise_error |
PRC_REPEAT | prc_repeat | do {stmts} while (!(cond)); |
PRC_REPEAT_NOOP | prc_repeat_noop | do {} while (!(cond)); |
PRC_RES_BEGIN | prc_res_begin | |
PRC_RES_LOCAL | prc_res_local | |
PRC_RETURN | prc_return | |
PRC_RETURN2 | prc_return2 | |
PRC_SETTRACE | prc_settrace | |
PRC_TRACE | prc_trace | |
PRC_VARFUNC | prc_varfunc | |
PRC_VARFUNC2 | prc_varfunc2 | |
PRC_WHILE | prc_while | while (cond) {stmts} |
PRC_WHILE_NOOP | prc_while_noop | while (cond) {} |
14.24 Actions for the type program
Action name | prglib.c function | prg_comp.c function |
PRG_CPY | prg_cpy | prgCpy |
PRG_CREATE | prg_create | |
PRG_DESTR | prg_destr | |
PRG_EMPTY | prg_empty | |
PRG_EQ | prg_eq | == |
PRG_ERROR_COUNT | prg_error_count | prgErrorCount |
PRG_EVAL | prg_eval | prgEval |
PRG_EXEC | prg_exec | prgExec |
PRG_FIL_PARSE | prg_fil_parse | prgFilParse |
PRG_GLOBAL_OBJECTS | prg_global_objects | prgGlobalObjects |
PRG_MATCH | prg_match | prgMatch |
PRG_MATCH_EXPR | prg_match_expr | prgMatchExpr |
PRG_NAME | prg_name | arg_0 |
PRG_NE | prg_ne | != |
PRG_OWN_NAME | prg_own_name | programName |
PRG_OWN_PATH | prg_own_path | programPath |
PRG_PATH | prg_path | programPath |
PRG_STR_PARSE | prg_str_parse | prgStrParse |
PRG_SYOBJECT | prg_syobject | prgSyobject |
PRG_SYSVAR | prg_sysvar | prgSysvar |
PRG_VALUE | prg_value | prgValue |
14.25 Actions for the type reference
Action name | reflib.c function | ref_data.c function |
REF_ADDR | ref_addr | & |
REF_ALLOC | ref_alloc | refAlloc |
REF_ALLOC_INT | ref_alloc_int | refAllocInt |
REF_ALLOC_STRI | ref_alloc_stri | refAllocStri |
REF_ALLOC_VAR | ref_alloc_var | refAllocVar |
REF_ARRMAXIDX | ref_arrmaxidx | refArrmaxidx |
REF_ARRMINIDX | ref_arrminidx | refArrminidx |
REF_ARRTOLIST | ref_arrtolist | refArrtolist |
REF_BODY | ref_body | refBody |
REF_CAST | ref_cast | |
REF_CATEGORY | ref_category | refCategory |
REF_CAT_PARSE | ref_cat_parse | refCatParse |
REF_CAT_STR | ref_cat_str | refCatStr |
REF_CMP | ref_cmp | refCmp |
REF_CONTENT | ref_content | |
REF_CPY | ref_cpy | refCpy |
REF_CREATE | ref_create | refCreate |
REF_DEREF | ref_deref | |
REF_EQ | ref_eq | == |
REF_FILE | ref_file | refFile |
REF_GETREF | ref_getref | refGetRef |
REF_HASHCODE | ref_hashcode | (intType)(((memSizeType)a)>>6) |
REF_HSHDATATOLIST | ref_hshdatatolist | refHshDataToList |
REF_HSHKEYSTOLIST | ref_hshkeystolist | refHshKeysToList |
REF_HSHLENGTH | ref_hshlength | refHshLength |
REF_ISSYMB | ref_issymb | |
REF_ISTEMP | ref_istemp | refIsTemp |
REF_ISVAR | ref_isvar | refIsvar |
REF_ITFTOSCT | ref_itftosct | refItftosct |
REF_LINE | ref_line | refLine |
REF_LOCAL_CONSTS | ref_local_consts | refLocalConsts |
REF_LOCAL_VARS | ref_local_vars | refLocalVars |
REF_MKREF | ref_mkref | |
REF_NE | ref_ne | != |
REF_NIL | ref_nil | |
REF_NUM | ref_num | refNum |
REF_PARAMS | ref_params | refParams |
REF_PROG | ref_prog | |
REF_RESINI | ref_resini | refResini |
REF_RESULT | ref_result | refResult |
REF_SCAN | ref_scan | |
REF_SCTTOLIST | ref_scttolist | refScttolist |
REF_SELECT | ref_select | a->stru[b] |
REF_SETCATEGORY | ref_setcategory | refSetCategory |
REF_SETPARAMS | ref_setparams | refSetParams |
REF_SETTYPE | ref_settype | refSetType |
REF_SETVAR | ref_setvar | refSetVar |
REF_STR | ref_str | refStr |
REF_SYMB | ref_symb | |
REF_TRACE | ref_trace | printf |
REF_TYPE | ref_type | refType |
REF_VALUE | ref_value | refValue |
14.26 Actions for the type ref_list
Action name | rfllib.c function | rfl_data.c function |
RFL_APPEND | rfl_append | rflAppend |
RFL_CAT | rfl_cat | rflCat |
RFL_CPY | rfl_cpy | rflCpy |
RFL_CREATE | rfl_create | rflCreate |
RFL_DESTR | rfl_destr | rflDestr |
RFL_ELEM | rfl_elem | rflElem |
RFL_ELEMCPY | rfl_elemcpy | rflElemcpy |
RFL_EMPTY | rfl_empty | |
RFL_EQ | rfl_eq | rflEq |
RFL_EXCL | rfl_excl | |
RFL_EXPR | rfl_expr | |
RFL_FOR | rfl_for | for |
RFL_FOR_UNTIL | rfl_for_until | for |
RFL_HEAD | rfl_head | rflHead |
RFL_IDX | rfl_idx | rflIdx |
RFL_INCL | rfl_incl | rflIncl |
RFL_IPOS | rfl_ipos | rflIpos |
RFL_LNG | rfl_lng | rflLng |
RFL_MKLIST | rfl_mklist | rflMklist |
RFL_NE | rfl_ne | rflNe |
RFL_NOT_ELEM | rfl_not_elem | !rflElem |
RFL_POS | rfl_pos | rflPos |
RFL_RANGE | rfl_range | rflRange |
RFL_SET_VALUE | rfl_set_value | rflSetValue |
RFL_TAIL | rfl_tail | rflTail |
RFL_TRACE | rfl_trace | |
RFL_VALUE | rfl_value | rflValue |
14.27 Actions for struct types
Action name | sctlib.c function | |
SCT_ALLOC | sct_alloc | |
SCT_CAT | sct_cat | |
SCT_CONV | sct_conv | |
SCT_CPY | sct_cpy | cpy_ ... |
SCT_CREATE | sct_create | create_ ... |
SCT_DESTR | sct_destr | destr_ ... |
SCT_EMPTY | sct_empty | |
SCT_INCL | sct_incl | |
SCT_LNG | sct_lng | |
SCT_REFIDX | sct_refidx | |
SCT_SELECT | sct_select | a->stru[b] |
14.28 Actions for set types
Action name | setlib.c function | set_rtl.c function |
SET_ARRLIT | set_arrlit | setArrlit |
SET_BASELIT | set_baselit | setBaselit |
SET_CARD | set_card | setCard |
SET_CMP | set_cmp | setCmp |
SET_CONV1 | set_conv1 | (noop) |
SET_CONV3 | set_conv3 | (noop) |
SET_CPY | set_cpy | setCpy |
SET_CREATE | set_create | setCreate |
SET_DESTR | set_destr | setDestr |
SET_DIFF | set_diff | setDiff |
SET_DIFF_ASSIGN | set_diff_assign | setDiffAssign |
SET_ELEM | set_elem | setElem |
SET_EMPTY | set_empty | |
SET_EQ | set_eq | setEq |
SET_EXCL | set_excl | setExcl |
SET_GE | set_ge | setIsSubset(b, a) |
SET_GT | set_gt | setIsProperSubset(b, a) |
SET_HASHCODE | set_hashcode | setHashCode |
SET_ICONV1 | set_iconv1 | setIConv |
SET_ICONV3 | set_iconv3 | setIConv |
SET_INCL | set_incl | setIncl |
SET_INTERSECT | set_intersect | setIntersect |
SET_INTERSECT_ASSIGN | set_intersect_assign | setIntersectAssign |
SET_LE | set_le | setIsSubset |
SET_LT | set_lt | setIsProperSubset |
SET_MAX | set_max | setMax |
SET_MIN | set_min | setMin |
SET_NE | set_ne | setNe |
SET_NEXT | set_next | setNext |
SET_NOT_ELEM | set_not_elem | !setElem |
SET_RAND | set_rand | setRand |
SET_RANGELIT | set_rangelit | setRangelit |
SET_SCONV1 | set_sconv1 | setSConv |
SET_SCONV3 | set_sconv3 | setSConv |
SET_SYMDIFF | set_symdiff | setSymdiff |
SET_UNION | set_union | setUnion |
SET_UNION_ASSIGN | set_union_assign | setUnionAssign |
SET_VALUE | set_value | setValue |
14.29 Actions for the type PRIMITIVE_SOCKET
Action name | strlib.c function | str_rtl.c function |
SOC_ACCEPT | soc_accept | socAccept |
SOC_ADDR_FAMILY | soc_addr_family | socAddrFamily |
SOC_ADDR_NUMERIC | soc_addr_numeric | socAddrNumeric |
SOC_ADDR_SERVICE | soc_addr_service | socAddrService |
SOC_BIND | soc_bind | socBind |
SOC_CLOSE | soc_close | socClose |
SOC_CONNECT | soc_connect | socConnect |
SOC_CPY | soc_cpy | = |
SOC_CREATE | soc_create | |
SOC_EMPTY | soc_empty | |
SOC_EQ | soc_eq | == |
SOC_GETC | soc_getc | socGetc |
SOC_GETS | soc_gets | socGets |
SOC_GET_HOSTNAME | soc_get_hostname | socGetHostname |
SOC_GET_LOCAL_ADDR | soc_get_local_addr | socGetLocalAddr |
SOC_GET_PEER_ADDR | soc_get_peer_addr | socGetPeerAddr |
SOC_HAS_NEXT | soc_has_next | socHasNext |
SOC_INET_ADDR | soc_inet_addr | socInetAddr |
SOC_INET_LOCAL_ADDR | soc_inet_local_addr | socInetLocalAddr |
SOC_INET_SERV_ADDR | soc_inet_serv_addr | socInetServAddr |
SOC_INPUT_READY | soc_input_ready | socInputReady |
SOC_LINE_READ | soc_line_read | socLineRead |
SOC_LISTEN | soc_listen | socListen |
SOC_NE | soc_ne | != |
SOC_ORD | soc_ord | (intType) |
SOC_RECV | soc_recv | socRecv |
SOC_RECVFROM | soc_recvfrom | socRecvfrom |
SOC_SEND | soc_send | socSend |
SOC_SENDTO | soc_sendto | socSendto |
SOC_SET_OPT_BOOL | soc_set_opt_bool | socSetOptBool |
SOC_SOCKET | soc_socket | socSocket |
SOC_WORD_READ | soc_word_read | socWordRead |
SOC_WRITE | soc_write | socWrite |
14.30 Actions for the types database and sqlStatement
Action name | sqllib.c function | sql_rtl.c function |
SQL_BIND_BIGINT | sql_bind_bigint | sqlBindBigInt |
SQL_BIND_BIGRAT | sql_bind_bigrat | sqlBindBigRat |
SQL_BIND_BOOL | sql_bind_bool | sqlBindBool |
SQL_BIND_BSTRI | sql_bind_bstri | sqlBindBStri |
SQL_BIND_DURATION | sql_bind_duration | sqlBindDuration |
SQL_BIND_FLOAT | sql_bind_float | sqlBindFloat |
SQL_BIND_INT | sql_bind_int | sqlBindInt |
SQL_BIND_NULL | sql_bind_null | sqlBindNull |
SQL_BIND_STRI | sql_bind_stri | sqlBindStri |
SQL_BIND_TIME | sql_bind_time | sqlBindTime |
SQL_CLOSE | sql_close | sqlClose |
SQL_CMP_DB | sql_cmp_db | ptrCmp |
SQL_CMP_STMT | sql_cmp_stmt | ptrCmp |
SQL_COLUMN_BIGINT | sql_column_bigint | sqlColumnBigInt |
SQL_COLUMN_BIGRAT | sql_column_bigrat | sqlColumnBigRat |
SQL_COLUMN_BOOL | sql_column_bool | sqlColumnBool |
SQL_COLUMN_BSTRI | sql_column_bstri | sqlColumnBStri |
SQL_COLUMN_DURATION | sql_column_duration | sqlColumnDuration |
SQL_COLUMN_FLOAT | sql_column_float | sqlColumnFloat |
SQL_COLUMN_INT | sql_column_int | sqlColumnInt |
SQL_COLUMN_STRI | sql_column_stri | sqlColumnStri |
SQL_COLUMN_TIME | sql_column_time | sqlColumnTime |
SQL_COMMIT | sql_commit | sqlCommit |
SQL_CPY_DB | sql_cpy_db | sqlCpyDb |
SQL_CPY_STMT | sql_cpy_stmt | sqlCpyStmt |
SQL_CREATE_DB | sql_create_db | sqlCreateDb |
SQL_CREATE_STMT | sql_create_stmt | sqlCreateStmt |
SQL_DESTR_DB | sql_destr_db | sqlDestrDb |
SQL_DESTR_STMT | sql_destr_stmt | sqlDestrStmt |
SQL_DRIVER | sql_driver | sqlDriver |
SQL_EMPTY_DB | sql_empty_db | |
SQL_EMPTY_STMT | sql_empty_stmt | |
SQL_EQ_DB | sql_eq_db | == |
SQL_EQ_STMT | sql_eq_stmt | == |
SQL_ERR_CODE | sql_err_code | sqlErrCode |
SQL_ERR_DB_FUNC | sql_err_db_func | sqlErrDbFunc |
SQL_ERR_LIB_FUNC | sql_err_lib_func | sqlErrLibFunc |
SQL_ERR_MESSAGE | sql_err_message | sqlErrMessage |
SQL_EXECUTE | sql_execute | sqlExecute |
SQL_FETCH | sql_fetch | sqlFetch |
SQL_GET_AUTO_COMMIT | sql_get_auto_commit | sqlGetAutoCommit |
SQL_IS_NULL | sql_is_null | sqlIsNull |
SQL_NE_DB | sql_ne_db | != |
SQL_NE_STMT | sql_ne_stmt | != |
SQL_OPEN_DB2 | sql_open_db2 | sqlOpenDb2 |
SQL_OPEN_FIRE | sql_open_fire | sqlOpenFire |
SQL_OPEN_INFORMIX | sql_open_informix | sqlOpenInformix |
SQL_OPEN_LITE | sql_open_lite | sqlOpenLite |
SQL_OPEN_MY | sql_open_my | sqlOpenMy |
SQL_OPEN_OCI | sql_open_oci | sqlOpenOci |
SQL_OPEN_ODBC | sql_open_odbc | sqlOpenOdbc |
SQL_OPEN_POST | sql_open_post | sqlOpenPost |
SQL_OPEN_SQLSRV | sql_open_sqlsrv | sqlOpenSqlServer |
SQL_OPEN_TDS | sql_open_tds | sqlOpenTds |
SQL_PREPARE | sql_prepare | sqlPrepare |
SQL_ROLLBACK | sql_rollback | sqlRollback |
SQL_SET_AUTO_COMMIT | sql_set_auto_commit | sqlSetAutoCommit |
SQL_STMT_COLUMN_COUNT | sql_stmt_column_count | sqlStmtColumnCount |
SQL_STMT_COLUMN_NAME | sql_stmt_column_name | sqlStmtColumnName |
14.31 Actions for the type string
Action name | strlib.c function | str_rtl.c function |
STR_APPEND | str_append | strAppend |
STR_CAT | str_cat | strConcat, strConcatTemp |
STR_CHIPOS | str_chipos | strChIpos |
STR_CHPOS | str_chpos | strChPos |
STR_CHSPLIT | str_chsplit | strChSplit |
STR_CLIT | str_clit | strCLit |
STR_CMP | str_cmp | strCompare |
STR_CPY | str_cpy | strCopy |
STR_CREATE | str_create | strCreate |
STR_DESTR | str_destr | strDestr |
STR_ELEMCPY | str_elemcpy | a->mem[b-1]=c |
STR_EQ | str_eq | a->size==b->size && memcmp(a,b,a->size*sizeof(strElemType))==0 |
STR_FOR | str_for | for |
STR_FOR_KEY | str_for_key | for |
STR_FOR_VAR_KEY | str_for_var_key | for |
STR_FROM_UTF8 | str_from_utf8 | strFromUtf8 |
STR_GE | str_ge | strGe |
STR_GT | str_gt | strGt |
STR_HASHCODE | str_hashcode | strHashCode |
STR_HEAD | str_head | strHead |
STR_IDX | str_idx | a->mem[b-1] |
STR_IPOS | str_ipos | strIpos |
STR_LE | str_le | strLe |
STR_LIT | str_lit | strLit |
STR_LNG | str_lng | a->size |
STR_LOW | str_low | strLow, strLowTemp |
STR_LPAD | str_lpad | strLpad |
STR_LPAD0 | str_lpad0 | strLpad0, strLpad0Temp |
STR_LT | str_lt | strLt |
STR_LTRIM | str_ltrim | strLtrim |
STR_MULT | str_mult | strMult |
STR_NE | str_ne | a->size!=b->size || memcmp(a,b,a->size*sizeof(strElemType))!=0 |
STR_POS | str_pos | strPos |
STR_POSCPY | str_poscpy | memcpy |
STR_PUSH | str_push | strPush |
STR_RANGE | str_range | strRange |
STR_RCHIPOS | str_rchipos | strRChIpos |
STR_RCHPOS | str_rchpos | strRChPos |
STR_REPL | str_repl | strRepl |
STR_RIPOS | str_ripos | strRIPos |
STR_RPAD | str_rpad | strRpad |
STR_RPOS | str_rpos | strRpos |
STR_RTRIM | str_rtrim | strRtrim |
STR_SPLIT | str_split | strSplit |
STR_STR | str_str | (noop) |
STR_SUBSTR | str_substr | strSubstr |
STR_SUBSTR_FIXLEN | str_substr_fixlen | strSubstrFixLen |
STR_TAIL | str_tail | strTail |
STR_TO_UTF8 | str_to_utf8 | strToUtf8 |
STR_TRIM | str_trim | strTrim |
STR_UP | str_up | strUp, strUpTemp |
STR_VALUE | str_value | strValue |
14.32 Actions for the type time
Action name | timlib.c function | tim_unx.c/tim_win.c function |
TIM_AWAIT | tim_await | timAwait |
TIM_FROM_TIMESTAMP | tim_from_timestamp | timFromTimestamp |
TIM_NOW | tim_now | timNow |
TIM_SET_LOCAL_TZ | tim_set_local_tz | timSetLocalTZ |
14.33 Actions for the type type
Action name | typlib.c function | typ_data.c function |
TYP_ADDINTERFACE | typ_addinterface | |
TYP_CMP | typ_cmp | typCmp |
TYP_CPY | typ_cpy | typCpy |
TYP_CREATE | typ_create | typCreate |
TYP_DESTR | typ_destr | typDestr |
TYP_EQ | typ_eq | == |
TYP_FUNC | typ_func | typFunc |
TYP_GENSUB | typ_gensub | |
TYP_GENTYPE | typ_gentype | |
TYP_HASHCODE | typ_hashcode | (intType)(((memSizeType)a)>>6) |
TYP_ISDECLARED | typ_isdeclared | |
TYP_ISDERIVED | typ_isderived | typIsDerived |
TYP_ISFORWARD | typ_isforward | |
TYP_ISFUNC | typ_isfunc | typIsFunc |
TYP_ISVARFUNC | typ_isvarfunc | typIsVarfunc |
TYP_MATCHOBJ | typ_matchobj | typMatchobj |
TYP_META | typ_meta | typMeta |
TYP_NE | typ_ne | != |
TYP_NUM | typ_num | typNum |
TYP_RESULT | typ_result | typResult |
TYP_SET_IN_PARAM_REF | typ_set_in_param_ref | |
TYP_SET_IN_PARAM_VALUE | typ_set_in_param_value | |
TYP_STR | typ_str | typStr |
TYP_VALUE | typ_value | typValue |
TYP_VARCONV | typ_varconv | |
TYP_VARFUNC | typ_varfunc | typVarfunc |
14.34 Actions for the type utf8File
Action name | ut8lib.c function | ut8_rtl.c function |
UT8_GETC | ut8_getc | ut8Getc |
UT8_GETS | ut8_gets | ut8Gets |
UT8_LINE_READ | ut8_line_read | ut8LineRead |
UT8_SEEK | ut8_seek | ut8Seek |
UT8_WORD_READ | ut8_word_read | ut8WordRead |
UT8_WRITE | ut8_write | ut8Write |