/usr/include/gap/stats.h is in gap-dev 4r6p5-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | /****************************************************************************
**
*W stats.h GAP source Martin Schönert
**
**
*Y Copyright (C) 1996, Lehrstuhl D für Mathematik, RWTH Aachen, Germany
*Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland
*Y Copyright (C) 2002 The GAP Group
**
** This file declares the functions of the statements package.
**
** The statements package is the part of the interpreter that executes
** statements for their effects and prints statements.
*/
#ifndef GAP_STATS_H
#define GAP_STATS_H
/****************************************************************************
**
*F EXEC_STAT(<stat>) . . . . . . . . . . . . . . . . . . execute a statement
**
** 'EXEC_STAT' executes the statement <stat>.
**
** If this causes the execution of a return-value-statement, then
** 'EXEC_STAT' returns 1, and the return value is stored in 'ReturnObjStat'.
** If this causes the execution of a return-void-statement, then 'EXEC_STAT'
** returns 2. If this causes execution of a break-statement (which cannot
** happen if <stat> is the body of a function), then 'EXEC_STAT' returns 4.
** Otherwise 'EXEC_STAT' returns 0.
**
** 'EXEC_STAT' causes the execution of <stat> by dispatching to the
** executor, i.e., to the function that executes statements of the type of
** <stat>.
*/
#define EXEC_STAT(stat) ( (*ExecStatFuncs[ TNUM_STAT(stat) ]) ( stat ) )
/****************************************************************************
**
*V ExecStatFuncs[<type>] . . . . . . executor for statements of type <type>
**
** 'ExecStatFuncs' is the dispatch table that contains for every type of
** statements a pointer to the executor for statements of this type, i.e.,
** the function that should be called if a statement of that type is
** executed.
*/
extern UInt (* ExecStatFuncs[256]) ( Stat stat );
/****************************************************************************
**
*V CurrStat . . . . . . . . . . . . . . . . . currently executed statement
**
** 'CurrStat' is the statement that is currently being executed. The sole
** purpose of 'CurrStat' is to make it possible to point to the location in
** case an error is signalled.
*/
extern Stat CurrStat;
/****************************************************************************
**
*F SET_BRK_CURR_STAT(<stat>) . . . . . . . set currently executing statement
*F OLD_BRK_CURR_STAT . . . . . . . . . define variable to remember CurrStat
*F REM_BRK_CURR_STAT() . . . . . . . remember currently executing statement
*F RES_BRK_CURR_STAT() . . . . . . . . restore currently executing statement
*/
#ifndef NO_BRK_CURR_STAT
#define SET_BRK_CURR_STAT(stat) (CurrStat = (stat))
#define OLD_BRK_CURR_STAT Stat oldStat;
#define REM_BRK_CURR_STAT() (oldStat = CurrStat)
#define RES_BRK_CURR_STAT() (CurrStat = oldStat)
#endif
#ifdef NO_BRK_CURR_STAT
#define SET_BRK_CURR_STAT(stat) /* do nothing */
#define OLD_BRK_CURR_STAT /* do nothing */
#define REM_BRK_CURR_STAT() /* do nothing */
#define RES_BRK_CURR_STAT() /* do nothing */
#endif
/****************************************************************************
**
*V ReturnObjStat . . . . . . . . . . . . . . . . result of return-statement
**
** 'ReturnObjStat' is the result of the return-statement that was last
** executed. It is set in 'ExecReturnObj' and used in the handlers that
** interpret functions.
*/
extern Obj ReturnObjStat;
extern UInt TakeInterrupt();
/****************************************************************************
**
*F InterruptExecStat() . . . . . . . . interrupt the execution of statements
**
** 'InterruptExecStat' interrupts the execution of statements at the next
** possible moment. It is called from 'SyAnsIntr' if an interrupt signal is
** received. It is never called on systems that do not support signals. On
** those systems the executors test 'SyIsIntr' at regular intervals.
*/
extern void InterruptExecStat ( );
/****************************************************************************
**
*F PrintStat(<stat>) . . . . . . . . . . . . . . . . . . . print a statement
**
** 'PrintStat' prints the statements <stat>.
**
** 'PrintStat' simply dispatches through the table 'PrintStatFuncs' to the
** appropriate printer.
*/
extern void PrintStat (
Stat stat );
/****************************************************************************
**
*V PrintStatFuncs[<type>] . . print function for statements of type <type>
**
** 'PrintStatFuncs' is the dispatching table that contains for every type of
** statements a pointer to the printer for statements of this type, i.e.,
** the function that should be called to print statements of this type.
*/
extern void (* PrintStatFuncs[256] ) ( Stat stat );
/****************************************************************************
**
*F * * * * * * * * * * * * * initialize package * * * * * * * * * * * * * * *
*/
/****************************************************************************
**
*F InitInfoStats() . . . . . . . . . . . . . . . . . table of init functions
*/
StructInitInfo * InitInfoStats ( void );
#endif // GAP_STATS_H
/****************************************************************************
**
*E stats.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here
*/
|