#include "monitor.h" /* I know these are not void, however, I need to define the symbols for the monitor table, so... */ extern void act_compile(); extern void addvar(); extern void alpha(); extern void alphanum(); extern void assignment(); extern void cclass(); extern void compile(); extern void decl(); extern void declist(); extern void doaction(); extern void dopattern(); extern void endfile(); extern void error(); extern void expr1(); extern void expr2(); extern void expr3(); extern void expr4(); extern void expr5(); extern void expr6(); extern void expr7(); extern void expr8(); extern void expr9(); extern void expr10(); extern void expression(); extern void fillmem(); extern void findvar(); extern void function(); extern void getcharacter(); extern void getline(); extern void getmem(); extern void getoken(); extern void instr(); extern void isfunction(); extern void iskeyword(); extern void main(); extern void match(); extern void movemem(); extern void newfile(); extern void parse(); extern void pat_compile(); extern void pmatch(); extern void pop(); extern void popint(); extern void postincdec(); extern void preincdec(); extern void primary(); extern void process(); extern void push(); extern void pushint(); extern void re_compile(); extern void skip(); extern void skipstatement(); extern void statement(); extern void stmt_compile(); extern void str_compile(); extern void syntaxerror(); extern void ungetcharacter(); extern void unparse(); extern void usage(); mon_table mon_tbl[] = { { NULL, " system", 0 }, MON_NAME( act_compile ), MON_NAME( addvar ), MON_NAME( alpha ), MON_NAME( alphanum ), MON_NAME( assignment ), MON_NAME( cclass ), MON_NAME( compile ), MON_NAME( decl ), MON_NAME( declist ), MON_NAME( doaction ), MON_NAME( dopattern ), MON_NAME( endfile ), MON_NAME( error ), MON_NAME( expr1 ), MON_NAME( expr2 ), MON_NAME( expr3 ), MON_NAME( expr4 ), MON_NAME( expr5 ), MON_NAME( expr6 ), MON_NAME( expr7 ), MON_NAME( expr8 ), MON_NAME( expr9 ), MON_NAME( expr10 ), MON_NAME( expression ), MON_NAME( fillmem ), MON_NAME( findvar ), MON_NAME( function ), MON_NAME( getcharacter ), MON_NAME( getline ), MON_NAME( getmem ), MON_NAME( getoken ), MON_NAME( instr ), MON_NAME( isfunction ), MON_NAME( iskeyword ), MON_NAME( main ), MON_NAME( match ), MON_NAME( movemem ), MON_NAME( newfile ), MON_NAME( parse ), MON_NAME( pat_compile ), MON_NAME( pmatch ), MON_NAME( pop ), MON_NAME( popint ), MON_NAME( postincdec ), MON_NAME( preincdec ), MON_NAME( primary ), MON_NAME( process ), MON_NAME( push ), MON_NAME( pushint ), MON_NAME( re_compile ), MON_NAME( skip ), MON_NAME( skipstatement ), MON_NAME( statement ), MON_NAME( stmt_compile ), MON_NAME( str_compile ), MON_NAME( syntaxerror ), MON_NAME( ungetcharacter ), MON_NAME( unparse ), MON_NAME( usage ) }; long mon_tabsize = sizeof( mon_tbl ) / sizeof( mon_table ); Listing 5 - bawkmon.c